The word ‘Bootloader’ is a contraction of ‘bootstrap loader’. This is derived from the idea of ‘pulling yourself up by your bootstraps’. A computer without a program to run is a useless piece of machinery. So how do you get the program into the computer?
In the early days of computing, computers were programmed literally bit-by-bit using patch cables or an array of toggle switches on the front panel. As you might imagine, this is quite tedious to do for anything more than a trivial program.
One day, someone had a bright idea: Write a small program that knows how to load larger programs stored on punched cards or paper-tape. And the computer bootstrap loader was born.
Although the bootstrap program saved lots of time, it was still rather tedious to have to toggle in the instructions every time you restarted the machine. Eventually, another engineer had another bright idea: Build the bootloader into the computer.
You could solder an array of diodes to program the 1’s and 0’s of the bootloader code at the required memory addresses to create a Read-Only Memory (ROM) for the bootloader. And the ROM boot was born.
Moving on from the hard-wired diode boot, advanced in technology led to various forms of electrically programmable non-volatile memories.
These days, bootloaders are programmed into EEPROM or Flash memory. So you don’t need a soldering iron to modify or repair your bootloader. For more complex systems, bootloading may be performed in multiple stages with each stage loading a more complex piece of software.
Your notebook or desktop computer most likely has at least two stages of bootstraps. The BIOS or UEFI is burned into flash memory on the motherboard. At startup it will look for a bootable drive and load an operating system bootloader from the drive. At that point it turns control over to the operating system’s bootloader which takes care of loading your operating system. Once the operating system is up and running, you can just point and click to load and run any program you want.