How do I tell grub to give me the option to boot to bios?

I’ve already opened up both /boot/grub.cfg & /etc/default/grub in geany but I don’t see anything mentioning the bios, there’s also a /boot/efi folder in case that’s of any relevance. The reason I can’t just hit a key at boot is because the menu for it is hidden, the drive is encrypted and the system boots faster than I can find an opportunity to see if the section of the boot process I’m on is the one where I need to hit keys, finally there’s also no indication of what key it would be so I would have to go through the boot process many times before I manage to identify it. I’d like to skip that if possible and I assume grub is the place to do so.

In /etc/default/grub, change the following values… :arrow_down:

GRUB_TIMEOUT_STYLE=hidden

… to… :arrow_down:

GRUB_TIMEOUT_STYLE=menu

… and set a longer timeout before the system automatically boots to the default choice… :arrow_down:

GRUB_TIMEOUT=10     # ← this is the timeout in seconds

After modifying the file, save it and run… :arrow_down:

sudo update-grub

If your system boots up in native UEFI mode, then the option to boot into the UEFI setup utility will be the last item in the menu.

Thank you :slight_smile: Gonna reboot now to see if it achieved what I was after.

1 Like

So first off to get there from grub:

c

will take you to command line where you can enter

fwsetup

For a permanent option I would add the file
/etc/grub.d/30_uefi-firmware

#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2020  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"
exec_prefix="/usr"
datarootdir="/usr/share"

export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"

. "$pkgdatadir/grub-mkconfig_lib"

LABEL="UEFI Firmware Settings"

gettext_printf "Adding boot menu entry for UEFI Firmware Settings ...\n" >&2

cat << EOF
if [ "\$grub_platform" = "efi" ]; then
        menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
                fwsetup
                }
fi
EOF

And run

sudo update-grub

Thanks, the 1st solution was enough in this case, though maybe someone else who finds this thread later might find it useful so it won’t be a wasted comment :slight_smile:

Actually the answer @cscs gave is more correct in regard to your topic title IMHO…

The first answer is just giving you a way to DISPLAY the option that gets auto generated if at all, while the second answer manually adds that option to the grub menu. :wink:

Maybe but to me display is the same as give in this case so 1st solution was fine :slight_smile:

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