更新到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修改为激活状态。