更新到macOS Catalina 10.15后,所有的系统文件分配到一个单独的卷宗,该卷宗文件系统属性为只读


MyMAC.local:~ $  mount
/dev/disk1s5 on / (apfs, local, read-only, journaled)


MyMAC.local:~ $  sudo mount -uw /
Password:
mount_apfs: volume could not be mounted: Operation not permitted
mount: / failed with 77
MyMAC.local:~ $  csrutil status
System Integrity Protection status: enabled.

但有时需要对根分区做一些修改操作,比如将其他卷软链到根下


MyMAC.local:~ $  sudo ln -s /Volumes/QWQ /QWQ

这时系统的保护机制,就会禁止此类操作,那如何解决呢?

首先禁用SIP,Command+R启动到恢复模式,打开终端,运行 :


# csrutil disable
# reboot

正常启动后进入终端:


MyMAC.local:~ $  csrutil status
System Integrity Protection status: disabled.

MyMAC.local:~ $  mount
/dev/disk1s5 on / (apfs, local, read-only, journaled)

这是查看SIP已经是禁用状态,但是根分区还是只读模式,重新挂载根分区为读写模式


MyMAC.local:~ $  sudo mount -uw /
Password:
MyMAC.local:~ $  mount
/dev/disk1s5 on / (apfs, local, journaled)

这时候就可以对对根分区进行写入操作。

注意:重新挂载行为在重启电脑后会失效的,需要重新挂载。

为安全起见,修改完根分区,建议将SIP修改为激活状态。