0

Very recently my BIOS option is not accessible during the boot.

I checked the solution of Adriaan here but I'm puzzled.

(base) user@machine:~$ grep -e "^menuentry " /boot/grub/grub.cfg
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-####' {
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {

Well, it seems there is a UEFI Firmware Settings but seeing there are two menu entries, starting from which should I count ?

If it can help you to find a solution in the /boot/grub/grub.cfg file the first menuentry is in ### BEGIN /etc/grub.d/10_linux ### part and the second menuentry is in ### BEGIN /etc/grub.d/30_uefi-firmware ###.

#/boot/grub/grub.cfg file
### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
        fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

/etc/default/grub is set as the following.

#/etc/default/grub file 
#If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0 GRUB_TIMEOUT_STYLE=countdown GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""

Besides, looking at some boots log I suspect it's from Kernel Version update. I noticed the BIOS was not displayed those last days. Concretely in Tue Jun 8 my machine booted on 5.4.0-73-generic and since it has booted on 5.4.0-74-generic. If this is from this I am not experienced at all to do anything with this information unfortunately.

Motherboard (recognized by the OS) TUF Z390-PRO GAMING.
Version
Kernel: Linux 5.4.0-74-generic(x86_64)
Distribution: Ubuntu 18.04.5 LTS
Version: #83~18.04.1-Ubuntu SMP Tue May 11 16:01:00 UTC 2021

AvyWam
  • 151

1 Answers1

0

Counting menuentrys


Count only the highest-level instances of menuentry and submenu in /boot/grub/grub.cfg — ignore anything within a submenu. If you have only Ubuntu installed, the UEFI Firmware Setup option should be third, after the submenu for advanced options — i.e., you would set GRUB_DEFAULT=2 since GRUB counts from 0. If you’re dual-booting with Windows, the GRUB_DEFAULT should most likely be set to 3.

Viewing the Menu


I notice that GRUB_TIMEOUT_STYLE is set to countdown. From GRUB’s manual, this means your GRUB menu would be hidden for GRUB_TIMEOUT (5 seconds in your case), but with only a single number (usually at the top-left) showing the countdown.

In the ‘countdown’ case, it will show a one-line indication of the remaining time.

You probably want to set GRUB_TIMEOUT_STYLE to "menu".

Even if you don’t, you should be able to view the menu during the 5-second countdown by pressing either ESC, F4, or holding SHIFT:

If ESC or F4 are pressed, or SHIFT is held down during that time, it will display the menu and wait for input.

Getting to Firmware Setup


If your goal is to just have the UEFI Firmware Setup option show up, don’t change GRUB_DEFAULT, because you’ll enter setup each time you boot, then. Instead, try what I said above in Viewing the Menu.


N.B.: Remember to run sudo update-grub after editing /etc/default/grub.

By the way, there is one possible cause of the UEFI entry disappearing from GRUB that I have here ignored; your machine may be booting up in Legacy BIOS mode, instead of UEFI. However if /boot/grub/grub.cfg really does contain a menu entry for 'System setup' like you say it does, with the command fwsetup within it, then this is definitely not the case.


Note: the line that says 'System setup' indicates that your UEFI Firmware Setup option in the GRUB menu will instead be titled System setup. Just a heads-up. You can name this anything you like.

Hope this helps!

mavenor
  • 11
  • this is well introduced and clear, thank you. As you told my goal is having UEFI Firmware Setup option to show up. So I did not change GRUB_DEFAULT but GRUB_TIMEOUT_STYLE to menu. The issue is my screen is totally black and displays nothing during the boot, it only shows the part where you select the user for a session. – AvyWam Jun 14 '21 at 06:30
  • Besides, when I press Esc and F4 (one after one in order to wait for something displayed) I noticed something happens. I mean, the part to select the user for a session does not show up at all, it takes a lot more time, so I think there is something displayed but my screen keep black at this moment (but not black like 'No signal' you know). – AvyWam Jun 14 '21 at 06:38
  • Ah! The plot thickens! Interestingly, the issue you’re facing seems to really be the same as what I’ve experienced before, and those outlined here and here. Just so we know for sure if it’s what I’ve seen before, could you try rebooting into UEFI-setup (using systemctl reboot --firmware-setup), and then manually loading GRUB from there? (It’ll probably show up as ubuntu in the list) – mavenor Jun 14 '21 at 19:24
  • This mayn’t do anything, but I have a hunch that most UEFI firmwares present different graphics capabilities, probably through changes in NVRAM variables, to the EFI image; depending on how you get to said image. On a 2019 MBP, as well as an old Dell Inspiron, e.g., GRUB is invisible (but fully functional) when accessed through iBoot and Dell’s UEFI respectively; it works fine when booted by default, though. – mavenor Jun 14 '21 at 19:27
  • thank you anyway. Now, since I tried to unistall last kernel update as shown in the documentation, neither the bios UEFI shows up, nor the OS shows up. I reached I new level of troubles by my own... But I am pretty sure this all related to the last kernel update I did. Maybe my motherboard is over now, I don't know. I will test other hypothesis tomorrow morning. – AvyWam Jun 14 '21 at 22:23