A bootloader, also known as a boot manager or bootstrap loader, is a computer program that is responsible for booting a computer. When a computer is turned on, the bootloader is the first program that runs and is responsible for loading the operating system into memory. Here are some key points about bootloaders:
- A bootloader is a small program that is stored in the computers firmware or boot sector.
- The bootloaders main function is to search for devices that are eligible to participate in booting and load a small program from a special section of the most promising device.
- Bootloaders can be divided into two stages: first-stage boot loaders and second-stage boot loaders. First-stage boot loaders are responsible for loading the second-stage boot loader, which then loads the operating system.
- Second-stage boot loaders, such as GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR, or iBoot, are not themselves operating systems, but are able to load an operating system properly and transfer execution to it.
- Bootloaders can be configured to give the user multiple booting choices.
- Bootloaders serve as a mediator between hardware and the operating system.
- Bootloaders are used in microcontrollers as a separate program in the program memory that executes when a new application needs to be reloaded into the rest of program memory.
- Bootloaders can be developed for any microcontroller and are programmed to the microcontroller like any .hex program burnt on the flash ROM of the AVR.
In summary, a bootloader is a program that is responsible for booting a computer and loading the operating system into memory. It is the first program that runs when a computer is turned on and is stored in the computers firmware or boot sector. Bootloaders can be divided into two stages and can be configured to give the user multiple booting choices. They are also used in microcontrollers as a separate program in the program memory.