Ubuntu 16.04 - 如何禁用安全启动?

我在Dell 5470上安装了Ubuntu 16.04。由于某些原因,我想重新安装它。我想从USB启动以重新安装Ubuntu。问题是,由于Secure Boot,我无法访问BIOS和启动菜单。当我在启动过程中按下F2或F12时,计算机仍然会启动进入Ubuntu。
我尝试了systemctl reboot --firmware-setup,但收到了Cannot indicate to EFI to boot into setup mode: Operation not supported的错误消息。请问如何从USB启动并重新安装Ubuntu?

1你在UEFI中保留了快速启动吗(而不是Windows的快速启动)?如果是这样,你可能没有足够的时间按下键。grub menuentry 'System setup' 应该有效,如果不行,请尝试冷启动或断开所有电源,包括笔记本电脑上的电池,按住电源开关大约10秒以排出所有剩余电力并重新启动,立即按下正确的键进入UEFI。http://askubuntu.com/questions/652966/unable-to-access-bios-menu-after-installing-windows-8/653006#653006 - oldfred
谢谢,我已经尝试断电,然后重新启动电脑时按下F2键,我可以看到我的电脑能够接收到我的输入,因为屏幕上的提示从“F2进入BIOS”变成了“准备...”。但是我仍然无法进入BIOS。 - sflee
F12可以带您进入UEFI启动菜单吗? - oldfred
3个回答

有几种方法可以进入固件设置实用程序,其中一些你似乎已经知道:
  • 在开机时使用按键 -- 不幸的是,几乎没有关于使用哪个按键进入设置工具的标准化。通常是Esc、Enter或功能键(但具体是哪个键却各不相同,通常是F2、F8或F10,但也可能是其他键)。设置固件的“快速启动”功能有时会禁用此种方式进入设置工具,因为这样会导致USB端口未初始化。如果计算机有PS/2端口,您可以尝试使用PS/2键盘来解决此限制。
  • 使用systemctl -- 您之前提到的命令sudo systemctl reboot --firmware-setup在某些计算机上有效;但显然对您来说并不起作用。Windows 8及更高版本提供了类似的功能,所以如果您能够启动Windows,可以尝试一下,说不定效果会更好。
  • 使用引导管理器的重新启动到设置功能 -- 一些引导管理器提供了重新启动到设置实用程序的功能。GRUB就有这个功能(尽管默认情况下可能未激活),我的rEFInd引导管理器也有(默认情况下已激活,但可以禁用;如果计算机不支持必要的功能,它将不会出现),gummiboot/systemd-boot也有(我不记得默认情况下是否激活)。我不能确定,但我怀疑这个功能只能在前面的方法适用的那些计算机上起作用,所以我对它在您的计算机上能否起作用并不抱太大希望。
  • 删除所有其他引导选项 -- 如果基于EFI的计算机找不到其他引导加载程序,通常会启动其设置实用程序。利用这一点的最佳方法通常是拔掉所有硬盘(如果您的网络支持网络引导,则还要拔掉网络电缆)。或者,您可以删除EFI系统分区(ESP),或者删除或移动其中的所有引导加载程序文件,以便固件无法找到它们。这种方法的问题在于,将系统恢复到原始状态后可能无法再次引导启动,因为许多EFI会删除其NVRAM中对已失效引导选项的引用。因此,完成后您可能需要使用Boot Repairefibootmgr或其他工具重新安装GRUB或重新创建其NVRAM条目。
顺便说一下,很有可能不是Secure Boot本身阻止你进入固件设置实用程序。(尽管戴尔可能将Secure Boot与更难进入固件的操作关联起来,但这种关联并非Secure Boot所必需的,而且我自己从未遇到过。)更有可能的是固件的“快速启动”功能导致USB端口未初始化,这可能是问题的根源。另一个可能性是你按错了键或者在(通常非常短暂的)有效时间窗之外按下了键。在戴尔论坛上提问或查看文档以了解应该按哪个键,并尝试多次,在计算机启动时反复按下。

非常感謝您詳細的回复,我確信我按下了正確的按鍵,並且我的電腦可以接收到我的輸入,因為屏幕上顯示了反應。儘管如此,它仍然直接進入操作系統。順便說一句,也許是“快速啟動”的原因,我今晚必須再次檢查一下。 - sflee

使用efibootmgr来更改和设置引导管理器等待用户输入的超时时间 - 一个示例:
$ sudo efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002
Boot0000* fedora
Boot0001* ubuntu
Boot0002* UEFI OS  

目前我的电脑的启动管理器超时时间设置为1秒,现在我们将其更改为10秒。
sudo efibootmgr --timeout 10
BootCurrent: 0001
Timeout: 10 seconds
BootOrder: 0001,0000,0002
Boot0000* fedora
Boot0001* ubuntu
Boot0002* UEFI OS  

重新启动并按下 F2F12 进入BIOS,并在UEFI设置中禁用安全启动。

我可以看到我的电脑接收到了我的输入,但我会在今晚尝试一下。提前谢谢。 - sflee

长话短说,要击败快速启动,对我来说始终有效的方法是按住F12和Delete键,然后开机。如果你听不到那个哔声,迅速关机(如果你在双启动Windows),然后重复操作。这对我来说总是在第二次尝试时奏效。

这个问题似乎是在谈论安全启动而不是快速启动,它们是不同的事情。 - sbergeron