1

我是新手。我正在尝试从 grub 启用 UEFI 安全启动。我决定使用 shim 来验证内核的签名。Grub 可以通过 UEFI 进行验证。

我已经从 Ubuntu 的 grub git 存储库中提取了补丁。Grub 使用grub_efi_locate_protocol()函数来定位 shim,目前它无法找到 shim 并返回NULL

我有以下查询:

  1. 我应该在哪里放置shim.efi二进制文件(我已将其放置在 /boot 分区)
  2. 变量在哪里grub_efi_system_table填充,它是如何使用的grub_efi_locate_protocol

谢谢

4

1 回答 1

3

我能够解决这个问题。执行 shim 时,它会安装 shim 协议。仅当启用安全引导时才会安装 Shim 协议。我试图在没有安全启动的情况下使用 shim 协议,因此 grub 无法找到 shim 协议。垫片的完整解释在这里 https://mjg59.dreamwidth.org/19448.html

于 2017-06-06T02:57:41.167 回答