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/device.map if it looks correctly like this:

(hd0)   /dev/hda

WorkaroundOrg: SwitchingFromLiloToGrub (last edited 2005-09-24 20:46:37 by ChristophHaas)