如何评价 macOS Big Sur 关闭 SIP 后仍无法修改 System 文件夹下文件? - 知乎
mac电脑如何找到usr文件夹_瘪瘪前端加油的博客-CSDN博客_mac进入usr文件夹
开机按住Commond+R,进入系统Recovery模式,从terminal中将系统保护SIP关掉(csrutil authenticated-root disable;csrutil disable)
——>
重启开机进入系统,可以在终端查看是否已将SIP关掉(csrutil status;csrutil authenticated-root status),都显示Disable即可
——>
通过 sudo mount -o nobrowse -t apfs /dev/diskNsM /xxx/xx 重新将系统盘挂载到本地。/xxx/xx 是可以在任意地方新建的目录(例如:/Users/mac/Desktop/aaa)。diskNsM 为系统盘的设备名,这个在"磁盘工具-设备" 里可以看到(例如:disk1s5s1),注意要把后面的s1去掉,因为磁盘工具里面里显示的是系统盘的快照,挂载成这个snapshot是没用的!
执行后可见,系统盘已成功挂载到本地(文件夹bintmp00已成为本地磁盘HD):
——>
如果是上述例子的情况的话,就执行 sudo mount -o nobrowse -t apfs /dev/disk1s5 /Users/mac/Desktop/bintmp00,这样系统盘就重新挂载到了桌面的bintmp00文件夹下面,从这个文件夹进去就是系统根目录了。而且这个文件夹是可读可写的,我们把要修改的系统配置文件夹/文件 复制到相应的系统目录里就OK。
注:
usr等文件夹默认是隐藏了的,可以通过执行 defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 来取消隐藏。
点击本地磁盘可见:
修改后如下:此时对本地映射磁盘的系统文件的修改还未能同步给系统盘。
注:我执行修改系统文件的操作是为了解决这个问题。
——>
最后需要重建系统 snapshot,使用到的命令为:sudo bless --folder /xxx/xx/System/Library/CoreServices --bootefi --create-snapshot,其中/xxx/xx是最初设置的目录;如果是上述例子的情况的话,就执行:sudo bless --folder /Users/liyu/Desktop/bintmp00/System/Library/CoreServices --bootefi --create-snapshot
——>
重启系统,会发现挂载的磁盘消失,而修改的设置已经写入到原先不能更改的系统文件中,完事。