Suddenly my grub menu doesn't show up

I searched through all forum posts and wiki pages, but still couldn’t make it work.
Today my Manjaro (on dual boot) booted strangely (without the usual countdown on the bottom), I pressed enter, logged in and rebooted to check the countdown again, but this time my GRUB menu didn’t show up at all!

I checked the /etc/default/grub and didn’t see anything unusual, checked all forum posts and this one looked promising, but didn’t help:

My entire grub file:

GRUB_DEFAULT=saved
GRUB_TIMEOUT=2
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3 resume_offset=905216 resume=/dev/disk/by-uuid/bf0237cc-23e3-4c85-a28f-bd87cad5abcd resume_offset=905216"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

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

# 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

# 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 'videoinfo'
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 this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

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

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
GRUB_ROOT_FS_RO=false

The os-prober detects accurately all the OS on board, sudo update-grub executes correctly and I can forcefully show the grub menu by spamming SHIFT+ESC keys during the boot sequence. I feel like I’m missing something very obvious here. How could I bring the grub menu back as it normally worked?

Hi @Jazz,

I believe you were the victim of…Windows.

See

I expect you’ll have to ensure the boot priority in the BIOS/UEFI is correct and reinstall GRUB as per the instructions in the above mentioned Wiki article.

Hope this helps!

1 Like

Hm… I didn’t boot into Windows for months, therefore I’m not sure how could Windows change anything when it was not even loaded. Thanks, I’ll look into your link anyway.

In that case, quite possibly not. Not that I know of anyway.

However, I still think you’ll need to reinstall GRUB, so that link is still valid.

Do you have more than one monitor plugged in?

No, I don’t.

try changing the timeout from 2 seconds to 5:
GRUB_TIMEOUT=5
save grub, update grub, reboot

2 Likes

OMG! Now it works, thanks!

But how come it worked for years with the previous setting, why I had to change it to 5s now, I don’t get it?

i really have no idea, but 2s is kinda low… but it can have something to do with the latest update? … but really have no idea… you can switch it back to 2seconds and test again…

I would have to agree it has to be this.

I just checked: now grub doesn’t like any value less than 4 to be assigned to GRUB_TIMEOUT, so 1, 2 and 3 are just ignored. Surprisingly, now when I set it to 4, it behaves as the previous 1s countdown and when I set it to 5, it behaves like the previous 2s (as per new_timeout = old_timeout + 3).

How about that? This bug is weird.

75ake3

(Sorry for the meme, it was stronger than me.) :laughing:

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