Skip to main content

πŸ”₯ Customizing Your GRUB β€” Dual Boot with Style!

Β· 4 min read
Haruka Yamamoto
A person and a dream

Hey there! πŸ‘‹
Today I’m going to teach you (or at least try) how to add a theme to GRUB, so every time you boot your PC or switch operating systems, you don’t have to stare at that ugly default screen anymore.
Let’s turn this:

Before​

Before

Into this πŸ‘‡

After​

After

What Is GRUB?​

For those unfamiliar, GRUB is a boot manager that comes by default with most Linux distributions.
It’s essential if you use dual boot β€” that’s when you run more than one operating system (like Linux and Windows) on the same computer.

If you’re dual-booting without a boot manager, switching systems can be a nightmare β€” you’d have to open your BIOS every time and manually change the boot order.
With GRUB (or any boot manager), you can visually select which OS to start; no BIOS trips are required.

Why Customize GRUB?​

  • 🎨 Pure aesthetics – Who said dual boot has to be ugly?
  • πŸ” Visual clarity – identify each OS at a glance 1
  • πŸš€ Style points – Because a slick boot screen says β€œthis machine belongs to someone serious”

Downloading a Theme​

Enough theories β€” let’s jump to the fun part: finding a theme you like.
Head to the GNOME-Look GRUB Themes section:

πŸ‘‰ GNOME-Look β€” GRUB Themes

That site has tons of GRUB themes.
My personal favorite is this one: Star Rail Theme, which includes multiple subthemes β€” I’m currently using the Anaxa version.

Installing the Theme​

Before you mention it β€” yes, I know about GRUB Customizer,
but we’re doing it the proper way via terminal because it’s simpler and cleaner.

Using the Star Rail Theme as an example:
Click Download, choose the version you like (Anaxa.tar.gz in my case), and extract it β€” it’s a GZIP file that contains all theme assets.

Once extracted, you’ll get a folder like this:

Anaxa
β”œβ”€β”€ background.png
β”œβ”€β”€ icons
β”‚ β”œβ”€β”€ ......
β”‚ β”œβ”€β”€ windows11.png
β”‚ β”œβ”€β”€ windows.png
β”‚ └── zorin.png
β”œβ”€β”€ select_c.png
β”œβ”€β”€ select_e.png
β”œβ”€β”€ select_w.png
└── theme.txt

Basically, a theme is a folder with images and one main file β€” theme.txt β€” that defines layout and asset positioning.

Step 1 β€” Create the GRUB Theme Folder​

If it doesn’t already exist:

sudo mkdir -p /boot/grub/themes/

Step 2 β€” Copy the Theme​

sudo cp -r Downloads/Anaxa /boot/grub/themes/

Step 3 β€” Check Your Screen Resolution​

Run this command to get your monitor’s resolution:

xdpyinfo | awk '/dimensions/ {print $2}'

It should return something like 1920x1080.

Step 4 β€” Configure GRUB​

Open the GRUB configuration file:

sudo nano /etc/default/grub

Find or add this line (replace Anaxa with your theme name):

GRUB_THEME="/boot/grub/themes/Anaxa/theme.txt"

Then scroll down and find this block:

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# GRUB_GFXMODE=auto

Uncomment and set the correct resolution you got earlier:

GRUB_GFXMODE=1920x1080

Save and exit (CTRL+X, then Y, then Enter).

Finally, update GRUB so it applies the new settings:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Restart your computer, and voilΓ  β€” your new stylish GRUB should appear:

After

Ignore the small β€œAnaxa” label in the bottom-right corner β€” that’s just part of the theme preview.

Edit Note​

I forgot to mention it β€” Ventoy also uses GRUB under the hood, so it’s totally possible to theme it too. Maybe I’ll cover that in a future post. Oh, and I’ll probably update the Star Rail theme link to the GitHub version later.

Footnotes​

  1. GRUB supports icons for easier visual identification, and most themes already include full icon sets for operating systems and Linux distros (like the ones in the example images). ↩