0%

macOS 修改系统文件

SIP 全称为「System Integrity Protection」即「系统完整性保护」,是 OS X El Capitan 时开始采用的一项安全技术,SIP 将一些文件目录和系统应用保护了起来。但这会影响我们一些使用或设置,比如:更改系统应用图标、终端操作系统目录文件提示「Operation not permitted」、Finder 无法编辑系统目录里的文件。

关闭 SIP

因为 SIP 是系统级的权限操作,我们无法直接关闭它,需要前往「macOS 恢复功能」下进行。
进入Recovery模式方法

1
2
3
4
title: Intel 架构

将 Mac 开机,立即在键盘上按住 Command ⌘ + R,直到看到 Apple 标志或旋转的地球时松开。看到「实用工具」窗口时,恢复功能启动即完成。
将 Mac 开机,然后立即按住这两个按键:Command (⌘) 和 R 键。当您看到 Apple 标志、旋转的地球或其他启动屏幕时,松开这两个按键。系统可能会提示您输入密码,例如固件密码,或这台 Mac 的管理员用户的密码。请输入要求的密码以继续。看到实用工具窗口时,启动即完成。
1
2
3
4
5
6
7
8
title: Apple Silicon 架构

1. 在 Mac 上,选取苹果菜单关机。等待 Mac 完全关机。当屏幕全黑且所有指示灯(包括触控栏中的指示灯)都已关闭时,Mac 已完全关机。
2. 按住 Mac 上的电源按钮,直至“正在载入启动选项”出现。
3. 点按“选项”,然后点按“继续”。
4. 如果询问,请选择要恢复的宗卷,然后点按“下一步”。
5. 选择管理员帐户,然后点按“下一步”。
6. 输入管理员帐户的密码,然后点按“继续”。当“恢复” App 出现在菜单栏中时,您可以选取窗口或菜单栏中任何可用的选项。

进入后选取菜单栏上的 实用工具-> 终端
执行以下命令

1
2
3
csrutil disable
csrutil authenticated-root disable
reboot

挂载

上一步命令执行完后会自动重启
进入系统,打开磁盘工具,查看硬盘设备名

![[image-macOS 修改系统文件-20220330153707978.png]]

很明显:系统文件只读,无法修改,设备名为 disk3s3s1

注意设备名 diskXsYsZ 中的 XY 值,然后运行以下命令(删除 sZ 部分)将其挂载到文件夹:

1
2
3
mkdir ~/Desktop/mount
sudo mount -o nobrowse -t apfs /dev/diskXsY ~/Desktop/mount
# 在我的设备上就是 sudo mount -o nobrowse -t apfs /dev/disk3s3 ~/Desktop/mount

修改

上一步挂在好后就可以在路径 ~/Desktop/mount 看到 / 下面的相同结构文件,不过有了可写权限(需要 sudo 权限)

持久化

执行持久化命令,然后重启,所修改内容才会生效

1
2
sudo bless --folder ~/Desktop/mount/System/Library/CoreServices --bootefi --create-snapshot
sudo reboot