Design your own boot menu with Grub Customizer
Paint by Numbers

Is the simple black and white GRUB menu causing confusion and obscuring important choices? Why not customize with GRUB themes and the Grub Customizer?
Many Linux distributions keep the boot menu so simple that it hardly differs from the BIOS messages. If you settle for the default boot menu, you might be missing the chance to provide some visual enhancement to the user experience. The need for visual clarity is often more than cosmetic. The boot menu sometimes contains real choices, including alternative boot options and operating system versions, and some attention to design can make those choices much easier to see and understand.
With just a few settings, you can spice up a drab and confusing boot menu. But be aware that incorrect GRUB settings can quickly cause the boot process to fail. A tool with a graphical user interface can help ensure that editing the GRUB files is a safe experience. On the other hand, editing the files manually is a time-honored practice if you know what you are doing, and it might be your only option: Some Linux distributions don't provide a graphical tool.
First Step: Backup
But before you get started, you will want to back up the boot partition or boot directory: A faulty GRUB configuration can quickly lead to entries disappearing from the boot menu or a system unable to boot. Use the commands in Listing 1 to create the necessary backup copies.
Listing 1
Backup!
# dd if=Partition of=/Path/filename.img status=progress; sync # rsync -vuar /source_directory/ /target_directory/
GRUB Themes
On Gnome-Look.org, you will find ready-made GRUB themes with matching font types and sizes, background images, and colors [1]. Download your choice of theme and unpack it; then place it in the GRUB theme directory.
For some distributions, the theme directory is located in /boot/grub2/themes/
; others prefer the path /boot/grub/themes/
. If a theme directory does not exist, create it with the mkdir
command.
To make sure that the theme works, first test it with the grub2-theme-preview
tool [2]. Many distributions do not have this tool in their repositories, so you have to download and compile it yourself. Then emulate booting with the last command from Listing 2 (Figure 1).
Listing 2
Testing the Theme
<font color="#ffff00">-=https://github.com/hartwork/grub2-theme-preview/archive/master.zip=- proudly presents <font color="#ffff00">-==- proudly presents $ cd /directory_name $ sudo make install $ grub2-theme-preview /path/grub-themes/theme_name --grub2-mkrescue command_sequence

You only need the --grub2-mkrescue
option if the command is different in the distribution you are using. Enter the appropriate command sequence after the --grub2-mkrescue
option. If you don't know the command, open a terminal and type grub
lowercase. Then press the Tab key and search the Bash suggestions for the appropriate command.
After testing the theme, open the /etc/default/grub
configuration file as root and enter the path to the theme (Listing 3). Check in advance whether a file named theme.txt
exists in the theme directory. The theme.txt
file contains the configuration for the theme.
Listing 3
Specifying a Grub Theme
GRUB_THEME="/path/Grub-Themes/theme_name/theme.txt"
In order for the changes to take effect the next time the computer is restarted, you need to update the configuration file grub.cfg
. Call the command in Listing 4 as root.
Listing 4
Updating the Grub Configuration
# grub-mkconfig -o /path/grub/grub.cfg
GRUB searches the boot directory for kernel images and writes the names of the filenames' image files to the GRUB configuration file. GRUB accesses this list during the boot process to generate a list of the operating system choices.
Grub Customizer
Some distributions, including Fedora and Ubuntu, have Grub Customizer [3] in their repositories. Grub Customizer lets you include or change themes in a graphical user interface, adjusting settings that alter the appearance of the boot menu and making further changes to the configuration.
To customize the appearance of the boot menu, first launch Grub Customizer. On Fedora, look in the menu under System | System Administration | Grub Customizer. You can also enter the grub-customizer
command from a root console.
In the List configuration tab, you can change the boot order of the operating systems found by GRUB by right-clicking an entry and selecting the up or down arrows to move the entry to a new location.
Under General Settings you can define the timeout (i.e., the time in seconds that GRUB waits until it continues booting the default entry without user interaction). The standard entry itself can also be modified (Figure 2). If necessary, uncheck show menu to completely hide the boot menu, so that users no longer have the option to select an operating system when starting GRUB.

Finally, you can include a theme in the Appearance settings tab by clicking on the plus symbol top right and selecting the path to the theme's archive. You can then edit the theme by selecting theme.txt
in the file list on the left (Figure 3). When the changes are complete, click Save, which internally triggers the grub-mkconfig
command.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Direct Download
Read full article as PDF:
Price $2.95
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Find SysAdmin Jobs
News
-
Escuelas Linux 8.0 is Now Available
Just in time for its 25th anniversary, the developers of Escuelas Linux have released the latest version.
-
LibreOffice 7.5 has Arrived Loaded with New Features and Improvements
The favorite office suite of the Linux community has a new release that includes some visual refreshing and new features across all modules.
-
The Next Major Release of Elementary OS Has Arrived
It's been over a year since the developers of elementary OS released version 6.1 (Jólnir) but they've finally made their latest release (Horus) available with a renewed focus on the user.
-
KDE Plasma 5.27 Beta Is Ready for Testing
The latest beta iteration of the KDE Plasma desktop is now available and includes some important additions and fixes.
-
Netrunner OS 23 Is Now Available
The latest version of this Linux distribution is now based on Debian Bullseye and is ready for installation and finally hits the KDE 5.20 branch of the desktop.
-
New Linux Distribution Built for Gamers
With a Gnome desktop that offers different layouts and a custom kernel, PikaOS is a great option for gamers of all types.
-
System76 Beefs Up Popular Pangolin Laptop
The darling of open-source-powered laptops and desktops will soon drop a new AMD Ryzen 7-powered version of their popular Pangolin laptop.
-
Nobara Project Is a Modified Version of Fedora with User-Friendly Fixes
If you're looking for a version of Fedora that includes third-party and proprietary packages, look no further than the Nobara Project.
-
Gnome 44 Now Has a Release Date
Gnome 44 will be officially released on March 22, 2023.
-
Nitrux 2.6 Available with Kernel 6.1 and a Major Change
The developers of Nitrux have officially released version 2.6 of their Linux distribution with plenty of new features to excite users.