Problem boot opensuse12.2 win7 gpt uefi boot grub2-efi

Hi,
I’m trying to install a dual boot windows 7 and formed by using opensuse 12.2.
I have hp 650 with firmware efi.
This is the step to install:

  • Install win7 use gpt partition (create 3 partition -> boot efi fat 32, 100mb system reserved, system win7);
  • install opensuse launch cd/dvd efi mode start with elilo;
    -use manual configuration (create 3 partition on free space -> swap 2gb, 20 gb / partition, 170gb home partition, and mount efi boot partition but don’t format)
  • specify grub2-efi boot loader on installation

Now linux boot but win 7 don’t boot. I read this
http://forums.opensuse.org/content/105-booting-opensuse-uefi-bios-elilo-grub2-windows-dual-boot.html
and create manual menuentry because grub2 don’t automatically view microsoft system.
I need your help to write an correct menuentry for windows.

Thanks, sorry for my bad english

parted -l show this

Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt_sync_mbr

Number Start End Size File system Name Flags
1 1049kB 106MB 105MB fat32 EFI system partition boot
2 106MB 240MB 134MB Microsoft reserved partition msftres
3 240MB 294GB 293GB ntfs Basic data partition
4 294GB 296GB 2154MB linux-swap(v1) primary
5 296GB 317GB 21,5GB ext4 primary
6 317GB 500GB 183GB ext4 primary

Hello, welcome here.

To make your computer text readable in posts, please you CODE tags around them You get CODE tags by using the # button in the toolbar above the post editor.

Below see some of my system:

boven:~ # parted -l
Model: ATA Hitachi HDT72503 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  2155MB  2155MB  primary   linux-swap(v1)  type=82
 2      2155MB  23.6GB  21.5GB  primary   ext4            type=83
 3      23.6GB  123GB   99.7GB  primary   ext4            type=83
 4      123GB   320GB   197GB   extended                  boot, lba, type=0f
 5      123GB   145GB   21.5GB  logical   ext4            type=83
 6      145GB   252GB   107GB   logical   ext4            type=83


boven:~ # 

I hope you see tthe difference. Columns still there, command vissible (no need to tell which command you used), etc.

Boot from any live disk that has gdisk included (e.g. systemrecsuecd), then follow https://forums.opensuse.org/english/get-technical-help-here/install-boot-login/478260-trouble-dual-booting-12-2-windows-7-efi-enabled-system-5.html#post2489710

Actually, you could read above thread in full, it may be useful.

I read both guide but don’t work.
I need help to write a menuentry for boot windows in grub2-efi in file

*/etc/grub.d/40_custom*

for this table partition

Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt_sync_mbr

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  106MB  105MB   fat32           EFI system partition          boot
 2      106MB   240MB  134MB                   Microsoft reserved partition  msftres
 3      240MB   294GB  293GB   ntfs            Basic data partition
 4      294GB   296GB  2154MB  linux-swap(v1)  primary
 5      296GB   317GB  21,5GB  ext4            primary
 6      317GB   500GB  183GB   ext4            primary


because the menuentry for windows in this guide http://forums.opensuse.org/content/105-booting-opensuse-uefi-bios-elilo-grub2-windows-dual-boot.html don’t work.

Does your Windows boot when you select it in UEFI boot menu?

when the pc star windows star the recovery but crash and returns boot efi image and I select opensuse. After that appears grub menu.

In this case read once more the link I gave you. Before you can add Windows menu entry to grub2 you need to make it boot again. Link explains how to do it.

ok but now win7 don’t start because is corrupted. why??

I install win7 with efi mode dvd but don’t create gpt why??

Because you didn’t install Win7 in EFI mode. You just intended to and probably did everything correctly: blank the MBR, set the right priority, so that it boots the UEFI device and not the legacy one, booted Windows install DVD, launched the setup … and when it was done, noticed that it created a MBR and installed accordingly, instead of a GPT. It is not supposed to do that of course, but it does … or it might. At least it did a couple times for me.

Now you could try again = reinstall Windows in UEFI mode over this MBR installation. The setup will refuse to install in this mode because of the MBR. At this point, you can tell it to delete the entire disk, and this time it will create a GPT an install in EFI mode.

I’m not sure why. I cannot say that I could reproduce this behaviour every time, but it happened surely more than once. Maybe, when the disk is blank and you boot in UEFI mode, Windows stupidely creates a MBR - while it should create a GPT- and this probably not on everyone’s machine.

You should do things in this order:

  • Install Windows - if necessary more than once, until you get it installed in UEFI mode (you get a GPT disk and an EFI partition)
  • Fix the size of the unique partition in protective MBR, as explained in the link provided earlier by @arvidjaar
  • Install openSUSE (make sure you boot the 64 bit install DVD in UEFI mode) and use/mount the ESP created by Windows.

It requires some work, but is is doable.

Later you might have to manually add a boot entry for Windows in Grub menu, but that’s the easy part.

I think it is language problem. Both partition table and the very fact that Windows is present in UEFI boot menu indicate EFI installation.

You’re right. I didn’t scroll up to the other posts. Sorry.

I fully agree with you, and install grub item manually is not a problem now.

I do not understand how can I tell if win 7 is using gpt.

If I lunch win7 install with efi modo he create 3 partition (efi boot, systema reserv, system), while if I lunch win7 install whitout efi mode he create 2 partition system reserve e system, but in both cases he create mbr not gpt. Why??

My win 7 is windows 7 enterprice whitout sp1.

GPT still has protective MBR.

The article you read and mentioned in your first post contains pictures of diskpart and Windows disk manager, which clearly show the differences.

You just answered your first question. It seems to me that you understood the difference between Windows UEFI and legacy installation. That’s it! I allowed myself to highlight your quote in bold in order to show others your important discovery. :wink:

As for your second question, It creates a (protective) MBR for compatibility reasons with older programs (such as fdisk for example) which are not able to read GPT. It can also alternatively use this MBR to boot legacy system, in which case, it uses an “hybrid” MBR, with 4 partition entries instead of one - but we don’t like to see this in Linux/Windows dual boot (but it’s pretty common on Apple hardware to multiboot OSX with Windows or legacy Linux).

then the procedure I do is right.

summarize:
-install win7 (with support efi dvd)
-he crate 3 partition ( efi boot, system reserved, system)
-install opensuse (with support efi dvd ->start lilo boot)

  • create manual partitioning (swap, /, home)
  • mount (don’t format) boot/efi efi boot partition
  • install bootloader grub2-efi

When installation have finish win 7 don’t boot because is corrupted

You missed a step*. Read @arvidjaar’s post following a link he provided earlier and show us the output of

# fdisk -l

If your protective MBR has turned into an hybrid MBR - after openSUSE setup - , you have the answer why Windows doesn’t boot anymore. The link @arvidjaar provided describes the solution.

  • Notice that this step might be (unfortunately) required because you installed Windows and Linux on the SAME HDD. This is not the case in my article, which describes the installation of Windows7 and openSUSE (actually 12.1) on 2 different HDDs.

  • Although fdisk doesn’t support GPT, it is still very useful to tell if the MBR is “protective” or “hybrid”.

See my previous post:

Otherwise, yes. You did it right. You just missed this one step in the middle. :frowning: