I just finished using preupgrade for the first time, to go from Fedora 14 directly to 16. I run a dual-boot laptop with Windows 7 in its first partition. The upgrade installer worked fine, rebooting did the upgrade, but it concluded with an error stating that the boot loader was not installed successfully and the system won't boot.
I've read about the problems with RAID systems, in which there may be not enough space in the MBR for the Grub2 core image. I do not see how this could be my problem; the original Grub was preserved, so I could still boot my Windows 7, but indeed there was no way to boot Fedora.
I learned a lot about Grub in order to fix this. I had to manually control Grub using the command line, and eventually succeeded in getting it to boot. I thought I would record the steps here for people's edification, because I sure wish I could have found some simple instructions instead of poring over tidbits for 2 days.
Anyway, there are 4 main commands you will have to provide to Grub if this happens to you. First of all type 'c' to get a Grub command line. The first command to use is root. The syntax is:
root(hdX, Y)
where X is the number of your hard drive (zero is first) and Y is the number of your boot partition (zero is first).
You can use the Tab key during a partially entered Grub command to get a list of possible completions.
After setting the root partition, you then use kernel. The syntax is:
kernel vmlinuz(complete file name) ro root=(name of root device in /dev)
To find the name of the root device, you can look in your old grub.conf file, it is in the header. To do this, you may have to burn a Fedora Live CD as I did, so you could mount your Fedora filesystem and read the configuration file in a text editor. I plan to keep a mirror of grub.conf on my Windows partition from now on so I don't have to bother with this in the future.
The above kernel file syntax works if you have a separate /boot partition. If not you have to prefix with /boot/
Next set the init file using:
initrd initramfs(complete file name)
The last step is to enter
boot
And if you got all the previous steps right the system will boot and be OK. Once you've successfully booted your system you can enter all this information in a new entry in Grub's menu.lst and the next time you won't have to go through the manual boot steps.
I have no idea what will happen if I install the next kernel upgrade; I'm told that Fedora 16 is moving entirely to Grub2 so it may not update the Grub legacy correctly. I'm still trying to figure out how to manually upgrade to Grub2 in my MBR, and I will report on that in the near future.