Grub theme disappeared

I swear this change occurred when I had to re-enable os-prober for my Windows partition :cry: but I now only have the basic grub theme, like this (but with EndeavourOS labels correct):
image

Contents of etc/default/grub:

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="EndeavourOS"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nowatchdog"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# 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=1920X1080

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME=/boot/grub/themes/EndeavourOS/theme.txt
GRUB_THEME=/usr/share/grub/themes/starfield/theme.txt 
 
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y
GRUB_DISABLE_SUBMENU=y

# To enable usage of os-prober, set GRUB_DISABLE_OS_PROBER to 'false'.
# Note: enabling os-prober creates a potential security risk!
# More info: https://www.gnu.org/software/grub/manual/grub/grub.html
GRUB_DISABLE_OS_PROBER=false

Output of sudo grub-mkconfig -o /boot/grub/grub.cfg:

[john@hpspectrex360 ~]$  sudo grub-mkconfig -o /boot/grub/grub.cfg
[sudo] password for john:  
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/starfield/theme.txt
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  intel-ucode.img amd-ucode.img initramfs-linux-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
done

Last one:

[john@hpspectrex360 ~]$ ls -1 /boot/
amd-ucode.img
efi
grub
initramfs-linux-fallback.img
initramfs-linux.img
intel-ucode.img
vmlinuz-linux

I have had the same results with several different themes and verified the themes contain all required files. Also, changing GRUB_GFXMODE has no effect on the displayed grub. Can someone point me to the stupid mistake I’m overlooking?
Thanks!

This is how my Grub file looks:

sudo nano /etc/default/grub

#Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME=/boot/grub/themes/EndeavourOS/theme.txt

Could try uncommenting that one odd section you have:

GRUB_THEME=/usr/share/grub/themes/starfield/theme.txt in your Grub file.

Make that part of your file look like this:

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME=/boot/grub/themes/EndeavourOS/theme.txt
#GRUB_THEME=/usr/share/grub/themes/starfield/theme.txt

Just make sure to Rebuild grub after you save your edit:

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

Reboot.

Thanks for the quick answer but the grub file originally read just like your first code block, using the default theme.
After the update that disabled os-prober, I re-enabled it, thinking that was the only change I made. After running sudo grub-mkconfig and rebooting, the theme was no longer applied. That’s when I tried the other theme as listed above. Now any changes to GFXMODE or theme are not applied after grub-mkconfig and reboot (including simply going back to the default theme).

EDIT: It’s something with the way I entered resolution, even though it’s valid. When I switch back to GRUB_GFXMODE=auto the theme is displayed properly.

https://wiki.archlinux.org/title/GRUB/Tips_and_tricks

The part on checking framebuffer resolution. You can check what your graphics card supports, and also add auto as fallback.

Thank you, I didn’t know about the option to set preferred, fallback, and auto.
Videoinfo from grub command line showed the 1920x1080 as preferred so not sure why it didn’t work, unless I used an o instead of 0. Will try multiple options but figure auto has me covered.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.