当前位置: 首页 > 工具软件 > Open64 > 使用案例 >

opencore 启动总是在win_Bootstrp.efi 与 BOOTx64.efi的区别,如何解除或保持opencore为BIOS第一启动项...

濮阳振
2023-12-01

为了更加纯净的使用Windows,使用了rEFInd来引导Windows和opencore。但是当在BIOS中把rEFInd设为第一启动项之后,通过rEFInd启动opencore进入BigSur,再重启,opencore就变成了第一启动项。即使冷重启也是如此。

这个奇怪的现象促使我研究了一下opencore的启动保护问题。

Bootstrp.efi 与 BOOTx64.efi

众所周知,opencore的启动项不是 opencore.efi,而是 EFI/BOOT/BOOTx64.efi,而在opencore 0.5.8之后又添加了一个新的启动项 EFI/OC/Bootstrap/Bootstrap.efi。所以,opencore有两个可以使用的启动项:

EFI/BOOT/BOOTx64.efi

EFI/OC/Bootstrap/Bootstrap.efi

区别

想必很多人都意识到了这种现象: Windows 10 会修改BIOS的启动顺序,并把自己的启动项放到第一个。大多数人会简单的通过关闭win10快速启动来防止启动项被修改,但是win的行为是无法预知的,有时候不一定有用,起码大版本更新一定会修改启动项。

所以,opencore官方为了保护opencore的启动项不被Win10覆盖,也弄了一个受保护的启动项——Bootstrap.efi。这个启动项与BOOTx64.efi没有本质区别,最大的不同就是在config.pdist中有两个配置项来保护Bootstrap.efi永远是BIOS第一启动项,而且是默认启用的。

在删除Bootstrap.efi的启动项之前,一定要先关闭Bootstrap.efi的启动项保护!

关闭Bootstrap.efi的启动项保护

如果要确认是否使用了Bootstrap.efi,可以打开opencore的日志(见OpenCore Debugging),然后可以看到如下输出:

OCB: Have existing option 1, valid 1

OCB: Boot order has first option as the default option

编辑 config.plist :

Misc -> Security -> AllowNvramReset -> true

Misc -> Security -> BootProtect -> None

重启,在opencore启动菜单中选择 Reset NVRAM

经过上述两步就已经关闭了Bootstrap.efi的保护状态。

 类似资料: