UEFI 上的 Linux - 如何像 Windows 8 一样重新启动到 UEFI 设置屏幕?

UEFI 上的 Linux - 如何像 Windows 8 一样重新启动到 UEFI 设置屏幕?

makeuseof.com 解释说,Windows 8 认证的硬件有一种进入 UEFI 设置屏幕(相当于 BIOS)的新方法。来自如何在 Windows 8 计算机上访问 BIOS

我们不再需要在启动过程中按下某个键来显示 BIOS - 相反,在 Windows 8 的启动选项菜单中有一个访问 BIOS 的选项...如果您只是想访问计算机的 UEFI BIOS,请单击“疑难解答”图块。

Linux 安全启动的主要开发人员表示替代操作系统不能假设旧的方式将继续发挥作用。那么Linux是否也有新的方式进入UEFI设置呢?

我有一块华硕主板。它提示升级后的固件版本包含快速启动选项. 不利的一面是,该选项可能会使“泄露 BIOS” 变得比现在更加困难。

我不介意修修补补。只是如果知道这不是一个好主意,我不想冒着固件升级的风险而白白浪费时间(而且可能不得不拆下外壳,重置设置,然后重新设置)。


或者,Windows 7 用户如何处理这个问题?如果他们乐观地选择快速启动选项,那么当他们需要时,如何再次访问“BIOS”设置?

答案1

在使用 systemd 的现代 Linux 发行版上,您可以使用以下命令直接进入固件设置菜单:

systemctl reboot --firmware-setup

文档: https://www.freedesktop.org/software/systemd/man/systemctl.html#--firmware-setup

答案2

我不确定 Windows 8 具体是如何做到这一点的,但我猜测它利用了用于启动选项的 UEFI 变量。

您可以使用启动管理器确定各种引导变量的含义。在我的系统上,Boot0000 是 Setup,因此使用efibootmgr -n 0应该会导致系统在下次引导时引导到 Setup。

答案3

我写了一个小工具来做这个,不需要 systemd,https://github.com/adoakley/efi-boot-to-fw-ui

答案4

根据@Lekensteyn 的回答,我创建了一个 UI 快捷方式(如果您的环境仍有管理菜单,则位于管理菜单中)。如果您的键盘似乎在 POST 之后才工作,则这很有用。

/usr/share/applications/uefi-reboot.desktop

[Desktop Entry]
Name=UEFI Firmware Setup (Reboot)
Comment=Access the motherboard configuration utility
Exec=systemctl reboot --firmware-setup
Icon=system-restart
Terminal=false
Type=Application
Categories=System;Settings;

相关内容