If the Grub boot-loader resides on the MBR of any disk other than the first (per BIOS’ detection,) you may encounter a issue where Grub does not refer to the first BIOS-bootable disk as (hd0).
I had to trick Grub into mapping my first SATA drive (detected as (hd1) by Grub) as the first boot device, in order for Windows to boot properly:
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,1) # kernel /vmlinuz-version ro root=/dev/sdc4 # initrd /initrd-[generic-]version.img #boot=/dev/sdc default=1 timeout=5 splashimage=(hd0,1)/grub/splash.xpm.gz #hiddenmenu title Windows XP rootnoverify (hd1,0) map (hd1) (hd0) map (hd0) (hd1) chainloader +1 title Fedora (2.6.33.5-112.fc13.i686.PAE) root (hd0,1) kernel /vmlinuz-2.6.33.5-112.fc13.i686.PAE ro root=UUID=0d416a7b-cce0-4cbe-a17e-53398af6b943 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet initrd /initramfs-2.6.33.5-112.fc13.i686.PAE.img