Mok管理不会在启动时加载

Mok管理不会在启动时加载

首先:我并不想禁用安全启动,因为我有第二个硬盘,里面安装了 Windows 10。这两个操作系统位于两个独立的驱动器上,运行时彼此隔离。Windows 启动管理器和 GRUB 位于各自的驱动器上,彼此完全不了解。

相关系统配置为:

  • 操作系统:Ubuntu 17.04 - 内核:4.10.0-32-generic
  • 主板:华擎Taichi X99
  • 显卡:GTX 1080

因此,我一直在尝试使用 mokutil 来注册我自己的证书,以便我可以使用它来加载签名的 Nvidia 驱动程序,但是在使整个过程正常运行时遇到了麻烦。

因此我采取的步骤如下:

  1. 在 Ubuntu 中启用安全启动支持。
  2. 使用 openssl 创建 x509 证书。
  3. 运行mokutil --enable-validation并输入密码。
  4. 用于mokutil --import将新创建的证书添加到安全启动密钥列表中。
  5. 使用 efi 目录下的签名脚本,使用我创建的私钥和证书对内核模块进行签名。
  6. 已重新启动系统。
  7. 使用以下方式选择启动项shimx64.efi
  8. 按下 键进入 mok 管理
  9. 卡在这个屏幕上:

启动时 MOK 管理继续屏幕

答案1

我在 Taichi X370 主板和 1050Ti GPU 上遇到了同样的问题,MOK 管理菜单不可见。我尝试在虚拟机中注册一个密钥,只是为了看看菜单布局是什么样子。

按下一次并输入以进行注册

按下一次并按 Enter 继续

按下一次并按 Enter 键表示“是”

输入密码并按 Enter 键接受

按 Enter 键重新启动

通过上述操作,我可以在 MOK 管理中盲目地注册一个新密钥。

答案2

向那些试图从屏幕截图中盲目地执行此操作但"Invalid character"在黑屏上收到错误的人提供一条消息。

我在 Ubuntu 22.04 上遇到了同样的问题。我遇到了同样的问题,屏幕冻结并且不显示菜单。我决定盲目尝试。我找到了另一个版本的 UEFI,可以从链接中的屏幕截图中看到 -https://wiki.ubuntu.com/UEFI/SecureBoot/DKMS。关键是它有一个不同的菜单算法。它不要求输入密码,而是要求输入密码中字母的位置(屏幕上出现“无效字符”错误的原因)。所以我的步骤是:

  1. 设置包含相同字符的密码mokutil --enable-validation,例如“aaaaaaaa”
  2. 重启
  3. 在“按任意按钮”屏幕上,只需按任意按钮
  4. 按下向下的箭头,然后输入。
  5. 按“a”然后输入。重复三次。在这个屏幕上,他希望你猜三次密码中某个位置的字母。所以我们重复“a”和“Enter”三次。
  6. 按向下箭头,然后输入
  7. 按回车键。您应该会看到 PC 重新启动。

经过这些步骤之后,一切都对我有用。

答案3

另一种选择是在安全启动模式下安装驱动程序(通过 Ubuntu/Drivers)后直接将平台密钥从 /var/lib/shim-signed/mok/MOK.der 复制到 USB 记忆棒。或者,在从命令行安装驱动程序(通过下载的 .run 文件)时,传递选项“--module-signing-public-key”以获取平台密钥并将其复制到 USB。

sudo sh ./XXXXXX.run -s --module-signing-secret-key=PATH_TO_PRIVATE_KEY --module-signing-public-key=PATH_TO_PUBLIC_KEY

然后重新启动,进入 BIOS,进入安全启动管理并将 USB 记忆棒中的密钥文件添加为“允许的签名”。

答案4

我在 Ubuntu 20.04 上使用集成显卡的 Asrock B450M-HDV 主板上遇到了同样的问题。

我可以使用上面提供的图片盲目注册密钥,但将 BIOS(实际上是 UEFI 固件)升级到 v4.40 解决了这个问题,现在我可以看到菜单了!

也许它给某人一个暗示......

相关内容