I want to always see the grub menu, ideally with a countdown.
Even though I’ve used linux for decades, I could not get grub to show the menu consistently. Spent the afternoon reading and searching and trying various combinations of variables in /etc/default/grub and the best I can say is grub2 doesn’t appear consistent. I could shutdown and boot 5 times in a row, without changing anything, and the menu would randomly show.
Has anyone successfully gotten grub2 to always display the grub menu? If so, how.
The grub menu always shows here. I do increase the timeout time to 15 seconds, to make sure that I don’t miss it.
As far as I know, when you hibernate, that sets it to boot directly to the hibernated system. So I guess you would not see the menu in that case. After that boot, it is supposed to clear the automatic boot into the hibernated system, but I’m not sure if that always works when “/boot” is part of a “btrfs” partition.
Anyway, those are my random thoughts on your problem.
The GRUB2 menu shows here (with a 8 secs countdown) at every boot of all systems since GRUB2 is used by openSUSE (before that the legacy GRUB menu was shown and before that the LILO menu was shown).
And to the how to achieve that: I wouldn’t know how NOT to achieve that. I always just installed openSUSE. Nothing particular with respect to GRUB.
I even have no idea what you see when you do not see the GRUB menu. Does it boot then (and when yes, what)? Or does it stop doing nothing?
Regarding the menu, I currently have set: GRUB_TIMEOUT=8
GRUB_TIMEOUT_STYLE say: “If this option is unset or set to ‘menu’, then GRUB will display the menu and then wait for the timeout set by ‘GRUB_TIMEOUT’ to expire before booting the default entry. Pressing a key interrupts the timeout.”
It sounds like it should work. The menu should be displayed for 8 seconds before taking the default. Unfortunately it is not consistent. The Grub menu is not always displayed. The same thing happened with GRUB_TIMEOUT=-1.
I’m running tumbleweed in a qemu-kvm virtual machine and I’ll shutdown tumbleweed vm and in libvirt I’ll click Run. Some times the grub menu is displayed, but I can’t predict when.
I’ll repeat the above - bring the vm up, shutdown, boot. I wouldn’t do this on a real machine, but I need to have confidence in the boot process and the grub menu before installing on real machines.
However, if I close the virtual machine view, without shutting down the virtual machine, then when I next open it I will, of course, view the still running machine without going through any booting.
Most likely something to do with that particular PC’s BIOS. I have an Asus laptop where for some reason the display comes on at slightly different random times at boot.
One time, the Asus logo will show, centred, another time the Asus Logo will flash a moment in far lower right corner, another time the Asus Logo does not show at all and I see a text about Grub loading or something like that. At different times, especially when the Asus Logo does not show, I either do not get to see the Grub menu, or the Grub menu is just a split-second splash.
Most the time, the menu comes up properly, but randomly it does not.
I put that down to something in the BIOS routines re: GPU or Screen or something.
Your response made me rethink what I was seeing or NOT seeing on the screen at boot. The Grub2 menu, I now believe, is always there, but only sometimes visible. When I should be able to see the Grub2 menu, I see a blank screen. If I press C or E, the correct action is actually taken and I see the command line or configuration. So the Grub menu is there, it just isn’t visible… most times.
I do not know if this is related but I was having problems with KDE Plasma video resolution. On GRUB_CMDLINE_LINUX_DEFAULT I have vga=0x37e. The resolution of 1440x900 doesn’t seem to get passed to Xorg. The resolution was stuck at 1024x768 (verified with xrandr). The KDE behavior was different in Leap vs Tumbleweed. In Leap I could change the resolution via KDE system setting but it didn’t actually change it or remember it. In Tumbleweed it would switch and immediately switch back. Stopping KScreen2 allowed the resolution to stick. But the end solution for both was to modify /etc/X11/xorg.conf.d/50-monitor.conf with the snippet below:
Obviously this change doesn’t impact grub, but maybe whatever is causing grub’s problem is causing X’s and KDE’s problem (not getting the correct
video resolution)… which would be the kernel (??).