Bootloaders In Linux
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.