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


30

在使用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


我遇到了与HP EliteDesk 705类似的东西,但是我尚未对其进行全面研究。您拥有什么品牌和型号的计算机,它是什么品牌的EFI?(键入dmesg | grep -i efi应产生带有EFI信息的输出。第一行之一应标识EFI的制造商,如efi: EFI v2.31 by American Megatrends。)
Rod Smith

这是MSI GS60笔记本电脑,EFI也是由American Megatrends提供的。我发现即使启用安全启动也不会发生这种情况
vagaerg

Answers:


38

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

sudo mokutil --enable-validation

系统将要求您输入两次临时密码,然后重新启动后才能更改验证状态。

如果启用了验证,则不会再显示有关不安全启动的消息。但是请记住,您将无法运行任何未签名的驱动程序:nVidia驱动程序和VirtualBox将无法运行。

要禁用验证类型:

sudo mokutil --disable-validation

然后重新启动。

如果您禁用验证并且在BIOS安全启动中已打开,则仍然无法引导任何未签名的东西。即使您的ubuntu禁用了验证,但由于使用shim签名的程序包,BIOS(UEFI)仍将其“视为”已签名。ubuntu引导时,Shim软件包会检查MOK状态是什么,如果禁用了验证,则会显示消息“以不安全模式引导”。


1
@Peter我现在可以在禁用验证的情况下运行nvidia专有驱动程序,并在UEFI中将安全启动打开。
sawablo

Virtualbox在这里启用了验证功能。
omisson

如果您自己签名并将签名密钥注册为MOK,则可以运行启用了验证的任何专有或自编译内核模块。参见askubuntu.com/a/797442/12049
ssice
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.