I totally get it that the Fedo 34 “clean bootup screen” is seen as cool.
It would be nicer though to have in /etc/defaults/grub
or wherever, a hint of how to FORCE visibility of the boot menu.
Not having the grub menu takes away a lot of power and capability away from the user. This, really, is not so cool. Tried to find sth. but gave up since so many other problems occurred.
It has got to be possible somehow, since it is supposed to - but will not always - show after a crash.
So the automatism is kinda faulty and users want the real thing: manual control over grub menu instead of some automatism-algorithm stuff like on a censored media platform.
I am sure, that behaviour of hiding the crucial grub-boot-menu
will be intensely disliked by some, especially , as no quick hint textline
in /etc/defaults/grub is to be found to make up for such a grave loss.
it is difficult to hit ESC key at exactly the right moment during the boot-up and the time window for that is small.
Disabling the menu-hiding by running sudo grub2-editenv - unset menu_auto_hide, as well as a whole bunch of other questions which people may have about the hidden-grub-menu feature are documented in the FAQ which I wrote about this:
If someone knows a better place to put all the info, by all means feel free to copy this and use it in other Fedora documentation resources, as long as it is published under some FOSS license.
It still fully applies. If you see anything which is not correct please let me know, but to the best of my knowledge (and I’m the author of most of the involved code) everything in the FAQ is still correct.
On my BIOS-based machine, the Shift-key seemingly will force visibility of grub2 menu, while the exact moment of keypress is more relaxed than with the ESC-key.
to change the preset, consider these bash lines:
sudo grub2-editenv - unset menu_auto_hide
sudo grub2-editenv - set menu_auto_hide=1
sudo grub2-editenv list
sudo grub2-editenv - list
sudo grub2-editenv -- list
grubby is not being used for this functionality. Do not rely on the man page.
sudo dnf reinstall grub2-common # to put stuff back to normal after mess-up
manpage leaves out the parameter " - " which is offputting.
grub2-editenv --help
Usage: grub2-editenv [OPTION...] FILENAME COMMAND
If FILENAME is " - " then the default value
/boot/grub2/grubenv is used.
Tool to edit the grub2 environment block.
Commands:
create Create a blank environment block file.
incr [NAME ...] Increase value of integer variables.
list List the current variables.
set [NAME=VALUE ...] Set variables.
unset [NAME ...] Delete variables.
Options:
-?, --help give this help list
--usage give a short usage message
-v, --verbose print verbose messages.
-V, --version print program version
There is no "delete" command; if you want to delete the whole environment
block, use "rm /boot/grub2/grubenv"
Report bugs to bug-grub@gnu.org
AFAIK the FILENAME argument to grub2-editenv is mandatory, that is why the - needs to be there.
As for the manpage not documenting the -, yes that is less then ideal.
If someone feels up to writing a fix for that, then that would be great.
Ideally you would submit the fix upstream yourself, but if you commit
the changes with “git commit -as” and then do “git format-patch HEAD~”
and email me the generated patch file at hdegoede@redhat.com, then I
can submit it upstream for you if you want.
Yes list is special in that it will use the default file if no filename is given, unlike the others. I thought this was documented behavior, but I cannot find this documented anywhere, so this is another thing to fix in both the manpage and the --help output.
The official grub git repo is here: https://git.savannah.gnu.org/cgit/grub.git note grub still uses an email based workflow. There is a Fedora specific grub git repo here: https://github.com/rhboot/grub2 you can submit a pull-req there and then I can take care of submitting it upstream through the email workflow. Note that any grub patches need to have a Signed-of-by as part of their commit message, see: https://elinux.org/Developer_Certificate_Of_Origin . If you use git commit -s to commit your changes then git will add this to the commit-message automatically.