Ubuntu:启用 SecureBoot 的“以不安全模式启动”

vag*_*erg 40 grub2 uefi secure-boot

在使用 16.04 LTS 一段时间后,我刚刚安装了 Ubuntu 15.10。当我使用 16.04 时,我尝试安装 Nvidia 驱动程序并被告知我需要为此禁用 SecureBoot,所以我提供了一个密码,并在下次重新启动时某些软件要求它。但是,我的 BIOS 设置仍然显示 SecureBoot 已启用,我仍然可以看到如果我尝试从未签名的任何内容启动,它会拒绝这样做。

但是,当我重新安装 Ubuntu 15.10(完全删除与 16.04 相关的所有内容,包括 EFI 分区中的 grub)时,每次启动时都会收到一条Booting in insecure mode消息。

我已经检查了所有内容,并且都检查了:Windows 和 BIOS 设置报告 SecureBoot 已启用

Pet*_*ter 45

如果您想摆脱有关不安全启动的消息,您需要启用安全启动。为此,您需要在模块 MOK(机器所有者密钥)中打开验证:

sudo mokutil --enable-validation
Run Code Online (Sandbox Code Playgroud)

您将被要求输入两次临时密码,然后在重新启动后可以更改验证状态。

如果启用验证,则不会出现更多关于不安全启动的消息。但请记住,您将无法运行任何未签名的驱动程序:nVidia 驱动程序和 VirtualBox 将无法运行。

要禁用验证类型:

sudo mokutil --disable-validation
Run Code Online (Sandbox Code Playgroud)

然后重新启动。

如果您禁用验证并在 BIOS 安全启动中打开,您仍然无法启动任何未签名的内容。即使您的 ubuntu 已禁用验证,但由于 shim-signed 包,BIOS(UEFI)“看到”已签名。在您的 ubuntu 启动时,Shim 包会检查 MOK 状态,如果验证被禁用,则会显示消息“以不安全模式启动”。


Hri*_*dam 5

您可以通过以下方式检查安全启动的状态 -

$ mokutil --sb-state
Run Code Online (Sandbox Code Playgroud)

对于您来说,输出可能是 -

SecureBoot enabled
SecureBoot validation is disabled in shim
Run Code Online (Sandbox Code Playgroud)

您需要使用以下命令重新启用安全启动验证,这最终不会显示“以不安全模式启动”文本。

SecureBoot enabled
SecureBoot validation is disabled in shim
Run Code Online (Sandbox Code Playgroud)

在这里,该命令将要求您输入密码。该密码不是您的登录密码,只是一个临时密码。您需要设置一个密码,以下步骤将询问该密码。

现在,重新启动并按照执行 MOK 管理蓝屏上显示的说明进行操作。
选择更改安全启动状态

来源 -
https://wiki.debian.org/SecureBoot
https://wiki.ubuntu.com/UEFI/SecureBoot