What is LILO?
LILO (LInux LOader) is a boot loader used in Linux operating systems. LILO can boot (up to 16) operating systems from floppy disks, hard disks, etc. because it is not dependent on a specific file system. The user can place LILO in either the Master Boot Record (MBR) or the boot sector of a partition (and place something else in MBR to load LILO). LILO was used as the default boot loader in Linux till late 2001. It is now included in the list of depreciated packages (in Red Hat).
What is GRUB?
GRUB (GNU GRand Unified Bootloader) is a boot loader developed by GNU project. GRUB allows the user to select from a list of operating systems to load, making it possible to have multiple operating systems on the same machine. GRUB is the default boot loader used in most Linux distributions today. GRUB can be configured dynamically as it allows changes to the configuration at the time of booting. Users are provided with a simple command line interface to insert new boot configurations dynamically. GRUB has many user-friendly features like high portability, support for many executable formats, independence from geometry translation and support for all types of files systems such as most UNIX systems, VFAT, NTFS, and LBA (Logical Block Address) mode. Most Linux distributions which use GRUB, provide a customized boot menu using its support for many GUI (Graphical User Interfaces). GRUB2 is replacing GRUB at the moment and GRUB is been renamed as GRUB Legacy.
What is the difference between GRUB and LILO?
LILO used to be the default boot loader of Linux, while GRUB has taken LILO’s place in the last few years. GRUB has a better interactive command line interface compared to LILO’s, which only allows a single command with arguments. Because LILO stores location information of operating systems in MBR, every time a new operating system is added, the user should manually overwrite the configuration file, and this could very easily create a misconfigured configuration file. To correct a misconfigured configuration file in LILO, the users need to take an approach like booting from a live CD. However due to dynamically configurable nature, it is much easier to correct a misconfigured configuration file in GRUB. Compared to LILO, GRUB has very good technical support. LILO cannot boot from network, while GRUB certainly can. But on the other hand, since LILO was used, developed and tested for a very long time, most Linux administrators are well aware of configuring and handling problems with LILO even without any documentation.
LILO (LInux LOader)
LILO stores information about the location of the kernel or other operating system on the Master Boot Record (MBR).
GNU GRUB (GRand Unified Boot loader)
GRUB has a more powerful, interactive command line interface
RUB will default to its command line interface where the user can boot the system manually.
GRUB may have difficulties booting certain hardware.
LILO and GRUB do have a number of differences:
* LILO has no interactive command interface, whereas GRUB does.
* LILO does not support booting from a network, whereas GRUB does.
* LILO stores information regarding the location of the operating systems it can to load physically on the MBR. If you change your LILO config file, you have to rewrite the LILO stage one boot loader to the MBR. Compared with GRUB, this is a much more risky option since a misconfigured MBR could leave the system unbootable. With GRUB, if the configuration file is configured incorrectly, it will simply default to the GRUB command-line interface