Introduction
Once the firmware finishes initializing the hardware, it hands the baton to the bootloader. The bootloader is a small program whose sole purpose is to load the Linux kernel and the initial RAM disk (initramfs) into memory and execute them.
GRUB (GRand Unified Bootloader) is the undisputed king of Linux bootloaders, though systemd-boot is a highly popular, lightweight alternative for modern UEFI systems.
Customizing the Bootloader
The bootloader is highly customizable. By editing its configuration files, you can alter fundamental behaviors of your system's startup.
Default Operating System: If you dual-boot Linux and Windows, you can set which OS boots by default. You can even configure GRUB to remember the last OS you booted and default to that one next time.
Timeout: You can change how long the boot menu waits for your input before selecting the default option. You can set it to 10 seconds, 1 second, or even hide the menu entirely for a faster boot.
Kernel Parameters: You can pass specific instructions to the Linux kernel before it starts. This is incredibly useful for troubleshooting. For example, you can add parameters to disable a problematic graphics driver, force a specific screen resolution, or boot into a text-only recovery mode.
Themes and Visuals
Your bootloader does not have to be a boring black-and-white text menu. GRUB heavily supports visual customization.
At the most basic level, you can easily add a custom background image to the GRUB menu. Going further, the Linux community has created thousands of full GRUB themes. These themes can completely overhaul the interface, adding custom typography, colorful progress bars, and high-resolution icons for each operating system you have installed.
To apply a theme, you typically download a theme folder, place it in the designated themes directory, and update your GRUB configuration file.
Edit your main GRUB configuration file (usually located at /etc/default/grub) to point to your new theme:
Example of setting a theme in /etc/default/grub
GRUB_THEME="/boot/grub/themes/my-custom-theme/theme.txt"After saving the configuration, you must regenerate the actual boot menu for the visual changes to take effect:
sudo grub-mkconfig -o /boot/grub/grub.cfgWhether you are prioritizing a minimalist, lightning-fast boot or a beautifully themed menu that welcomes you to your computer, the Linux bootloader gives you the tools to make the startup process your own.
