macOS Big Sur 關閉 SIP 后仍無法修改 System 文件夾下文件


作者:IMnot
鏈接:https://www.zhihu.com/question/403361335/answer/1583471375
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

解決思路是: 將系統重新掛載在到一個有讀寫權限的新目錄下,在該目錄下操作即可。

補充具體方法:開機按住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是沒用的!!

如果是上述例子的情況的話,就執行 sudo mount -o nobrowse -t apfs /dev/disk1s5 /Users/mac/Desktop/aaa,這樣系統盤就重新掛載到了桌面的aaa文件夾下面,從這個文件夾進去就是系統根目錄了。而且這個文件夾是可讀可寫的,我們把要修改的系統配置文件夾/文件 復制到相應的系統目錄里就OK。

最后需要重建系統 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

重啟系統,會發現掛載的磁盤消失,而修改的設置已經寫入到原先不能更改的系統文件中了。Over……過程中省略了一些簡單的步驟,可自行baidu/ google。解決問題后,不要忘記再次重啟進入Recovery模式,打開terminal,輸入:
csrutil enable
csrutil authenticated-root enable
重新開啟SIP以免系統失去安全防護。(ps: 有反饋說重新開啟SIP會遇到問題,我是沒有重新打開系統防護的,所以目前一切正常……大佬們視自己情況決定enable or disable!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM