Tired of the boring black Linux boot menu?
Give GRUB a new life with an attractive visual theme.
In this step-by-step guide I show you how to install and customize a theme in Ubuntu. Plus, you'll see how to add custom icons and shutdown or reboot entries directly from GRUB.
1. Choosing and downloading a theme for GRUB
We are going to use GNOME-LOOK.ORG, a platform where you can find hundreds of GRUB themes.
In this case I am going to use one called Elegant Mojave, which has a modern and clean style.
Once on the theme page, look for the download button.
Some themes offer different resolutions (Full HD, 2K, 4K), download the one that matches your screen.
In Mojave, all resolutions are included inside the zipped file, so you can use the same one for any resolution.
2. Extract the theme file
Open the terminal and unzip the .tar.xz
file you downloaded. First, go to the downloads folder:
cd ~/Downloads
Install tar
if you don't have it:
sudo apt install xz-utils
Unzip the file:
tar -xf [downloaded theme].tar.xz
You can also rename the folder with a shorter name for convenience:
cd [extracted theme folder]
cd [theme version folder]
# Run ls to see the full name of the folder.
mv "original name of the theme" mojave
3. Move the theme to the GRUB folder.
Let's place the theme in the path GRUB expects:
# Create the themes folder
sudo mkdir -p /boot/grub/themes
sudo mv [theme name] /boot/grub/themes/
4. Activate the theme in GRUB configuration
Now we edit the main GRUB configuration file:
sudo nano /etc/default/grub
Add the following line to the end of the file (replace [theme name] with your own):
GRUB_THEME=/boot/grub/themes/[theme name]/theme.txt
Save the changes (Ctrl + O → Enter) and close the editor (Ctrl + X).
Finally, update GRUB to apply the new theme:
sudo update-grub
Done! Your new theme should already be active at the next reboot.
5. Custom icons and advanced entries
If you use dual boot, some entries (like "Advanced Options" or UEFI) may not have icons. Let's solve it.
View available icons in the theme
Open the theme icons folder to see which ones are available (replace [theme] with the name of your theme):
cd /boot/grub/themes/[theme]/icons
xdg-open .
For example, in my case I'm going to use the icon recovery.png.
Add custom icons to "Advanced Options".
Let's edit the script that generates the Linux entries:
sudo nano /etc/grub.d/10_linux
Near the end of the file, look for the line where the submenu
classes are defined (look for the part where it says "Advanced options") and add the name of the icon you want to use:
--class recovery
It should look something like this.
Save the changes (Ctrl + O → Enter) and close the editor (Ctrl + X).
Creating shortcuts to shutdown and reboot from GRUB
Now we are going to create custom entries to shutdown and reboot the computer directly from GRUB.
Edit the file:
sudo nano /etc/grub.d/40_custom
And add the following entries:
menuentry "System shutdown" --class shutdown {
halt
}
menuentry "System reboot" --class restart {
reboot
}
ℹ️Make sure that the shutdown.png
and restart.png
files are located inside the /icons
folder of the theme.
Want to experiment without risk?
Try the whole process in a virtual machine like VirtualBox or VMware. This way you avoid possible errors on your main system while you learn.
✅ Conclusion.
With a few commands and some customization, you can turn that flat GRUB into a visually appealing and functional boot menu.
Not only does it improve aesthetics, you can also quickly access common tasks like shutting down or rebooting.
💬 Did you like the tutorial?
Do you want more guides like this to customize your Linux system?
Leave a comment or share this post! 😉
Top comments (0)