解决从OpenCore引导的Mac OS Monterey 12.5 系统SIP禁用问题

写在开头

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分区并恢复相关文件

通用方法(任何系统下都可操作):

  1. 在引导分区按以下次序进入目录:EFI引导分区 >> EFI文件夹 >> OC文件夹
  2. 在OC文件夹中找到 config.plist 文件,用文本编辑器打开(先备份!!!)
  3. 搜索字符串 sipAllowToggleSip 并将其值设置为 true在这里插入图片描述
  4. 重启进入OpenCore引导界面按 空格键 ,可以看到启用或禁用SIP的选项,此时选中这个选项按Enter(回车键)让下面的文字变为disable,再选择Mac正常重启
  5. 重启后理论上SIP会被禁用掉

相关问题及其解决方案

1. OpenCore中没有AllowToggleSip关键字或重启之后SIP还是enabled

首先,本人注意到高版本的openCore可能没有AllowToggleSip了,其次,按上述操作仍可能出现没有禁用SIP的情况,这个时候可以试试进入recovery进行操作:

  1. 首先在开机OpenCore的引导界面按 空格键 ,选中 recovery 按回车进入recovery,
  2. 在上方状态栏上点击 实用工具 再点击 终端,在终端中输入:
csrutil authenticated-root disable
csrutil disable
reboot
  1. 重启后进入Mac系统

2. 重启后SIP又变为enabled或每次开机都需要在引导界面选择禁用SIP

在一次正常进入MacOS且SIP禁用成功时,进行如下操作:

  1. 在终端输入
nvram -xp

会输出一大堆参数,在其中找到 csr-active-config 如下:
在这里插入图片描述

  1. 将其value(及与之间到内容,比如上图代表我的是fwIAA==) 复制下来。

  2. 按上一个标题的操作方法打开 config.plist 文件,找到关键词 csr-active-config ,可能有多个匹配结果,选择下一行带标签的,将步骤2复制的值粘贴进去覆盖掉原值,如图:
    在这里插入图片描述

  3. 保存重启后,即使开机引导界面不进行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引导的配置文件,以保证开机可以自动禁用。

写在最后

最后,我谨申明一点,破解软件行为是对软件开发者及其劳动的极其不尊重,因此,本博客仅就SIP禁用及其相关的技术内容进行了讨论,对于SIP禁用引起的系统故障或借此进行的任何行为所引发的后果,本人不会对此承担任何责任,并在此提倡有条件的用户使用正版软件。

猜你喜欢

转载自blog.csdn.net/qq_43476485/article/details/126343439