A BootLoader is the first software program that runs when a computer starts. It is loaded by the BIOS at the end of hardware initialization and is responsible for loading the OperatingSystem Kernel and transferring control to it.

A multiboot loader offers a menu and the ability to select from a list of operating systems. Note that bootloaders are inherently architecture-specific. For the x86 architecture, multiboot loaders include:

  • GRUB
  • LILO
  • SysLinux, IsoLinux, ExtLinux. These are three related bootloaders from the same author, and using pretty much the same config files. The difference is that SysLinux boots off FAT volumes, IsoLinux off ISO9660 volumes (e.g. CD-ROMs and DVDs), and ExtLinux off Ext2/Ext3 volumes.
  • Windows' NT Bootloader, NTLDR
  • Smart Boot Manager, which has lots of uncommon features.

Some BootLoaders allow “chaining” to other ones, eg. GRUB can load up Windows' BootLoader (this is the preferred method for DualBooting Linux and MicrosoftWindows.)

There's also a strange beast called LoadLin.

Which One To Use?

Nowadays, GRUB is the most common bootloader used on fixed (nonremoveable/non-hot-pluggable) drives. It can offer a menu with a choice of different systems to boot from, on the same or different drives. Drives are identified by BIOS numbering, so anything that changes this will confuse GRUB.

SysLinux and its relations can (I believe) only offer the option of booting from the volume they’re installed on. But this doesn’t have to have a fixed BIOS identity—it can be removeable (like a CD or DVD) or hot-pluggable (like a USB drive). Thus, IsoLinux is good for live CDs/DVDs, while SysLinux/ExtLinux is commonly found on USB keys.

I’m not sure about LILO, but I believe it’s comparable to GRUB.

lib/main.php:944: Notice: PageInfo: Cannot find action page

lib/main.php:839: Notice: PageInfo: Unknown action