Switching From Lilo To Grub Boot Loader in Linux

How to switch your boot loader from Lilo to Grub

Debian Sarge by default uses the Grub boot loader. Whether to use Lilo or Grub is a matter of taste. Actually they do not look much different when booting the system. But Grub has a tiny built in shell that allows you to boot certain partitions even if your boot configuration is broken. If you had used Lilo and made a mistake in your lilo.conf you would need to get a rescue disk.

These are the necessary changes to switch from Lilo to Grub

According to the /usr/share/doc/grub/README.Debian file you need to change the file /etc/kernel-img.conf:

postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grub
do_bootloader = no

Unlike Lilo, it is not necessary to re-run or re-install the boot loader after every change to /boot/grub/menu.lst. menu.lst is automatically found on GRUB's root disk and read during GRUB's boot process.

Run grub-install /dev/hda to install the boot loader.

Do not forget to run "update-grub" after the installation to update the menu list to your current list of kernels.

/dev/hda does not have any corresponding BIOS drive.
Check the /boot/grub/ if it looks correctly like this:

(hd0)   /dev/hda