If you’ve recently tried to upgrade legacy GRUB to the new GRUB2 bootloader, and things didn’t quite work out, you’ll find that upon the next boot this is as far as you get:
GRUB Loading stage1.5
GRUB loading, please wait…
This is because the old GRUB is still in control of the boot process, but files that it needs are now missing. You may even have “Error 15: File not found!” at the end of the error message, but this is probably more likely if there is an incorrect device entry for the boot drive in GRUB‘s menu.lst config file. What will be covered here is the scenario that all is fine in menu.lst, and the reason for boot failure is that GRUB shouldn’t even be trying to initiate – since it was (for the most part) uninstalled when upgrading it to GRUB2 – and either a halted/unfinished install of GRUB2 is responsible, or specifying the wrong boot drive near the end of the install is responsible for all this.
If you’ve ever had to restore GRUB using the Ubuntu Live CD or something, you could be forgiven for thinking this is the easiest and fastest option to get things rolling again, but you may find it does nothing, since the boot process has become a mess of GRUB vs GRUB2, and things like “stage1.5” missing will hamper your efforts. Unlike with menu.lst, GRUB2‘s grub.cfg is not meant to be edited by the user, but is written to automatically as GRUB2 updates itself, and at any rate is probably not the issue. What needs to be done is to let GRUB2 finish installing itself (especially if it was halted/aborted), then make sure the correct boot drive/partition is specified. Easier said than done, you might say, but there are a couple of ways you can do this.
You can “chroot” into your system via a Live CD – basically meaning you can hack into it via the terminal and re-run the GRUB2 install that way – but many might find this daunting, and for some it just won’t work (at least with instructions I’ve seen around).
So what I propose is that you use the Super GRUB Disk to boot into your system, then run the install again. While this disc is for legacy GRUB, and (at least for me) was useless for reinstalling GRUB (I was ready to let it get rid of GRUB2 if it could), you can use it to boot a Linux system with a faulty bootloader, which will be your saviour.
Restart your computer with the Super Grub Disk, and while it is loading follow the prompts and hit Enter where asked. Once you end up at the first menu, choose the option for English. When you arrive at the main menu, choose “Advanced“, followed by “GRUB“.
Next, choose “Boot Your Gnu/Linux (or other OS) again“, followed by “Manual Boot“. You will need to choose the path for GRUB’s leftover files, and it should be the first option, “/boot/grub/menu.lst“.
At the next screen, “Partition lst“, pick the correct boot device (eg: “1. hda sda hd0“) then the appropriate partition (eg: “2. hda2 sda2 (hd0,1) hd0s2“).
Next, a blue screen with return characters (bent arrows), each pointing to a smiley face, will be displayed; just hit Enter on the first one and your boot menu should now appear.
Don’t be surprised if you find that even though you picked to boot the old menu.lst it has loaded GRUB2 via grub.cfg. You should now be able to boot your system fine, so finish the installation/configuration of GRUB2 to prevent this happening again.
Click here to go to the SGD download page and pick a version for download, then burn it to CD (in Ubuntu, just double-click the file, or right-click and choose “Burn to Disc”). Please note that at the time of writing even though there is a new Super Grub2 Disk (v.1.30) made especially for GRUB2, due to some bugginess that has to be ironed out the developer recommends using the legacy disc (currently version 0.9799, but even earlier versions will work fine with GRUB2, as this guide was based on using 0.9536).
Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!