Grub splash screen is not correct

A few days back I needed to get the nVidia drivers and their kernel modules installed. After some time with help from here we managed to get me up and running on the nVidia drivers, but there was an accidental trade off. As you can see from the image below each kernel is listed when I reboot instead of having a Grub menu of EndeavourOS, Endeavour Advanced Options, BTRFS options, and UEFI option. I’d like to get this corrected. In the nVidia thread a couple of suggestions were made that did not seem to work, so I thought a stand alone thread would be better. My Grub is below. Thanks

# GRUB boot loader configuration

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

module_blacklist=nouveau

# 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=auto

# 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

# 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"
GRUB_DISABLE_SUBMENU=y

If you comment out the following line in /etc/default/grub

GRUB_DISABLE_SUBMENU=y

i.e. change it to

#GRUB_DISABLE_SUBMENU=y

And run

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

How does the menu look like, after rebooting?

4 Likes

submenu is disabled

3 Likes

That did the trick. I’m thinking I forgot to do the one command in Konsole last time before doing the reboot. Thanks

2 Likes

On Manjaro and Buntu you would run

sudo update-grub

But that’s just a script that does: grub-mkconfig -o /boot/grub/grub.cfg

1 Like

yea I noticed the difference. Thanks for the info.

1 Like

Why need a script when an alias is enough :thinking:

3 Likes

Because it’s Ubuntu? or not…

1 Like

I guess so it can be easily installed as a package. The alias has to go into your .bashrc and that’s a bit more complicated to implement automatically. What if you’re using zsh? Or some obscure shell, like fish? I guess that’s why they made it a script.

Idk, the whole thing seems a bit silly to me, just do grub-mkconfig -o /boot/grub/grub.cfg. It’s not like you’re running this command several times a day and you’re actually saving some time by not typing it out in full…

2 Likes

I am too lazy and set an alias upg (UPdate Grub)
:man_shrugging:

2 Likes

I change my grub settings maybe once in a year. Maybe… So I didn’t feel the need to do that, but if that makes you happy, that’s great :slight_smile:

2 Likes

Truly it is - I have that alias in my .bashrc system - and I don’t even use grub! :laughing:

2 Likes

OK waited a while before revisiting this. Mow that the one issue is resolved I’d like to know how difficult it would be to get the advanced menu to actually show the kernel versions. I’m use to being able to click advanced options during boot and seeing listed a couple of the current kernel I’m running, a couple of the previous kernel, and a couple of older kernels. The way it is now the 4 listed are all 5.8.10 as far as I know. To me that’s a problem if there happens be a bug that affects all the 5.8.10 kernels, there no rolling back to say 5.8.9, 5.7?, or 4,?.? if needed. The only option at that point is to use Timeshift. Would like help fixing this if possible. Thanks

The current kernels available from the official repos:

If you want kernels from older series, you need to look into building them from AUR, for example:



and their corresponding headers.

What I currently have.

➜  ~ pacman -Q | grep linux
archlinux-appstream-data 20200828-1
archlinux-keyring 20200820-1
lib32-util-linux 2.36-1
linux 5.8.10.arch1-1
linux-api-headers 5.8-1
linux-atm 2.5.2-6
linux-firmware 20200817.7a30af1-1
linux-hardened 5.8.10.a-1
linux-hardened-headers 5.8.10.a-1
linux-headers 5.8.10.arch1-1
linux-lts 5.4.66-1
linux-lts-headers 5.4.66-1
linux-zen 5.8.10.zen1-1
linux-zen-headers 5.8.10.zen1-1
playonlinux 4.3.4-2
util-linux 2.36-4
util-linux-libs 2.36-4

You still have the 5.4 LTS.

My thing is the below. Yes I can assume the LTS listed the is the 5.4.46, but I would still prefer to have the actual kernel versions on that screen.

I suppose then you need to dig into the code for Grub or grub-mkconfig which generates those boot entries in /boot/grub/grub.cfg.

1 Like

I just don’t get why they’re not there by default. Manjaro, Garuda, Neon, Kubuntu, Mint all have them list by kernel version.

Don’t know. Different distros tend to use different implementations of Grub.