我是新手。我正在尝试从 grub 启用 UEFI 安全启动。我决定使用 shim 来验证内核的签名。 Grub 可以通过 UEFI 进行验证。
我已经从 Ubuntu 的 grub git 存储库中提取了补丁。 Grub 使用 grub_efi_locate_protocol()
函数定位垫片,目前无法找到垫片并返回NULL
.
我有以下查询:
shim.efi
二进制(我已经把它放在/boot分区)grub_efi_system_table
在哪里变量被填充,grub_efi_locate_protocol
如何使用它? 谢谢
最佳答案
我能够解决这个问题。执行 shim 时,它会安装 shim 协议(protocol)。仅当启用安全引导时才会安装 Shim 协议(protocol)。我试图在没有安全启动的情况下使用 shim 协议(protocol),因此 grub 无法找到 shim 协议(protocol)。垫片的完整解释在这里
https://mjg59.dreamwidth.org/19448.html
关于ubuntu - 如何从 grub2 代码中运行 shim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44305308/