Bootloaders In Linux by Eddison Sherry

Booting (booting up) in computing is the process of starting the Operating System when the computer is switched on. A boot sequence is the initial set of operations performed when the computer is switched on. Some commonly used bootloaders are GRUB, BOOTMGR, Syslinux, LILO, NTLDR. Linux booting process is much simple to understand and much things to learn.

For Linux, the most common boot loaders are LILO(LInux Loader), LOADLIN (LOAD LINux) and GRUB (GRand Unified Bootloader). LILO is the most popular boot loader for those users who employ Linux as the main, or only, operating system. LILO is a very fast bootloader. LOADLIN is used by those who have multiple operating systems. LOADLIN is sometimes used as a backup boot loader for Linux in case LILO fails. GRUB is preferred by many users of Red Hat Linux.

A boot loader consists of three programs:

The boot sector program (512 bytes) is directly loaded by the BIOS at boot time.

The second stage program is loaded by the boot sector program and it can do everything you program it for.

The boot loader installer is used to install the boot loader and the second stage program onto the boot disk. These have to be stored in special locations, into the first sector of boot device. So they cannot be copied with a mere copy command.

Now we will compare the features of mostly used GRUB and LILO bootloaders. GRUB is capable of loading a variety of free and proprietary operating systems. GRUB will work well with Linux, DOS, Windows, or BSD. GRUB is dynamically configurable which means changes can be made during the boot time, which includes altering existing boot entries, adding custom entries, selecting different kernels, or modifying initrd.

GRUB supports Logical Block Address mode meaning if the computer has a modern BIOS which can access more than 8GB (first 1024 cylinders) of hard disk space, GRUB will automatically be able to access it. Besides these GRUB can be run from or be installed to any device like floppy disk, hard disk, CD-ROM, USB drive, network drive and can load operating systems from just as many locations, including network drives. It can also decompress operating system images before booting them.

LILO is a sensible option for many Linux users and is a fast bootloader. LILO does not depend on a particular file system. One of up to sixteen different images can be selected at boot time. Parameters can be set independently for each kernel. LILO can be placed either in the master boot record (MBR) or the boot sector of a partition.

At system start, only the BIOS drivers are available for LILO to access hard disks. So with very old BIOS, the accessible area is limited to cylinders 0 to 1023 of the first two hard disks. For later BIOS, LILO can use 32-bit logical block addressing (LBA) to access all the hard disks that the BIOS allows. LILO has some disadvantages when compared with GNU GRUB.

LILO supports only up to 16 different boot selections; GRUB supports an unlimited number of boot entries.
LILO cannot boot from network.
LILO must be written again every time you change the configuration file; GRUB does not.
LILO does not have an interactive command interface.

Finally, there are multiple choices of bootloaders which work with the Linux operating system of which the user can choose the ones best suited for the requirements.

Eddison Sherry had been working in Linux and other Unix flavours for long years. He had been writing blogs and article on the Linux Storage, Linux Commands and Linux Server Administration. If you are working on Linux or Unix Server its best to have a look on his blogs at Linux Technical Forum.

Learn more at

More Windows Administration Information:
• Commands to Display Your Linux Computer's Hardware Information
• The Fedora 3 Linux File Structure
• Bootloaders In Linux
• Understanding Linux Filesystems: Ext4 and Beyond
• Know linux
• Basic Linux File and Directory Commands
• View Your Linux Server's Network Connections With Netstat
• Linux Server Step-by-Step Configuration Guide
• How to Switch to Ubuntu
• Fedora 3 Modem Installation