April 27, 2008
Howto: Solving “Ubuntu Installation Left Messed-Up Bootloader”
Yesterday, I installed Ubuntu 8.04 to my second SATA II drive. I explicitly selected that grub be installed to second drive. After restarting, the computer failed to boot in both windows or linux and “GRUB” continued flooding on the screen. Here is how to solve this:
- Fix the XP boot record first: Boot with windows XP CD and when prompted press “R” to enter recovery console. Once in the console, enter:
to fix the master boot record of windows partition.
- Reboot the computer into windows and download the latest version of grub4dos. Do not be alarmed by the name, it is equally useful for XP NTFS partitions. Extract to a convenient location.
- In windows, go to Control Panel->System->Advanced->Startup and Recovery, click Settings
- In System Startup, click Edit
- Add the following line to the end of the opened (boot.ini) file:
and save the file.
grldrto the same location where boot.ini is located. It is usually found in C: drive and is a hidden and system file. You need to make it visible using appropriate folder view options.
- Download and install Ext2IFS for windows. Run the program and map ext3 based Ubuntu partition into windows.
- Copy menu.lst from /boot/grub from the Ubuntu partition to the same location as windows boot.ini file.
- Open menu.lst in wordpad and edit the following lines to your need:
title Ubuntu 8.04, kernel 2.6.24-16-genericIt was
hd0,0and I had to make it
hd1,0to refer to the second harddisk. This should boot Ubuntu fine, but you may want to make other changes in menu.lst file to your needs. Save and close menu.lst file.
- Now reboot your computer, press F8 at reboot to get to OS choice menu. Select
Start GRUB4DOS. Now you should see the usual grub menu. Select the first choice for Ubuntu and this should boot you in Ubuntu.
- If you are unable to get to grub menu after selecting
Start GRUB4DOSfrom the menu, please check again the location of
menu.lstfiles. You may try putting them in the C: root as well, if boot.ini location is different.