我之前碰到过一个让我很无语的问题,是这样的,本机系统SSD装OS系统卡最后两分钟(这个问题现在已经解决了,是因为在有AHCI控制器的系统中使用了一个驱动AHCIPortinjector.kext造成的),我就照官网教程中所说,去另一台能够顺利安装系统的机器上把系统装好,再把装好系统的SSD挂到目标机器上,因为装系统的时候,安装系统的机器上还有另外两个硬盘,并且没有拔除,这样装好的系统盘挪到别的机器上,再照官网教程在MacOS系统下操作脱离U盘引导是不成功的,只好到WindowsPE系统下使用Bootice来恢复引导,可能是由于当初安装时有三个硬盘,而挂到目标机器上却只有一个硬盘的原因,恢复引导后,可以脱离U盘启动了。玩黑苹果,很魔幻,常常会有一种上帝给你打开一扇窗,同时也给你关上了一扇门的感觉!
这不,问题来了,用了几天后,可能是因为更新了系统还是什么别的原因 ,我发现在网上下载DMG无法安装了,一开始是Google浏览器,无法安装,老是提示DMG可能损坏,在安全选项中打开“任何来源”也不行,一开始我还真以为是DMG坏了,在Google官网另行下载了好几次,还是不行,才觉得不对劲,又试了百度网盘几个DMG,也是不行,在苹果官网下载的XCODE,也是一样的提示,说DMG损坏,不安全之类的,这才想到了可能是著名的SIP保护功能起作用了,本能的想法就是立马关掉它,之前也在网上看过文章知道是在恢复模式下才能关掉它,重启,在OC引导下选择RecoveryHD, 出现两行提示后,退出,也就是无法进入恢复模式,无法进入恢复模式,就无法关闭SIP,而关闭SIP功能又需要进入恢复模式,无限循环感来了,无语。
我也已经在认真的爬网,准备修复恢复模式了,但是在看Opencore官网教程时,发现可以在OC里直接关掉SIP,而且OC的功能强大到可以设定关掉SIP的某些功能还是全部关掉。
我在OC的config.plist进行一些设定后,输入csrutil status查询后返回的信息,并不是简单enabled 为开启,disabled 为关闭两种状态,而是有些功能关闭了,有些功能保留了。我又一回体验到了Opencore的强大。
禁用SIP
SIP或更确切地称为系统完整性保护,是一种安全技术,旨在防止任何恶意软件和最终用户损坏操作系统。SIP最初随OS X El Capitan一起引入,随着时间的增长,它可以控制macOS中的越来越多的事物,包括将编辑限制在受限制的文件位置以及使用第三方进行kext加载kextload(OpenCore不会受到影响,因为在启动时会注入kext )。为了解决这个问题,Apple在NVRAM变量中提供了许多配置选项,这些选项csr-active-config可以在macOS恢复环境中设置,也可以通过OpenCore的NVRAM部分进行设置(后者将在下面进行讨论)。
您可以选择不同的值来启用或禁用SIP的某些标志。一些有用的工具可以帮助您解决这些问题,例如CsrDecode和csrstat。常用值如下所示(字节是为您预先进行十六进制交换的,请注意,它们位于NVRAM->添加-> 7C436110-AB2A-4BBB-A880-FE41995C9F82-> csr-active-config下):
00000000 -完全启用SIP(0x0)。
03000000 -禁用kext签名(0x1)和文件系统保护(0x2)。
FF030000-禁用macOS High Sierra(0x3ff)中的所有标志。
FF070000-当Apple引入了可执行策略的值时,禁用macOS Mojave和macOS Catalina(0x7ff)中的所有标志。
FF0F0000-禁用macOS Big Sur(0xfff)中的所有标志,该标志具有用于身份验证的root的另一个新标志。
注意:使用OpenCore禁用SIP与Clover相比有很多不同,特别是除非在本Delete节中明确说明,否则NVRAM变量不会被覆盖。因此,如果您已经通过OpenCore或在macOS中设置了一次SIP,则必须覆盖该变量:
NVRAM -> Block -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> csr-active-config
另外几个有用的链接:
黑苹果Opencore无法进入recovery mode恢复模式的解决方法