Some operating systems, such as Unix-like operating systems, cannot load directly from a boot sector and require a prior program, known as a bootloader.


On power-up, when a computer is turned on, the following operations are performed:

  1. The computer performs a power on self test (POST) to ensure that it meets the necessary system requirements and that the hardware is working properly.

  2. The computer boots: a program located in the ROM BIOS, called the bootstrap loader, is executed.

  3. The bootstrap loader searches the computer's storage devices for a boot sector.

  4. When the bootstrap loader finds the first boot sector on the primary bootable device, it loads it into memory and passes control to the initial bootstrap program in its code area.

    The boot sector contains a program small enough to fit into one sector, known as the initial bootstrap program.

    When booting from a partitioned device, the initial bootstrap program normally reads the boot sector, containing the volume boot record, from the active partition, and then executes the initial bootstrap program in the volume boot record. When booting from a non-partitioned device, there is only one volume, so the initial bootstrap program loaded first is the volume boot record's initial bootstrap program.

  5. The volume boot record's initial bootstrap program loads and runs further software which is used to start the operating system.

    Some operating systems, such as Windows, have software built in to load from the boot sector's code area. Others, such as Unix-like operating systems, cannot load directly from the boot sector's code area and a bootloader is used to start them.

Bootloaders available for the PC include:

  • GRUB
  • LILO
  • Syslinux


example initial GRUB image
home Home Page