安装 Linux Mint 20.1 时第一次重新启动后出现“注册 MOK”对话框 - 它的用途是什么(安全启动)?

安装 Linux Mint 20.1 时第一次重新启动后出现“注册 MOK”对话框 - 它的用途是什么(安全启动)?

我有一台双启动笔记本电脑 Windows 10 / Linux mint 20。启用了安全启动以及硬盘加密,但后者对于这个问题可能并不重要。

顺便说一句,我的问题与这个非常相似:https://forums.linuxmint.com/viewtopic.php?t=274365

我安装了 Windows,然后安装了 Linux Mint。 Mint 安装后,计算机重新启动,并要求我“继续启动”或“注册 MOK”。我不知道该怎么办,就用另一台笔记本电脑上网搜索。在搜索时,对话框显然超时了,计算机只是继续启动。笔记本电脑是已更新至最新 BIOS 的 Dell Vostro 5581。

同一天晚些时候,我从 Oracle 网站(而不是从存储库)安装了 Virtualbox。在控制台上以文本模式安装期间,它要求我确认是否要在下次重新启动时注册 MOK 并输入临时密码。我这样做了,重新启动并注册了 MOK。 (顺便说一句,我不知道自己在做什么)

所以,这是我的问题。所有这些安全启动的事情对我来说都是非常新鲜的。

  1. 当您第一次安装 Mint 并重新启动时,出现的初始“继续启动”或“注册 MOK”对话框是什么?这甚至在操作系统启动之前就出现了。我认为这是BIOS的问题。如果您只是继续启动或注册密钥,似乎并不重要。我安装了 2 次 Linux,在第 1 次中我选择注册密钥,但在第 2 次中忽略了它。似乎没有什么区别。

  2. 如果我注册了 MOK 密钥,Virtualbox 是否会在不要求我执行任何操作的情况下进行安装? VirtualBox 注册自己的密钥时到底做了什么?

  3. 在安装和配置系统后,我现在不想再次重新安装,如何进行“注册 MOK”?论坛上的另一个问题(见上面的链接)有一个答案:

我有同样的问题。为了设置新的 MOK 密码,我使用了以下命令

sudo update-secureboot-policy --enroll-key

但是,在我的安装中没有这样的命令update-secureboot-policy

  1. 现在我不敢安装专有的 NVidia 驱动程序,因为我没有注册 MOK 并且担心它不起作用。

  2. 一般来说,第一次重新启动后,“注册 MOK”会做什么?我真的不明白。这是否意味着它将一些 Ubuntu 密钥放入 BIOS 中?这是否意味着如果我这样做,那么我将来安装的所有专有内核模块都将顺利进行,而无需注册自己的 MOK?

答案1

1. 第一次安装 Mint 并重新启动时出现的初始“继续启动”或“注册 MOK”对话框是什么?

这是shimx64.efi当它检测到操作系统可访问的 UEFI NVRAM 变量中有一个新的 MOK 等待安装时生成的。

2. 如果我注册了 MOK 密钥,Virtualbox 是否会在不要求我执行任何操作的情况下进行安装?

最有可能的是,是的。

2.5. VirtualBox 注册自己的密钥时到底做了什么?

它可能只会update-secureboot-policy --enroll-key在可用时触发。

3. 我已经安装并配置了系统并且不想再次重新安装,如何立即“注册MOK”?

sudo apt install shim-signed
sudo update-secureboot-policy --enroll-key

4. 现在我不敢安装专有的NVidia驱动程序,因为我没有注册MOK并且担心它不起作用。

从技术上讲这不是问题,但不用担心。如果您通过 Ubuntu/Mint 的第 3 方驱动程序管理工具安装 NVidia 驱动程序,它可能只会为您执行上面 3.) 中列出的步骤(如果您尚未执行此操作)。

如果您使用直接从NVidia下载的安装包,请先安装dkms第三方模块的管理工具,然后运行NVidia驱动安装程序:

sudo apt install dkms

sudo ./NVIDIA-Linux-x86_64-<version number>.run --dkms \
    --module-signing-secret-key=/var/lib/shim-signed/mok/MOK.priv \
    --module-signing-public-key=/var/lib/shim-signed/mok/MOK.der

dkms自动重建第 3 方内核模块(例如 NVidia 驱动程序),因此每当您收到内核安全更新时都无需手动执行此操作。

5. 一般来说,第一次重新启动后“注册 MOK”会做什么?

如果您在运行后没有在下次重新启动时立即执行“注册 MOK” update-secureboot-policy --enroll-key,则注册过程将暂停,等待您执行以下任一操作:完成它通过在后续启动时选择“注册 MOK”,或者取消它sudo mokutil --revoke-importLinux 内。

完成 MOK 注册程序后,您应该不会再看到该提示,除非您丢失旧的 MOK 并注册新的 MOK。

5.1.这是否意味着它将一些 Ubuntu 密钥放入 BIOS 中?

不,注册过程会生成一个唯一的密钥你的系统并将其放置在/var/lib/shim-signed/mok/只有 root 可以访问的位置,以便内核模块安装过程可以使用它,并将密钥的公共部分的副本注册到 UEFI NVRAM 变量,以便在shimx64.efi引导时可以使用它。

5.2.这是否意味着如果我这样做,那么我以后安装的所有专有内核模块都将顺利进行,而无需注册自己的 MOK?

就是这个想法,是的。不幸的是,并非所有第三方内核模块源代码包都尚未更新以无缝检测 MOK 的存在并在必要时自动使用它。

答案2

在我的安装中没有这样的命令 update-secureboot-policy

在我的 Ubuntu 系统上,该命令位于shim-signed软件包中。

相关内容