Page 3 of 10 FirstFirst 12345 ... LastLast
Results 21 to 30 of 96

Thread: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

  1. #21

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    I have the exact same same problem with the exact same messages and results, and have tried many many things, and I have just at this instant finally made a win7/12.2 dual boot system. It is a round-about method that may only work on hp desktops with this version uefi, but it is working. I came to the conclusion that the opensuse12.2 install damages something that the win7 bootloader looks at, so it refuses to load. I am writing a more detailed explanation and will post it later (I'm at work and we have a pressing problem).

    The quick explanation is: 1) install win7 2) shrink OS to make space 3) partition space with a 200mb fat32 and all linux parts (os,swap,extra) as raw, no drive/no format/no mount 4) install suse12.2 with 200mb fat32 as /boot, dont touch any win7 parts 5) now install win7 again 6) do step 2 and 3 *EXACTLY* as you did the first time (suse12.2 will be there in perfect condition, the win7 install didn't hurt it) 7) use the system uefi bios escape to select the image to boot, and pick the suse grub2-efi core.efi 8) once in suse, use efibootmgr to install the 12.2 bootloader into the system uefi. make it first (9) edit the /etc/grub.d/40_custom as described earlier to point to the win7 bootloader.

    I'll post more detail later.

  2. #22

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    Here is more detail.

    I have been following this thread with interest because I have the exact same problem not being able to dual boot win7, getting the "Windows is loading files" recovery message and the reverting back to the launch normally screen or the grub screen. I have loaded and reloaded both systems many times, and I finally found a way that works for me, and I can now dual boot 12.2 and win7 from the grub screen.

    I have come to the conclusion that the opensuse12.2 install damages something that the win7 bootloader looks at, so it refuses to load. The only thing I noticed is that win7 has a protective MBR that has 1 partition that covers the whole disk, and after 12.2 install I have a Hybrid MBR.
    I used gdisk to save the initial gpt and mbr and then restore later, but I never got back to the initial protective mbr. So, I was going to try to "dd" copy the whole front of the disk and restore it so I could get a win7 boot, and try to add 12.2 boot to the win boot manager. I never tried that since the following worked for me.

    This is a horribly round-about method, and maybe is limited to my brand system/uefi. I'm not an expert, just got a lot of info from everyone on these forums and kept trying. At any rate, here is what worked for me. I will leave out all the many many things I tried that did not work so this looks simpler.

    My system is a new Desktop HP Pavilion HPE model h8-1360t, core i7-3770, just bought 2 weeks ago. It is UEFI and GPT. It will allow legacy boot, but uefi *always* comes first, and my hp win7 is strictly efi/gpt and cannot be installed any other way from the recovery disks, they always set up efi/gpt. I made a set of system recovery disks, bought a new hard drive, removed the original drive and installed the new drive.

    The quick explanation is: 1) install win7 2) shrink OS to make space 3) partition space with a 200mb fat32 and all linux parts (os,swap,extra) as raw, no drive/no format/no mount 4) install suse12.2 with 200mb fat32 as /boot, dont touch any win7 parts 5) now install win7 again 6) do step 2 and 3 *EXACTLY* as you did the first time (suse12.2 will be there in perfect condition, the win7 install didn't hurt it) 7) use the system uefi bios escape to select the image to boot, and pick the suse grub2-efi core.efi 8) once in suse, use efibootmgr to install the 12.2 bootloader into the system uefi. make it first (9) edit the /etc/grub.d/40_custom as described earlier to point to the win7 bootloader.

    Here is each step in more detail.

    Step 1

    Disconnected network so computer is isolated (don't want updates to spoil new compact install before I can shrink it). I restored win7 from the recovery disks, the only option was factory reset, which partitions the disk in gpt, and uses the entire disk.

    Step 2

    I booted into win7, and went directly to disk management. It showed a 100mb EFI sys partition,
    a 980Gb OS (C partition, and a 19GB HP_Recovery partition, which took up the entire disk.

    Write down the *EXACT* numbers you use here, in the shrink, and in the partitioning. You will need to do this in the *EXACT* same way after you reload win7 again and lose the partitioning.
    I shrank the OS to 203GB, leaving about 780GB to partition for suse12.2. Here is what I did, with a lot of extra partitions because I was experimenting, and was making "dd" copies of win7 partitions to try some other things. You won't need most of these, but I am including it all here.
    (a) shrank to 203gb

    Step 3

    (b) made partition 300mb, fat32,no drive/mount (c) made partition 300mb ntfs, no drive/mount (d) made partition 31gb, no format/drive/mount for 12.2 install (e) made partition 31gb, no format/drive/mount for future linux install (f) made partition 17gb, no format/drive/mount for linux swap (g) made partition 300mb, no format/drive/mount for testing (h) made the rest 634.8gb partition no format/drive/mount for testing.

    To make the fat32 partitions I had to first make them ntfs (only form allowed) and then go back and reselect them to change the format to fat32.

    I rebooted the machine to be sure it all went ok and everything came back normal.

    (I them booted parted magic and did various backups of mbr and gpt, dd copies of the front of the disk, anticipating more trials and tests. I did not need any of this, but it was interesting to see the "fdisk -l" and the "gdisk /dev/sda" print of the gpt table. I have 11 partitions, the 3 original that showed up, the msft res partition that was invisible in win7, and the 7 that I created.

    Code:
    sda1 100mb efi system, 
    sda2 msft reserv, 
    sda3 203gb win7 OS c:, 
    sda4 my 300mb fat32, 
    sda5 my 300mb ntfs, 
    sda6 my 31gb linux for 12.2, 
    sda7 my 31gb for next linux sys, 
    sda8 my 17gb for linux swap, 
    sda9 my 300mb for test, 
    sda10 my 634mb for test, 
    sda11 orig hp ntfs recovery
    Step 4

    Install suse12.2. Don't use the windows efi (sda1), don't mount it, nothing. For me, I set "/" to be my 31gb partition (/dev/sda6) and swap was the 17gb partition (/dev/sda8), No other partitions were touched, no format, no mount. I did not make a separate /boot partition at all, just let it install in "/". (I intended to use /dev/sda4, but forgot. I will try this on another test.)

    Now suse12.2 boots, but I am never able to get win7 to boot, get all the same messages about something changed, but it is never able to recover, exactly as described earlier in this thread.

    Step 5

    Install win7 again. I can only choose factory reset, so it partitions the disk into 4 pieces, but it is a efi/gpt install and it creates a protective mbr of 1 giant partition, but a gpt of 4 partition. Win7 boots fine.

    Step 6

    It turns out the the win7 install just wrote what it needs, and actually did not harm anything physically on the disk, so 12.2 is still there, but we need to recreate the gpt partition table *EXACTLY* as it was before we installed 12.1.

    So do step 2, shrink the os *EXACTLY* as you did it before. Then do step 3, create new partitions *EXACTLY* as you did it before.

    It won't boot 12.2, but it still boots win7.

    Step 7

    On my machine, I can hit the escape key and get a bios menu that allows me to run a "UEFI Application". It will browse fat32 partitions.

    I boot linux parted magic disk. I mounted /dev/sda6 (12.2 "/") and /dev/sda4 ( fat32 ).
    I copied everything from /sda6/boot to /sda4.

    Code:
    mkdir /sda6
    mkdir /sda4
    mount /dev/sda6 /sda6
    mount /dev/sda4  /sda4;
    cd /sda6
    cp -a boot /sda4
    I copied everything from /sda6/boot to /sda4.

    I got (i think) 3 errors saying it couldn't make softlinks on a fat system. No problem.

    Now I rebooted, hit the escape key, and went to bios menu item "UEFI Application". It saw the original win7 fat32 at sda1, and now also the fat32 at sda4. I went through the directory structure to grub2-efi, then to x86_64-efi and finally got to the bootloader "core.efi". I selected it, and the green grub boot select screen came up, and suse12.2 booted up just fine.

    Step 8

    Now in 12.2 as root, I needed to put that boot path into the system uefi bios. Use efibootmgr for this.

    efibootmgr -c -p 4 -L wklabel -l \\grub2-efi\\x86_64-efi\\core.efi

    This put it into the system, it made it the first boot option (ahead of windows boot manager).

    I rebooted, and suse12.2 grub boot select screen came up.

    Step 9

    Now I needed to get the select screen to show a windows boot that would work. As noted earlier in thread, you can edit the /etc/grub.d/40_custom file to do this. You need to know the disk id. I mounted the win7 efi partition sda1 to find this out.

    Code:
    mkdir /tmp/sda1
    mount /dev/sda1 /tmp/sda1
    grub2-probe  --target=fs_uuid /tmp/sda1
    umount /tmp/sda1
    This gave me the value 96AA-8BDA

    I put these lines into /etc/grub.d/40_custom

    Code:
    menuentry "wk MSOFT" {
        insmod part_gpt
        insmod ntfs
        insmod fat
        insmod search_fs_uuid
        insmod chain
        search --fs-uuid  --no-floppy  --set root  96AA-8BDA
        chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
    }
    Updated the grub.cfg on the fat32 partition on sda4

    Code:
    mkdir /sda4
    mount /dev/sda4 /sda4
    grub2-efi-mkconfig > /sda4/grub2-efi/grub.cfg
    umount /sda4
    Remember to umount any disk written on.

    Thats the end. It boots up the grub boot select screen, and shows Suse, the bad win7 entry that never works, and my new entry "wk msoft" that boots win7.

    I am going to try this again on another disk to see if I can place the suse12.2 /boot on a fat32 partition so I don't need to copy it over, and can work on it directly instead of mounting it.

    I hope this helps.
    --

  3. #23
    Join Date
    Sep 2012
    Posts
    4,972

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    Quote Originally Posted by wkolar View Post
    The only thing I noticed is that win7 has a protective MBR that has 1 partition that covers the whole disk, and after 12.2 install I have a Hybrid MBR.
    Thank you! I vaguely expected something like this.
    Quote Originally Posted by wkolar View Post
    So, I was going to try to "dd" copy the whole front of the disk and restore it so I could get a win7 boot, and try to add 12.2 boot to the win boot manager. I never tried that since the following worked for me.
    It would be valuable experience. You actually just need to dd the very first sector (512 bytes). Have you also compared GPT before and after? openSUSE installation may gave changed partition GUIDs, and this may have upset Windows bootloader as well.

    As you now have proof that openSUSE mangles existing partition table, you should by all means open bug report. The problem is serious enough to get attention.

  4. #24

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    Is everyone dual booting openSUSE 12.2 and Windows in EFI mode having these kind of problems, or does it happen only on a limited number of systems?

  5. #25

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    Quote Originally Posted by wkolar View Post
    I have come to the conclusion that the opensuse12.2 install damages something that the win7 bootloader looks at, so it refuses to load. The only thing I noticed is that win7 has a protective MBR that has 1 partition that covers the whole disk, and after 12.2 install I have a Hybrid MBR.
    Yes. It's an old openSUSE bug. I already mentioned it in this article which is about 12.1: Booting openSUSE on UEFI BIOS with ELILO and Grub2 (part II - Windows dual-boot ). And the bug existed also in 11.4.

    Allow me to quote myself:

    Occasionally, openSUSE 12.1 (as 11.4 before) overwrites the protective MBR with a hybrid MBR loosely based on the GUID partition table. I read it on Rod Smith's site (Booting from GPT), couldn't believe it, but after I installed openSUSE after Windows a dozen of times, I came to the same conclusion. If this happens, Windows will fail to start, saying that “A recent hardware of software change might be the cause” and recommend to launch “Startup Repair” - which you won't have if you installed Windows yourself.
    I don't have a 12.2/Windows machine, sorry, not even a single UEFI machine with 12.2. I can't really help here.

  6. #26
    Join Date
    Sep 2012
    Posts
    4,972

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    Quote Originally Posted by please_try_again View Post
    Yes. It's an old openSUSE bug
    Do you have bug number?

  7. #27

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    But I should say that ... at some point, I managed to install openSUSE without the hybrid MBR. The main difference is that I had to install ELILO, because there wasn't another choice of UEFI boot loader under 12.1. Then I installed Grub2 with my updateGrub2 script (and kept ELILO because it didn't bother). This system is still dual booting fine with Grub2 (openSUSE 12.1 + Windows7).

  8. #28

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    Quote Originally Posted by arvidjaar View Post
    Do you have bug number?
    No, I read that first in Rod Smith's article (he was talking about 11.4) and experienced it myself under 12.1. I can not fill a bug report for everything, or I will just spend my time submitting bug reports. I'm sorry (just too busy fixing bugs myself - but I'm writing bug reports too, trust me!). I agree that there should be a bug report. Maybe there is one, since the issue is not new.

    To those who can afford it, I would suggest blanking everything (at least MBR and GPT headers, thus the first track), installing Windows, installing openSUSE with ELILO (which can not boot Windows), then installing Grub2 manually or with updateGrub2. I do not guarantee that it will work under 12.2 (I just fixed this script, so that it works on BIOS machines now, but I don't have a UEFI machine around here). My article about 12.1 might still provide enough info though to help people install Grub2 manually, and UEFI hasn't change. Of course, it doesn't seem to be the expected method, now that Grub2 is officially supported.

  9. #29
    Join Date
    Sep 2012
    Posts
    4,972

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    I begin to suspect what happens. openSUSE has parted patches to support Hybrid MBR. With these patches parted assumes that GPT disk has Hybrid MBR if it does not have valid Protective MBR. Looking at example in your article, protective MBR appears to be invalid. You show

    Code:
    # fdisk -l 
    WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.   
    
    Disk /dev/sda: 500.1 GB, 500107862016 bytes 
    256 heads, 63 sectors/track, 60563 cylinders, total 976773168 sectors 
    Units = sectors of 1 * 512 = 512 bytes 
    Sector size (logical/physical): 512 bytes / 512 bytes 
    I/O size (minimum/optimal): 512 bytes / 512 bytes 
    Disk identifier: 0xcece46ad
    
       Device Boot      Start         End      Blocks   Id  System 
    /dev/sda1               1  4294967295  2147483647+  ee  GPT
    So device has 976773168 sectors. It means that protective MBR must start at sector 1 and end at sector 976773167. But in your example protective partition is actually 0xffffffff - which (according to UEFI specification) must be used if device size exceeds 2TB.

    So it seems that Windows - at least, sometimes - creates protective MBR that while not being completely wrong is against specification.

    If people who had issues are willing to make clean Windows reinstall after wiping out both MBR and GPT (dd if=/dev/zero of=/dev/sda count=10 should be enough), boot into any Linux live and provide output of "fdisk -l" so that we can veify this theory. If all protective MBR come with 0xffffffff, this is trivial fix in parted to also accept this as valid.

  10. #30

    Default Re: Trouble dual booting 12.2 and Windows 7 on EFI enabled system

    What do you mean by this:

    Quote Originally Posted by arvidjaar View Post
    But in your example protective partition is actually 0xffffffff
    and where did you read this info?

Page 3 of 10 FirstFirst 12345 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •