How to always have the grub boot menu display

I have seen several posts with users and problems in not having the grub boot menu display with Fedora 32 on a single boot machine. I had the same problem on one system and IIRC it began with F32 when the default became “boot the latest kernel and don’t display the kernel selection menu”.

I have done some research and found a really easy fix that will set the system to always display the grub menu for kernel selection that I have not seen mentioned in any discussions here.

Looking in /etc/grub.d I found an entry named “12_menu_auto_hide” in which the solution is easy to find. Part of the code in that file is below, with my modifications.

cat << EOF
if [ x\$feature_timeout_style = xy ] ; then
  if [ "\${menu_show_once}" ]; then
    unset menu_show_once
    save_env menu_show_once
    set timeout_style=menu
    set timeout=60
  elif [ "\${menu_auto_hide}" -a "\${menu_hide_ok}" = "1" ]; then
    set orig_timeout_style=\${timeout_style}
    set orig_timeout=\${timeout}
    if [ "\${fastboot}" = "1" ]; then
      # timeout_style=menu + timeout=0 avoids the countdown code keypress check
      set timeout_style=menu
###      set timeout=0
      set timeout=5
    else
###      set timeout_style=hidden
###      set timeout=1
      set timeout_style=menu
      set timeout=5
    fi
  fi
fi
EOF

How to do the fix
first comment out the lines that I have marked with “###” then replace them with the lines I added immediately below. With these changes followed by running "grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg it changed the boot behavior on my machine to always display the grub boot menu for 5 seconds before continuing the boot. That small change allows easy selection of an older kernel if the latest update causes a problem.

There is an more easy way, as far as I know.

sudo grub2-editenv - unset menu_auto_hide

Doesn’t it work?

Did not try that because I was unaware of the command.
However, my method works and I am happy with the results.