When you turn on your machine, immediately after POST (Power On Self Test) is completed successfully, the BIOS locates the configured bootable media, and reads some instructions from the master boot record (MBR) or GUID partition table which is the first 512 bytes of the bootable media.
The MBR contains two important sets of information, one is the boot loader and two, the partition table.
What is a Boot Loader?
A boot loader is a small program stored in the MBR or GUID partition table that helps to load an operating system into memory. Without a boot loader, your operating system can not be loaded into memory.
There are several boot loaders we can install together with Linux on our systems and in this article, we shall briefly talk about a handful of the best Linux boot loaders to work with.
1. GNU GRUB
GNU GRUB is a popular and probably the most used multiboot Linux boot loader available, based on the original GRUB (GRand Unified Bootloader) which was created by Eirch Stefan Broleyn. It comes with several improvements, new features, and bug fixes as enhancements to the original GRUB program.
Importantly, GRUB 2 has now replaced the GRUB. And notably, the name GRUB was renamed to GRUB Legacy and is not actively developed, however, it can be used for booting older systems since bug fixes are still ongoing.
GRUB has the following prominent features:
- Supports multi-boot
- Supports multiple hardware architectures and operating systems such as Linux and Windows
- Offers a Bash-like interactive command line interface for users to run GRUB commands as well interact with configuration files
- Enables access to the GRUB editor
- Supports setting of passwords with encryption for security
- Supports booting from a network combined with several other minor features
2. systemd-boot
systemd-boot is a UEFI boot loader developed as part of the systemd system and service manager, which was designed to load EFI-executable images, such as Linux kernels, initramfs images, and other operating systems, such as Windows.
systemd-boot is a relatively new bootloader, but it has become popular due to its simplicity and performance. It is also the default bootloader for many modern Linux distributions.
systemd-boot is a good choice for users who want a simple and fast bootloader that can boot a variety of operating systems. It is also a good choice for users who are already using systemd as their system and service manager.
3. rEFInd Boot Manager
rEFInd is a boot manager for UEFI and EFI-based systems that was created to boot a variety of operating systems, including Linux, Windows, and macOS.
rEFInd is a good choice for users who want a simple and user-friendly bootloader that can be customized to meet their needs. It is also a good choice for users who are dual-booting multiple operating systems.
4. LILO (Linux Loader)
LILO is a simple yet powerful and stable Linux boot loader. With the growing popularity and use of GRUB, which has come with numerous improvements and powerful features, LILO has become less popular among Linux users.
While it loads, the word “LILO” is displayed on the screen and each letter appears before or after a particular event has occurred. However, the development of LILO was stopped in December 2015, it has a number of features as listed below:
- It does not offer an interactive command-line interface
- Supports several error codes
- Offers no support for booting from a network
- All its files are stored in the first 1024 cylinders of a drive
- Faces limitations with BTFS, GPT, and RAID plus many more.
5. BURG – New Boot Loader
Based on GRUB, BURG is a relatively new Linux bootloader. Because it is derived from GRUB, it ships with some of the primary GRUB features, nonetheless, it also offers remarkable features such as a new object format to support multiple platforms including Linux, Windows, Mac OS, FreeBSD, and beyond.
Additionally, it supports a highly configurable text and graphical mode boot menu, and stream plus planned future improvements for it to work with various input/output devices.
6. Syslinux
Syslinux is an assortment of lightweight boot loaders that enable booting from CD-ROMs, from a network, and so on. It supports filesystems such as FAT for MS-DOS and ext2, ext3, and ext4 for Linux. It also supports uncompressed single-device Btrfs.
Note that Syslinux only accesses files in its own partition, therefore, it does not offer multi-filesystem boot capabilities.
Conclusion
A boot loader allows you to manage multiple operating systems on your machine and select which one to use at a particular time, without it, your machine can not load the kernel and the rest of the operating system files.
Have we missed any tip-top Linux bootloader here? If so, then let us know by using the comment form below to make suggestions of any commendable boot loaders that can support the Linux operating system.
As far as I know, LILO and BURG have both been deprecated.
LILO is still being used in some esoteric distros but, over all, other boot managers have gotten to be so much better and easier to use than LILO that they have replaced it.
@dragonmouth,
You’re right! LILO (Linux Loader) and BURG (Brand-new Universal Loader from GRUB) are not widely used anymore in modern Linux systems.
LILO used to be a popular boot loader, but now GRUB (GRand Unified Bootloader) is preferred because it’s more advanced and easier to use. GRUB supports more file systems, has better settings, and offers a more flexible command-line interface.
Similarly, BURG tried to make a nicer-looking boot loader based on GRUB, but it didn’t become popular and is no longer actively developed.
Today, GRUB is the main boot loader for most Linux systems because it is reliable and meets the needs of many users.
I remember LILO, it was the default boot loader on Xandros. It was terrible, about the fifth or sixth boot it would fail and I would have to reinstall. No thanks.
@james,
It sounds like you had a frustrating experience with LILO on Xandros. Boot loader issues can be quite frustrating, and it’s understandable that you wouldn’t want to revisit that particular setup.
Thankfully, there have been significant advancements in boot loaders, and most modern Linux distributions use GRUB (GRand Unified Bootloader), which is known for its reliability and flexibility.
Also, Linux can be booted directly from UEFI when the kernel has EFI stub support the command to add the entry is efibootmgr.
https://wiki.gentoo.org/wiki/EFI_stub
@Guillermo,
Absolutely, you’re right! When the Linux kernel has EFI stub support, it allows the kernel to be booted directly by the UEFI firmware without the need for an intermediate bootloader.
The efibootmgr command is indeed a handy tool for managing UEFI boot entries on Linux.
Thank you for pointing that out. If you have any more insights or questions, please feel free to share.
CPU GPU Temp Monitor.
In Raspberry pi OS there is a panel item to monitor CPU temperature, but in Twister OS this option is not available. I like to watch DVD video’s on my RPI 400 but the CPU gets too hot. How can I continuously monitor CPU, GPU, or core temperature in “Twister” ( Raspbian GNU) Linux 10 Buster?
if I want to set up a dual boot computer between Ubuntu and Red Hat Linux. Which
boot loader program could you use and why?
Hi,
How can we install Ubuntu and Opensuse dualboot?
How to should partitioning for that?
Thanks
@saeid
Check out step 8 of this guide, it will help you on how to partition your hard disk: https://www.tecmint.com/install-ubuntu-16-04-alongside-with-windows-10-or-8-in-dual-boot/
Thanks for the guide, Syslinux sounds good, I’ll give it a try. These are all free tools, right?
@Rob
Welcome, yap, they are all free.
I’m amazed rEFInd was left out. Certainly the best for modern computers. (ie. those on EFI machines [almost everyone now])
@Rohit
Many thanks for mentioning this out, we will check it out and possibly review it.
For me, rEFInd is always gonna be the best. (Not a Mac user)
The first boot loader I used was LILO on a Xandros install and it almost made me give up Linux forever. I had nothing but trouble. I was dual booting XP and Xandros and about ever third time I started the computer it would not boot.
At that time I had no idea what to do. I know dual boot Debian and Ubuntu, no Windows. I also can fix things myself is my computer won’t boot. Grub also is in my humble opinion light years better than LILO.
@jymm
I once tried LILO for learning purposes but I faced a lot of difficulties using it just as you have expressed here. GRUB works just fine for me now and it offers modern features and components. Importantly, many thanks for offering us your thoughts and encounter with LILO, and GRUB.
GRUB should be ‘light years better than LILO’. It was developed many years after LILO, presumably to improve on LILP.
I used to use Burg and loved its capability to present multiple looks and feels. It apparently hasn’t been updated in years and I honestly it should be presented here without that caveat.
@Jon Loveless
Thanks for your useful feedback, i hope it will prove helpful to users who intend to give BURG a try.
Syslinux url site, not work. change https to http.
Regards.
@Tino,
Thanks for pointing out and updating us, yes we changed from https to http as suggested…