Solving the infinite GRUB loop (GRUB GRUB GRUB GRUB GRUB) problem

By admin | August 30, 2010

Sometimes, especially after changes to the hard drive or changes to partitioning, you will find that your Linux computer would no longer boot, but instead fill the screen up with GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB, etc infinitely without giving the boot menu, and the only way to exit out would have been to press Ctrl-Alt-Delete and reset the machine.

Apparently the problem is caused when GRUB tries to load the next stage of the bootloader, but fails to load it and instead hangs in an infinite loop because it can’t read out of the next stage. However in our case the BIOS settings were perfectly fine and there was nothing wrong with that. It turns out that the actual problem lying below the infinite loop was that the GRUB bootloader was corrupted and had to be reinstalled.

Prerequisites

• Floppy drive & real 3.5 inch floppy
• Write the floppy image to a real floppy, if you are on Linux you can simply dd if=bootgrub.img of=/dev/fd0 whereas if you are on windows you can use something like rawrite to write out the image.

Steps

1. Boot your computer from floppy.
2. Once the floppy has fully loaded with the menu, press “c” on your keyboard to enter the command prompt.
3. Type in the following commands:
find /boot/grub/stage1

Skip the (fd0) entry that it produces and note down the one that matches your /boot partition. If it does not find it, then note down your /boot partition in the form of (hdx,y) where x is the hard disk number and y is the partition number. For example, (hd0,0) is equivalent to /dev/sda1 in Linux.

4. Type in the following:
root (hd<strong>x</strong>, <strong>y</strong>)

where thew (hdx,y) is the location of /boot (from above command).

5. Set up grub and reboot:
setup (hd0)
reboot

If you wish to install grub to different drive, you can do so by changing hd0 to hd + your hd number.

6. Remove floppy.

Errors

If you receive “Read Error” while starting the floppy you should double check your floppy and floppy drive for errors.