如何从grub2代码中运行shim?

时间:2017-06-01 10:38:56

标签: ubuntu bootloader uefi grub2

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

我从Ubuntu的grub git存储库中删除了补丁。 Grub使用grub_efi_locate_protocol()函数来定位填充程序,目前它无法找到填充程序并返回NULL

我有以下问题:

  1. 我应该在哪里放置shim.efi二进制文件(我已将其放置/启动分区)
  2. grub_efi_system_table变量在哪里填充,以及grub_efi_locate_protocol如何使用它?
  3. 由于

1 个答案:

答案 0 :(得分:2)

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