【全网首发中文教程】如何签名OpenCore来使用SecureBoot(安全启动)功能

版权申明:本文为原创文章,转载请注明原文出处

原文链接:https://www.mis1042.com/post/secureboot/

前言

Windows11首发的时候,SecureBoot(安全启动)就被强制要求启用,但是使用OpenCore的用户大多数情况下必须关闭安全启动才能正常的进入OpenCore,该问题也可以解决,只需通过签名

原理

众所周知,安全启动的原理简单概括就是UEFI固件会验证要加载的EFI可执行文件,我们只需要给OpenCore的所有EFI文件签名,然后让UEFI固件信任我们的签名,就能实现安全启动

教程

需求

一个Linux操作系统,建议使用Debian(补佳乐)或者Ubuntu

开始

安装依赖

由于我们要签名EFI文件,我们需要相应的依赖

1
2
sudo apt update && sudo apt upgrade
sudo apt-get install unzip zip efitools sbsigntool git openssl

获取文件

1
git clone https://github.com/mis1042/OpenCoreSecureBoot

自动生成签名用的文件

1
2
3
4
5
cd OpenCoreSecureBoot
cd efikeys
chmod a+x make_keys.sh
./make_keys.sh
#然后根据要求输入一个名称,随意(别打中文)

开始签名OpenCore

1
2
3
4
5
6
7
cp ISK.pem ../oc/
cp ISK.key ../oc/
cd ../oc
wget #换成OpenCore的下载地址
#或者可以跳过下载,直接将OpenCore的压缩包放到oc目录
chmod a+x ocsign.sh
./ocsign.sh #(这里换成OpenCore压缩包的文件名)

等待片刻,这个目录将会出现一个新的压缩包(以Signed开头)这就是已经签名的OpenCore
直接将这个压缩包导入OCAT,然后和平常一样同步即可

导入方法

菜单栏➡️编辑➡️OpenCore开发版 ☑️
菜单栏➡️编辑➡️升级OpenCore和Kexts➡️导入 选择刚刚的zip文件即可

将Auth文件导入UEFI

我们说过,安全启动的原理是验证EFI文件签名,那么我们还需要让系统信任我们的签名
在efikeys文件夹里,会生成一个auth文件夹,将这个文件夹复制到EFI分区(和EFI文件夹同级),然后将其导入UEFI

台式机导入方法

部分台式机可以直接在BIOS内导入,如果能在BIOS的Security选项卡内找到类似Key Management的选项,那可以直接导入(找不着看方法二),以技嘉主板为例:

https://s2.loli.net/2022/07/09/gOhBq5CUmKNj7Gu.jpg
如果有更改过密钥,建议进行重置,如图

https://s2.loli.net/2022/07/09/U5Zs1rYp3fPj6Kn.jpg
然后导入,auth文件夹里的文件导入的位置如下

  • db.auth >> Authorized Signatures 或者db
  • kek.auth >> KEK (Key Exchange Keys)
  • pk.auth >> PK (Platform key).

直接选择对应的位置,然后选择Replace(替换),然后选择EFI分区内的对应文件即可,列出的文件都要进行替换

笔记本的方法

签名后生成的OpenCore压缩包中,Tools文件夹内包括了一个KeyTool.efi工具,将它复制到现用引导里的Tools文件夹内,然后在Misc➡️Tools内将它加载,重启电脑,再次进入OpenCore引导菜单时,会看到一个KeyTool的选项,选择进入

https://s2.loli.net/2022/07/09/dKJ1HM6fT4ONEnD.jpg
选择Edit Keys并进入,我们又会看到熟悉的词

https://s2.loli.net/2022/07/09/D6FMLX5HB3W4CZm.jpg
同样,按照方法一中提到的对应关系,选择然后进行Replace即可

最后,打开SecureBoot,正常使用

鸣谢名单

https://github.com/perez987/OpenCore-UEFI-Secure-Boot
(图片引用)

https://github.com/profzei/Matebook-X-Pro-2018/wiki/Enable-BIOS-Secure-Boot-with-OpenCore
(提供代码[有修改并已按照原GPLV3协议开源])

【全网首发中文教程】如何签名OpenCore来使用SecureBoot(安全启动)功能

https://www.mis1042.com/post/secureboot/

作者

Misaka10042

发布于

2022-07-08

更新于

2022-07-24

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×