I thought I'd just post my experiences in doing the above.
I had immense trouble and spent a few days before managing to accomplish this, and would like to distribute my
experience so others can benefit and not need to repeat my mistakes.
Note that my solution may be UEFI version dependant, since it uses the legacy BIOS mode of my UEFI to work - not all UEFI
as far as I can see offerrs a "legacy BIOS" boot mode on your media. Therefore your mileage may vary - the literature
seems to indicate you can dual-boot Win 7 and Fedora in normal UEFI mode, but I simply could not get that to work right,
and had to fall back on legacy BIOS mode.
My system is based on a Gigabyte GA-Z77-D3H motherboard with an Intel Core i7-3770 CPU. It has 8GB of DRAM and a
2TB Seagate Barracuda HDD.
The point of the exercise was to have the same setup I had on my older system, e. g. easily dual-boot Windows and Fedora.
So I started by installing Windows first. There was a catch here - when you start the PC, it will (of course) auto-boot
from the Windows 7 64bit DVD. Only after much travail I realised that there were two modes in which to boot the DVD -
UEFI and "legacy BIOS mode" - as referred to above. My UEFI always boots in UEFI mode, unless told otherwise.
If I left my system alone, it would always boot Windows 7's install in UEFI mode. This would then make the Windows 7
install force a GPT parition table setup when you format and parititon the disk - this GPT setup was incompatible with
GRUB as the Fedora Install in UEFI mode would always usurp Windows, and not detect it, leaving it out of the GRUB menu and therefore
unbootable (at least in my setup). So I kept ending up with a system that could only boot Fedora, not Windows, after
finishing the Fedora install.
So before even installing Windows, I had to
- A. Setup EHCI mode in my UEFI for my SATA DVD-RAM drive which I inserted the Windows disk into;
- B. Turn on my UEFI's general "legacy BIOS" / "legacy boot" mode;
- C. Interrupt the startup sequence and force the Windows DVD to boot in "BIOS mode" (not "UEFI mode");
E. g. I set up EHCI mode on my DVD-RAM drive in the UEFI, then turned on its general "legacy BIOS" mode, then saved
When my UEFI starts, you can press F12 for the boot menu. Doing this will give you a list of devices to boot from.
In my UEFI, everything was duplicated. E. g. the DVD-RAM drive appeared twice in the UEFI boot menu, one entry with a P0
at the front, and the other entry with a "UEFI" at the front. Selecting the "P0" entry, caused the boot of the Windows
7 DVD to occur in "BIOS mode". Selecting the UEFI entry causes the Windows 7 DVD to boot in "UEFI mode".
So I booted the Win 7 64bit install in BIOS mode by selecting the "P0" option. I then proceeded with the Win 7 install
and when the time came to partition, I shrunk the Windows partition to 1.5TB, leaving 500GB as "empty space"
for Fedora, which suited my purposes. Notably, when trying to partition Windows in UEFI boot mode in the Windows
installer, it would always create three GPT partitions - with a note that otherwise "Windows would not be able to boot".
In BIOS boot mode (relevant to the Windows 7 DVD) it allowed a "traditional" setup, e. g. with only one logical NTFS
partition of the size I selected.
I finished the Windows 7 install and confirmed that it can boot by "itself".
Then I did the same with Fedora as with Windows - e. g. press F12 while starting up to access my UEFI's boot menu, and
selected the "P0" entry to boot the Fedora install DVD in "BIOS mode".
When asked for partitioning decisions, I turned off LVM in the Fedora 17 installer, selected "Review" and told Fedora
to "use free space" to setup its partitions. VERY IMPORTANT - if you do this, /boot will be set to ext4 - this is WRONG.
Set /boot in the auto-created scheme to ext3, otherwise you'll have a roadblock later. Read on.
Do not adjust the partitions as auto-setup in "free space" by the Fedora 17 installer, EXCEPT for changing the type of
the /boot partition to ext3. (I also noted that if you leave the /boot parition at ext4, in my hardware setup here,
the Fedora 17 installer would crash to a black screen while trying to install the GRUB bootloader - so set ext3 or ext2
for /boot.) You may adjust sizes on the partitions, but do not change the overall arrangement / sequence.
When prompted for an install location for the bootloader (GRUB), select the "first sector of boot partition", DO NOT
PLACE GRUB IN THE MBR.
Proceed with the install, and verify that you can see that the Fedora 17 installer installs GRUB - it will say "installing
bootloader" at the very last step before telling you the install is complete and you may reboot. If you left /boot at
ext4 due to the "auto paritition in free space" as detailed above, my system crashses to a black screen at this point,
in both UEFI and BIOS modes (selected by pressing F12 when my UEFI starts on system power-on) and leaving the HDD in
a state where NOTHING (not even Windows) can still boot. So set /boot to ext3 or ext2...
Once the Fedora install is complete, reboot.
You'll note that you still automatically boot into Windows 7, even with Fedora installed. So you now need to somehow
trigger the GRUB in the first sector of /boot to get Linux started. To do this you can use the Windows bootloader.
First, download a Windows application called EasyBCD from http://neosmart.net/EasyBCD/
- open EasyBCD in Windows 7.
Add an entry, and select "Linux / BSD" as the type for it. Select "GRUB2" as boot option, and select the /boot partition
- it should be the first Linux partition you can find in the list in the EasyBCD window. Save the change, close EasyBCD,
and reboot the system.
When it starts up again, instead of going directly into Windows, you should see the Windows boot loader menu, with
Windows 7 as an option to boot, or Fedora (it might say "NEOSmart Linux" unless you changed the title while making the
entry in EasyBCD). Now, if you select to boot into Fedora, it should work, and Windows as well, if you select it.
What is supposed to happen is that the Windows boot loader jumps into the first sector of /boot, finds GRUB, and starts it
up, which in turn starts the kernel. If you select Windows, it just boots Windows as normal.
Some resources on the net also state that it is possible to select to boot Windows 7 and Fedora direct out of the
"F12 menu" / boot menu in the UEFI, if you install both in UEFI mode, but I could not get this to work. BIOS / legacy
boot and install DOES work, at least in my unique situation / hardware config.
Anyway, hope this helps somebody. I had to retry about eight times (over several days) before I managed to get the above
right and working, hopefully my ideas here will help somebody else.