EFI dualboot with Windows 7 and Fedora 16

Submitted by DenRaf on Sun, 02/26/2012 - 20:09

As I did a new hardware upgrade on my desktop I ended up with a EFI BIOS on my new mainboard. With installing Fedora 16 first it formatted my disk as a GPT disk, this replaces the formatting with MBR and 4 main partitions. I need a dualboot system to play a game so now and then. I decided I wanted one OS disk (SSD) and my other disks to be used as storage.

I always create my own partition layout, but this time it failed saying I did not have a correct partitioning for booting. Looking into this I found that I not only needed a /boot partition but a /boot/efi partition as well. The /boot/efi has also the EFI specific paritioning ( in the dropdown ). With applying this to the layout, the installation went on without any problems.

Then I installed my windows, everything seemed fine, but the windows could not be installed on my GPT disk. I verified that windows could be installed on a GPT disk with an EFI BIOS, checked the boot entries of bios to see everything was fine. Then when I listed my boot options menu, I saw I had an entry with my DVD rom and an entry UEFI with my DVD rom. When I selected the latter one, windows could see all partitions and could be installed just fine on my disk.

Now I the windows was installed as well and when rebooting into windows, I immediately had an entry for windows and for Fedora. All nice and well, but I prefer grub to be my bootloader.

When I check my bootorder settings in the BIOS, I saw two additional options, Fedora and Windows. I tested both and could boot both, so my grub was not overwritten by the windows bootloader. So I could chose what I wanted to boot from the bios and from the windows bootloader, but not yet from grub.

A normal windows grub item looks like:
title windows
rootnoverify (hd0,3)
chainloader +1

When trying to boot this, this ended up in a, "File not Found" error. When I searched for it on the net, I only found some options for grub2, but the default grub installed was grub-efi, which is still grub 1. Then I found that windows also added it's efi manager to the efi parition I first created for my linux. So I had:

/boot/efi/EFI/redhat
/boot/efi/EFI/Microsoft

and I noticed in my grub console I was in /boot/efi since listing did immediately showed the EFI folder. So I changed the windows grub entry into:

title windows
chainloader /EFI/Microsoft/Boot/bootmgfw.efi

Now I also can boot into windows from my grub bootloader.