目录:
清理四叶草
验证您是否正在使用NVRAM
启用仿冒的NVRAM(使用nvram.plist)
本节适用于那些没有本机NVRAM的用户,与macOS不兼容的本机NVRAM的最常见硬件是X99和某些X299系列芯片组:
- X99
- X299
对于B360,B365,H310,H370,Z390用户,请确保在EFI / OC / ACPI和config.plist-> ACPI-> Add下都具有SSDT-PMC。
清理三叶草
因此,有些人可能没有注意到,但是Clover可能已在macOS中安装了RC脚本以进行正确的NVRAM仿冒。这是一个问题,因为它与OpenCore的仿冒方法冲突。
要删除的文件:
/Volumes/EFI/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi
/Volumes/EFI/nvram.plist
/etc/rc.clover.lib
/etc/rc.boot.d/10.save_and_rotate_boot_log.local
/etc/rc.boot.d/20.mount_ESP.local
/etc/rc.boot.d/70.disable_sleep_proxy_client.local.disabled
/etc/rc.shutdown.d/80.save_nvram_plist.local
如果文件夹为空,则也将其删除:
/etc/rc.boot.d
/etc/rc.shutdown.d
验证您是否正在使用NVRAM
首先,打开终端并一次运行以下一行:
sudo -s
sudo nvram -c
sudo nvram myvar=test
exit
现在重启并运行:
nvram -p | grep -i myvar
如果没有任何返回,则您的NVRAM无法正常工作。如果包含myvar test
返回的行,则您的NVRAM正在工作。
注意:nvram -c
需要关闭SIP,另一种方法是在引导菜单上擦除NVRAM。提醒您需要Misc -> Security -> AllowNvramReset -> YES
启用仿冒的NVRAM(使用nvram.plist)
要启用仿冒的NVRAM,您需要设置3事项:
在您的config.plist中:
- Booter引导程序:
DisableVariableWrite
: 调成YES
- Misc -> Security:
ExposeSensitiveData
: 调成0x3
- NVRAM:
LegacyEnable
: 调成YES
LegacyOverwrite
调成YES
LegacySchema
:设置NVRAM变量(OpenCore将其与nvram.plist中存在的变量进行比较)WriteFlash
: 调成NO
在您的EFI中:
OpenRuntime.efi
驱动程序(正常睡眠,关机和其他服务才能正常工作需要
现在获取“ LogoutHook.command”并将其放置在安全的地方(例如,在用户目录中,如下所示):
/Users/(your username)/LogoutHook/LogoutHook.command
打开终端并运行以下命令:
sudo defaults write com.apple.loginwindow LogoutHook /Users/(your username)/LogoutHook/LogoutHook.command
瞧!您已经模拟了NVRAM!
请记住,这需要nvram
命令支持该-x
标志才能正常工作,而该标志在macOS 10.12及更低版本中不可用。如果要安装macOS 10.12或更早版本,则需要复制nvram.mojave
到与相同的文件夹中LogoutHook.command
,这可以通过调用它而不是系统nvram
命令来解决。
还有一点需要注意的是,macOS只能读取nvram.plist,但除非运行关机过程,否则将无法写入nvram.plist。这意味着运行上面的测试将无法进行
评论(0)