A boot loader (aka bootstrap loader) is the program that loads up the operating system kernel (or another boot-loader), e.g., GNU GRUB, LILO, SYSLINUX, or rEFInd. Use this tag for questions about installing, configuring or trouble-shooting software that is used to load Unix-like operating systems. Questions about boot loaders on Android or iOS devices are generally off-topic and are better asked on android.stackexchange.com or apple.stackexchange.com.

When a computer is powered on, it first runs firmware code stored in its persistent/read-only memory. With personal computers, this firmware program is known as the power-on self-test (POST). The last action of the ROM-based boot-sequence is to load a boot-loader program from disk (or the network).

The boot-loader typically loads an operating system kernel and hands over execution to the kernel. In some situations, multiple stages of different boot loaders can be used where one boot loader hands control over to another; this situation is referred to as chain loading.

Related tags

  • – more general questions on the process of loading the OS
  • – a simple bootloader for booting Linux on PCs
  • – a more versatile boot-loader developed by GNU
  • GRUB Legacy is the first version of GNU GRUB
  • GRUB, the second version of GNU GRUB is a complete rewrite to replace the previous version
  • – suite of lightweight master boot record (MBR) boot loaders
  • – rEFInd is a boot manager for EFI and UEFI-based machines. Technically it’s not a boot loader since it doesn’t actually load an Operating System kernel.

Related links

Further reading