Make your Grub boot menu pretty


Back to the home page



The Grub boot menu of Linux Mint and Ubuntu, from which you can choose what operating system to boot, is functional but not very nice. That can be improved greatly.

For example by using one of your holiday pictures as background for the menu. This operation isn't very difficult, although you have to use the terminal for it (gasp!).

You only need to apply the how-to exactly, and to copy/paste the necessary magical incantations in the terminal without deviations.

Note: this operation usually only makes sense when you have a dual boot (for example Linux Mint and Windows). Because in most cases, only then you'll ever get to see the Grub menu....


Contents of this page:

Normal procedure

1.The normal procedure should work in most cases, so proceed like this:

Linux Mint only: try the Mint theme package for the Grub menu

1.1. In Linux Mint you can increase the text size in the menu of bootloader Grub, simply by installing a dedicated magnifying package for it. This will also adorn the menu a bit. The mere installation itself is enough; no further action required. Proceed like this:

a. Menu - Administration - Terminal

b. Copy/paste the following command line into the terminal:

sudo apt-get install grub2-theme-mint-2k

Press Enter. Type your password when prompted. Press Enter again.

c. Reboot your computer.

d. If the letters are too big for you now, try the theme package with the smalller letters, by installing the package grub2-theme-mint (which will automatically remove the 2k package upon installation). Then reboot. Still not nice enough? Then proceed with item 1.2 below.

Linux Mint only: first remove the Mint theme package for the Grub menu

1.2. Using a holiday picture as background for the Grub menu is nice. In Linux Mint you need to make sure that you don't have the Mint theme package installed for the Grub menu, because that would thwart the procedure outlined below. Like this you can ensure that the Grub of Linux Mint doesn't deviate from the Ubuntu version that it's built on:

a. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

b. Type (use copy/paste):

sudo apt-get remove grub2-theme-mint grub2-theme-mint-2k

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

Then proceed with step 1.3.

Provide a fitting image

1.3. Now choose the picture that you want for background. I've tested it with a picture with the JPG format, so the .jpg file extension (.png files are probably also suitable, but I haven't tried those myself).

Preferably choose a picture that offers enough contrast for white letters, because by default the boot lines in Grub will have thin white letters (although you can change that afterwards)!

Furthermore, the picture should be at least as big as the resolution of your display. Bigger doesn't matter: Grub will then automatically scale it back to fit your display.

When you have no suitable picture, then you can download a picture here from a beautiful evening landscape in Sachsen, Germany:

Click once on the preview below, in order to magnify the picture to the maximum. Then do a right-click with your mouse on the picture and select "Save image as...". Save it to the default folder Downloads and leave it there.


Now continue with step 1.4.

Put the picture in the right place

1.4. Put the picture, let's call it holiday.jpg, in the folder /boot/grub:

The simplest method is by using the terminal. An example is easiest: the picture called holiday.jpg is now in your folder Downloads.

Launch a terminal window.
(You can launch a terminal window like this: *Click*)

Type (use copy/paste):

sudo cp -v ~/Downloads/holiday.jpg /boot/grub

(of course you should replace holiday.jpg by the name of your own picture)

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

Proceed with step 1.5.

Tell Grub to start using it

1.5. Now you can tell Grub, that he should use holiday.jpg as background for the Grub menu.

You don't need to specify a location of the picture, as Grub sees that automatically. You only need to give Grub a general command to update itself with the new configuration.

a. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

b. Type (use copy/paste):

sudo update-grub

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

c. You're done! You can check it by rebooting your computer. No success? Then you might achieve the right result by preparing Grub. See item 2.1 on this web page.

Option: better readable text colour in the Grub menu

1.6. The text colour in the Grub menu isn't ideal: for many picture backgrounds, the text is only poorly readable. You can improve that as follows (white text, purple active line):

a. Use copy/paste to transfer the following line to the terminal:

xed admin:///etc/grub.d/40_custom

Press Enter. Type your password when prompted (you'll be prompted twice).

b. For changing the colour of the menu entries, add the following two lines below the existing text (use copy/paste to transfer them):

set menu_color_normal="white/black"
set menu_color_highlight="magenta/black"

Those colours are just examples, which you can change at will. Potential colours are red, green, blue, cyan, magenta. You can precede them with the expression light (e.g. light-red). Also allowed are white, black, light-gray, dark-gray, yellow, brown.

c. Save the modified text file and close it.

d. Then in the terminal (use copy/paste to transfer the command line):

sudo update-grub

e. Reboot and test.

Option: bigger text in the menu

1.7. The letters in the Grub menu might be far too small for you. If so, you can solve it like this:

a. First launch a terminal window.
(You can launch a terminal window like this: *Click*)

b. Then type in the terminal (use copy/paste):

xed admin:///etc/default/grub

Press Enter.

Now a text file opens. Find the following lines:

# 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=640x480


Remove the hash # before the last line, because removing that turns it into an active line. Then change the resolution into one that ensures big letters and is supported by (probably) all displays, namely 800x600:

GRUB_GFXMODE=800x600

Save the modified file and close it. Now copy/paste the following line into the terminal:

sudo update-grub

Press Enter and if prompted, submit your password. Please note that in Ubuntu the password will remain invisible, not even asterisks will show when you type it, which is normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

Replace an existing background picture?

1.8. Replacing an existing background picture is easy: simply remove the current picture first, and then repeat the above for the new picture. That's all.

Removing is easy. For example, removal of the picture called holiday.jpg can be done by this terminal command:

sudo rm -v /boot/grub/holiday.jpg

Followed by:

sudo update-grub

When you have no success: prepare Grub

2. When the normal procedure doesn't work, you can try this:

Check the screen resolution in Grub

2.1. When the normal procedure fails, you can usually achieve the desired result by preparing Grub. First of all, check the supported maximal resolution of your display (for example 1366 x 768) in Grub (not in your system):

In the Grub menu, press c to call up a command line.

Then type:

videoinfo

Press Enter.

Now you're being presented with the available screen resolutions for Grub. The one with an asterisk (*) is the preferred (native) mode.

Note: The resolutions supported by Grub, may differ from the resolutions that your system supports!

Then boot your system normally.

To make it easy I describe an example, with a display that has a Grub supported resolution of 800 x 600. 800 is the width, 600 is the height. Many people set it to that because of better readability.

Configure Grub to use the right resolution and show bigger text

2.2. Your picture might not show, and/or the letters in the Grub menu might be far too small for you. If so, you can solve it like this:

a. First launch a terminal window.
(You can launch a terminal window like this: *Click*)

b. Then type in the terminal (use copy/paste):

xed admin:///etc/default/grub

Press Enter.

Now a text file opens. Find the following lines:

# 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=640x480


Remove the hash # before the last line, because removing that turns it into an active line. Then change the resolution into one that ensures big letters and is supported by (probably) all displays, namely 800x600:

GRUB_GFXMODE=800x600

Save the modified file and close it. Now copy/paste the following line into the terminal:

sudo update-grub

Press Enter and if prompted, submit your password. Please note that in Ubuntu the password will remain invisible, not even asterisks will show when you type it, which is normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

Now you should get to see the new boot menu background upon booting.

Still no success? Then try a resolution that's one step lower than the maximum resolution that Grub supports.


Want more tips?

Do you want more tips and tweaks? There's a lot more of them on this website!

For example:

Speed up your Linux Mint!

Clean your Linux Mint safely

Avoid 10 fatal mistakes


To the content of this website applies a Creative Commons license.

Back to the home page

Disclaimer