Boot Failure When Fedora 12 Grub Installs to non-MBR Partition
November 17th, 2009 ~ 10:53pm
I prefer to keep Windows on the MBR. So I install grub to a separate partition. I then allow the Windows Loader to chainload grub (example).
I noticed a problem with the Fedora 12 Anaconda Installer. If I chose to install grub to the First sector of boot partition instead of the MBR, I get an un-bootable system.
It is easy to see the problem if you compare fdisk output. (I reduced the output for clarity)
Before I installed Fedora 12 32-bit to /dev/sda10
Device Boot Start End Blocks Id System /dev/sda1 * 1 2089 16779861 7 HPFS/NTFS /dev/sda4 6268 36479 242677890 f W95 Ext’d (LBA) /dev/sda10 23762 25589 14683378+ 83 Linux /dev/sda14 34076 36192 17004771 83 Linux /dev/sda15 36193 36478 2297263+ 82 Linux swap / Solaris
After I installed Fedora 12:
Device Boot Start End Blocks Id System /dev/sda1 1 2089 16779861 7 HPFS/NTFS /dev/sda4 6268 36479 242677890 f W95 Ext’d (LBA) /dev/sda10 * 23762 25589 14683378+ 83 Linux /dev/sda14 34076 36192 17004771 83 Linux /dev/sda15 36193 36478 2297263+ 82 Linux swap / Solaris
The boot flag is set to the wrong partition.
To fix this problem
Just boot with a CD/DVD, choose “Rescue” mode and run fdisk at the shell to change the boot flag. If you need more help, details follow:
- Boot with the system using your Fedora DVD or CD#1.
- Select “Rescue installed system”. (Select the proper settings, networking is not necessary)
At the “Rescue” screen, you can “Skip” the mounting of your installed system.
At the “First Aid Kit quickstart” menu, Select “shell”. - At the shell prompt, use fdisk (BE CAREFUL!)
bash-4.0# fdisk /dev/sda Command (m for help): a (toggle bootable flag) Partition number (1-15): 10 (the partition you installed Fedora) Command (m for help): a (command needs to be run twice) Partition number (1-15): 1 (the partition with MBR) Command (m for help): p (verify everything looks correct) Command (m for help): w (write table to disk and exit) The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disk.
- Reboot.
I doubt this will affect many people since most people choose to install Fedora directly to the MBR. However I am reporting here in case someone else might find this useful. I noticed this a few days ago on Fedora 12-Beta 64-bit, but I had been too busy to check the bug reports. Will do that soon.
If you run into this problem (or similar) please leave a comment or contact me.
UPDATE: Should be fixed for Fedora 13. Bug 533658
Go there... (this one is on down the page...)
http://www.mjmwired.net/linux/
Don
No comments:
Post a Comment