我有一台双启动的 64 位 UEFI PC,并且安全启动已关闭。
在今天的 GRUB2 更新之后,我在 GRUB2 屏幕出现之前收到“以不安全模式启动”消息。此更新之前未显示此消息。
我怎样才能删除多余的消息?
答案1
简单的答案
Shim ( shimx64.efi
) 程序显示此消息是为了告诉您计算机在安全启动不可用或已禁用的情况下启动。不是出现错误消息,并且确实不是表示存在问题——除非您认为您在启用了安全启动的情况下进行启动,这大概就是首先显示该消息的原因。
俗话说“没坏就别修”。什么都没坏。最坏的情况是,这是一个多余的启动信息,你可以放心地忽略它。你可以这样做,不会有什么不好的事情发生。这是处理根本问题最安全、最简单的方法,不是一个问题。
如果你真的必须改变它
如果您真的被该消息烦到了,您可以通过绕过 Shim 并直接启动 GRUB 来删除它。但请注意,这样做意味着您将无法启用安全启动(如果您决定要使用它的话)——至少,除非重新配置计算机以通过 Shim 启动。还存在产生新问题的风险,甚至可能导致计算机无法启动。
要绕过 Shim,您必须使用该efibootmgr
工具或其他操作系统中的等效工具。步骤如下:
- 启动到 Ubuntu
- 打开终端窗口。
- 输入
sudo efibootmgr -v
。这将显示您当前的所有启动项。其中一个将被调用ubuntu
并引用shimx64.efi
。那里可能ubuntu
是引用的第二个条目grubx64.efi
。 - 如果您看到第二个引用 的引导条目
grubx64.efi
,则可以BootOrder
使用 选项更改该-o
行efibootmgr
。此选项设置新的引导顺序。记下条目编号grubx64.efi
并将其作为第一的选项为-o
,现有BootOrder
条目填充其余部分。例如,如果您的当前条目BootOrder
为0007,000A,0000,0003
,grubx64.efi
条目为Boot0003
,则您可以输入sudo efibootmgr -o 0003,0007,000A,0000
。 - 另一方面,如果没有现有
grubx64.efi
条目,则必须使用以下命令创建一个新条目sudo efibootmgr -c -d /dev/sda -p 2 -l \\EFI\\ubuntu\\grubx64.efi -L ubuntu
,但更改/dev/sda
为您的EFI 系统分区 (ESP)驻留并更改2
(的-p 2
)以引用 ESP 的分区号。输入df /boot/efi
将显示您的 ESP 的位置。 - 重新启动并希望它能正常工作。
请注意,上述过程可能会导致您的计算机无法启动,尤其是当您需要创建新的启动项时——输入错误可能会创建无效项,该项在最好的情况下会被忽略,在最坏的情况下会导致启动失败。这种情况不太可能发生,但您不应完全排除这种可能性。
如果此过程让您感到困惑,或者您担心计算机无法启动的风险,请重新阅读我答案的前面部分并重新考虑进行此更改。
请注意,在某些计算机的固件中(但用户界面有所不同),在 EFI shell 中使用其bcfg
命令,或在 Windows 中使用第三方简易UEFI工具。如果你使用 Windows 双启动,最后一个选项可能比efibootmgr
在 Ubuntu 中使用要容易得多——至少,如果GRUB 有一个现有的直接启动选项。如果没有,那么使用 EasyUEFI 添加这样的选项不会比使用 更容易或更安全efibootmgr
。