如何评价 macOS Big Sur 关闭 SIP 后仍无法修改 System 文件夹下文件?

在 macOS Catalina 及之前版本中,可以通过关闭 SIP 并在终端中更改 system 文件夹为可写入。但是,这一后门在2020年6月发布…
关注者
73
被浏览
269,578

9 个回答

已出坑) 解决思路是: 将系统重新挂载在到一个有读写权限的新目录下,在该目录下操作即可。

补充具体方法:

  1. 开机按住Commond+R,进入系统Recovery模式,从terminal中将系统保护SIP关掉(csrutil authenticated-root disable;csrutil disable);
  2. 重启开机进入系统,可以在终端查看是否已将SIP关掉(csrutil status;csrutil authenticated-root status),都显示Disable即可;
  3. 通过 sudo mount -o nobrowse -t apfs /dev/diskNsM /xxx/xx 重新将系统盘挂载到本地。/xxx/xx 是可以在任意地方新建的目录(例如:/Users/mac/Desktop/aaa)。diskNsM 为系统盘的设备名,这个在"磁盘工具-设备" 里可以看到(例如:disk1s5s1),注意要把后面的s1去掉,因为磁盘工具里面里显示的是系统盘的快照,挂载成这个snapshot是没用的!!
  4. 如果是上述例子的情况的话,就执行 sudo mount -o nobrowse -t apfs /dev/disk1s5 /Users/mac/Desktop/aaa,这样系统盘就重新挂载到了桌面的aaa文件夹下面,从这个文件夹进去就是系统根目录了。而且这个文件夹是可读可写的,我们把要修改的系统配置文件夹/文件 复制到相应的系统目录里就OK。
  5. 最后需要重建系统 snapshot,使用到的命令为:sudo bless --folder /xxx/xx/System/Library/CoreServices --bootefi --create-snapshot,其中/xxx/xx是最初设置的目录;如果是上述例子的情况的话,就执行:sudo bless --folder /Users/mac/Desktop/aaa/System/Library/CoreServices --bootefi --create-snapshot
  6. 重启系统,会发现挂载的磁盘消失,而修改的设置已经写入到原先不能更改的系统文件中了。Over……

过程中省略了一些简单的步骤,可自行baidu/ google。解决问题后,不要忘记再次重启进入Recovery模式,打开terminal,输入:

csrutil enable
csrutil authenticated-root enable

重新开启SIP以免系统失去安全防护。(ps: 有反馈说重新开启SIP会遇到问题,我是没有重新打开系统防护的,所以目前一切正常……大佬们视自己情况决定enable or disable!

对了,如何评价苹果这次更加闭环的更改: 道高一尺,魔高一丈hh。


3-7,换显示器重走了一遍,再次成功。更新遇到的新问题:如遇到 “mount_apfs: volume could not be mounted: Resource busy”问题,try this: “diskutil unmountDisk force /dev/disk#” ( whatever your disk# is)

完美解决方案:实现在big sur中新增文件目录下任意读写。(例如新增/data目录)

答案来源:

  1. 先在home目录下创建一个可以读写的目录,例如/Users/zc/data
  2. sudo vim /etc/synthetic.conf
  3. 在synthetic.conf文件中添加一行(注意:/Users/zc/data是你自己创建的可读写的目录,可以自定义。用来做为/data实际存储的目录。重启后会创建一个/data的软链接,指向/Users/zc/data)
data    /Users/zc/data

中间的分隔符一定要是tab

3. 重启mac即可

软件问题咨询解决服务