Let me ask you a question. What happens when you press the power button on your computer?
Yes, HA HA… It starts. Very funny. That’s not what I meant.
What is really happening to start the computer? How does a simple button push lead to your operating system springing to life?
I used to think it was magic, fairy dust, and those damn unicorns. But it turns out, I was wrong.
There’s a long sequence of unicornless steps that lead to the eventual operating system. And one of those steps involves the usage of a boot loader.
What is a Boot Loader?
A boot loader, is one of the biggest steps in the process.
In the old days, the boot loader’s job was simply to find an operating system and run it’s first step in the boot process. Nowadays, with more complicated computers and the prospect of multiple operating systems on one computer, it’s job is to find a boot manager.
What is a Boot Manager?
A boot manager is a program that allows users to select an installed operating system to boot, and to begin that operating system’s boot process.
A boot loader is simple. It doesn’t provide options. It doesn’t allow user input. It follows its instructions and boots the operating system it is told to.
To provide greater flexibility and the option to choose between multiple operating systems, the boot manager was created. The boot loader loads the boot manager. The boot manager asks for user input, then tells the desired operating system to continue the boot process.
Unfortunately, the boot process is poorly understood by most, is a disorganized mess that’s never been fully standardized, and is a Frankenstein monster of varying techniques and software.
For decades, the primary success metric for the boot process has been “if it works and looks similar to what everyone else is doing, we’re fine.”
Among other problems, this has led to a great deal of confusion and naming substitution.
Outside of purist circles, few people distinguish between a boot loader and a boot manager. They’re often lumped together and called a boot loader. 99% of the time, when you hear or read “boot loader,” the combination of the boot loader and boot manager is what is meant.
That’s why getting a straight answer to a boot loader/manager question from Google is so damned hard.
Oh, sorry. I’m bitter. I’ve spent a lot of time Googling boot related questions.
One person says one thing, another says something else, and another berates everyone for incorrect terminology.
So, to hell with everyone! We’re doing what I want. It’s a boot loader. All the software used to find, seek input from the user, and begin the operating system start process is a boot loader.
If you don’t like it… well, I’m sorry. I truly wish it was more standardized and simple. And I wish everyone used appropriate terminology.
No, actually I wish it was magic, fairy dust, and unicorns. But I’m told by the doctor guy in the white overcoat that isn’t happening.
So we’re stuck with confusion, and I prefer the simpler terminology.
What are Some Popular Boot Loaders?
Well, this will depend on your operating system.
Every major operating system has its own boot loader. Yes, even Windows and OS X. You’ve probably never seen their boot loaders because both are configured to hide themselves by default. But they’re there.
Even some recent Linux distributions have taken to hiding the boot loader. But rest assured, every operating system relies on a boot loader.
Linux, as is often the case, has more than one option for boot loaders. By far the most popular is called the GRand Unified Bootloader, or GRUB for short.
GRUB is pretty good. It usually just works. It finds other operating systems already installed for you. It’s reasonably easy to configure. GRUB is a good choice.
If GRUB isn’t satisfactory, other options include the Linux Loader (LILO), Brand-new Universal Loader from GRUB (BURG), rEFIt, and many more.
Moral of the Story
The moral of the story is: The term boot loader is vague. Typically, boot loader describes a tool allowing users to choose an operating system to boot, which then finds said operating system, and begins that operating system’s part of the booting assembly line.
Future articles will delve deeper into the mysteries of boot loaders and the computer boot process. If you find anything confusing or have any questions, leave a comment below. Maybe I can clear it up, but at the very least, your input will help shape those future articles!