我刚刚在Ubuntu上安装了Nvidia
驱动程序。Nvidia安装程序创建了一个密钥对并使用它对模块进行了签名。现在它说,我应该将这个密钥对添加到内核的可信密钥列表中,以便能够使用模块。我谷歌了一下,但找不到任何解决方案,因为我不是一个专家Linux用户。
谢谢你的帮助。
(使用lubuntu 16.10)
发布于 2017-06-07 14:09:38
我在这里找到了解决办法。
如果创建了密钥对,那么:
(该指令是针对RedHat的,但在Lubuntu上工作得很好,而且很可能也适用于Ubuntu )
Machine (MOK)工具是7支持的特性,可用于增强UEFI安全启动密钥数据库。当7在启用了安全启动的UEFI系统上启动时,除了密钥数据库中的密钥之外,还会将MOK列表上的键添加到系统密钥环中。MOK列表密钥也以与安全启动密钥数据库密钥相同的方式持久和安全地存储,但它们是两个独立的工具。MOK工具由shim.efi、MokManager.efi、grubx64.efi和RedHatEnterpriseLinux7mokutil实用工具支持。
MOK工具提供的主要功能是将公钥添加到MOK列表中,而不需要将密钥链返回到KEK数据库中的另一个密钥。但是,在每个目标系统上,在UEFI系统控制台上注册MOK键需要物理上的用户进行手动交互。尽管如此,MOK工具为测试新生成的密钥对和测试与它们签名的内核模块提供了一个很好的方法。
按照以下步骤将您的公钥添加到MOK列表中:
~]# mokutil --import my_signing_key_pub.der
您将被要求输入并确认此MOK注册请求的密码。
一旦一个密钥在MOK列表上,当启用UEFI安全引导时,它将自动传播到系统密钥环和随后的引导。
https://unix.stackexchange.com/questions/369843
复制