我是grub的新手。我正在尝试从grub启用UEFI安全启动。我决定使用shim来验证内核的签名。 Grub可以从UEFI验证。
我从Ubuntu的grub git存储库中删除了补丁。 Grub使用grub_efi_locate_protocol()
函数来定位填充程序,目前它无法找到填充程序并返回NULL
。
我有以下问题:
shim.efi
二进制文件(我已将其放置/启动分区)grub_efi_system_table
变量在哪里填充,以及grub_efi_locate_protocol
如何使用它?由于
答案 0 :(得分:2)
我能够解决这个问题。当执行shim时,它会安装shim协议。仅在启用安全启动时才安装Shim协议。我试图使用shim协议没有安全启动,所以,grub无法找到shim协议。这里有对垫片的完整解释 https://mjg59.dreamwidth.org/19448.html