3.8. Grub Customization

Pick one of these two ways.

3.8.1. Grub Customizer

Grub Customizer is a graphical interface to configure the GRUB2/BURG settings and menu entries.

Install Grub Customizer:

1sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer
2sudo apt install -y grub-customizer

You may add a background image in the Appearence Settings tab.

3.8.2. Grub theme

Copy the theme directory inside /boot/grub/themes/ and change the ownership with:

1chown -R root:root /boot/grub/themes/

Reference the theme:

/etc/default/grub
1GRUB_GFXMODE=1920x1080,auto
2
3GRUB_THEME="/boot/grub/themes/Slaze-ddidier/theme.txt"

Add some metadata to the menu entries:

/etc/grub.d/10_linux
1# Change the line 511 at the time of writing from:
2echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
3# To:
4echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' -class ubuntu-advanced --class gnu-linux-advanced --class gnu-advanced \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
5#                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/etc/grub.d/30_uefi-firmware
1# Change the line 40 at the time of writing from:
2menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
3# To:
4menuentry '$LABEL' --class uefi --class efi \$menuentry_id_option 'uefi-firmware' {
5#                  ^^^^^^^^^^^^^^^^^^^^^^^^

Apply these changes with sudo update-grub.

Some references: