解决从OpenCore引导的 Mac OS Monterey 12.5 系统SIP禁用问题
- 写在开头
- Mac OS SIP
- 查看SIP状态
- 方法一
- 方法二
- 通过OpenCore引导的MacOS关闭SIP的一般操作
- 通用方法(任何系统下都可操作):
- 相关问题及其解决方案
- 1. OpenCore中没有AllowToggleSip关键字或重启之后SIP还是enabled
- 2. 重启后SIP又变为enabled或每次开机都需要在引导界面选择禁用SIP
- 3. 一通操作后SIP状态显示为“Unknown”
- 写在最后
写在开头
Mac OS无论是外观、功能以及稳定性上都较为出色,However,由于Mac OS仅搭载于Apple自家的设备,便诞生了黑苹果,在非Apple家的设备上运行Mac OS,由于黑苹果一般使用OpenCore和Clover进行引导,因此一些操作例如SIP的禁用与原生的Mac设备有所区别。
本文方法适用于使用OpenCore引导的Mac系统,列出了本人实际调整黑苹果的过程中遇到的关于禁用SIP的相关问题,并就这些问题提出一些解决办法,希望对一些没有Apple设备但希望体验到Mac OS系统的朋友有一定帮助。
Mac OS SIP
Mac OS系统的SIP(System Integrity Protection)即(系统完整性保护)是OS X El Capitan及更高版本所采用的一项安全技术,这项技术能够帮助用户防止潜在的恶意软件修改Mac上受保护的文件和文件夹。SIP系统完整性保护可以限制root用户帐户,以及root用户能够在Mac系统的受保护部分完成的操作。
有时候,在Mac安装的软件打开后会遇到提示 “xxxx”因为出现问题而无法打开……,特别是一些破解过的软件。那么这个时候就需关闭SIP再来运行软件。
查看SIP状态
方法一
在终端输入:
csrutil status
终端会输出相关信息,其中,“System Integrity Protection status:”便是SIP的状态:
SIP启用: System Integrity Protection status: enabled.
SIP已禁用:System Integrity Protection status: disabled.
方法二
打开“系统信息”应用程序(单击左上角的选择“关于Mac电脑”再点击“系统信息”或按住Option键并单击选择“系统信息”)
左侧列表点击“软件”之后,就可在右侧看到“系统完整性保护”信息显示“已启用”或“已禁用”。
通过OpenCore引导的MacOS关闭SIP的一般操作
注:
1. 本人OpenCore使用版本为0.7.8,之后版本不保证相关的关键字(key)一致,若出现新版本无兼容问题,本人会在下一个大标题对注意到的问题提出解决方法
2. 此处直接在EFI引导分区中进行操作,建议先备份需要修改的文件,若出现MacOS无法开机的情况请使用windows(如果有双系统)、winpe 或mac os recovery 挂载EFI分区并恢复相关文件
通用方法(任何系统下都可操作):
- 在引导分区按以下次序进入目录:EFI引导分区 >> EFI文件夹 >> OC文件夹
- 在OC文件夹中找到 config.plist 文件,用文本编辑器打开(先备份!!!)
- 搜索字符串 sip 或 AllowToggleSip 并将其值设置为 true :
- 重启进入OpenCore引导界面按 空格键 ,可以看到启用或禁用SIP的选项,此时选中这个选项按Enter(回车键)让下面的文字变为disable,再选择Mac正常重启
- 重启后理论上SIP会被禁用掉
相关问题及其解决方案
1. OpenCore中没有AllowToggleSip关键字或重启之后SIP还是enabled
首先,本人注意到高版本的openCore可能没有AllowToggleSip了,其次,按上述操作仍可能出现没有禁用SIP的情况,这个时候可以试试进入recovery进行操作:
- 首先在开机OpenCore的引导界面按 空格键 ,选中 recovery 按回车进入recovery,
- 在上方状态栏上点击 实用工具 再点击 终端,在终端中输入:
csrutil authenticated-root disable
csrutil disable
reboot
- 重启后进入Mac系统
2. 重启后SIP又变为enabled或每次开机都需要在引导界面选择禁用SIP
在一次正常进入MacOS且SIP禁用成功时,进行如下操作:
- 在终端输入
nvram -xp
会输出一大堆参数,在其中找到 csr-active-config 如下:
-
将其value(及与之间到内容,比如上图代表我的是fwIAA==) 复制下来。
-
按上一个标题的操作方法打开 config.plist 文件,找到关键词 csr-active-config ,可能有多个匹配结果,选择下一行带标签的,将步骤2复制的值粘贴进去覆盖掉原值,如图:
-
保存重启后,即使开机引导界面不进行SIP禁用操作,SIP仍为 disabled 状态。
3. 一通操作后SIP状态显示为“Unknown”
操作方法:先将csr-active-config设置为AAAAAA==(专用工具内设为00000000),再按上面流程来
请注意:
不同Mac系统版本的 csr-active-config 值可能不同,所以,不要盲目去抄网络上的值,特别的较高版本的系统,老版本的对应值请参考(英文网页):https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/extended/post-issues.html#disabling-sip
本人认为,最保险的做法是按上述流程走,先禁用自己电脑的SIP,再查询自己电脑的SIP禁用状态下的 csr-active-config 值,最后填进OpenCore引导的配置文件,以保证开机可以自动禁用。文章来源:https://uudwc.com/A/oNLL
写在最后
最后,我谨申明一点,破解软件行为是对软件开发者及其劳动的极其不尊重,因此,本博客仅就SIP禁用及其相关的技术内容进行了讨论,对于SIP禁用引起的系统故障或借此进行的任何行为所引发的后果,本人不会对此承担任何责任,并在此提倡有条件的用户使用正版软件。文章来源地址https://uudwc.com/A/oNLL