https://eclecticlight.co/2020/06/25/big-surs-signed-system-volume-added-security-protection/
Big Sur 引入的 Signed System Volume 机制会给 System APFS Volume 的每个文件 /文件夹都设置一份 hash,在 bootloader 启动后,加载内核前会进行完整性校验,校验不通过的话会拒绝引导,并提示用户重装 macOS 。使用 mount
查看挂载点会发现 /多了个 sealed
标志。系统默认会从 SSV snapshot 启动,对用户无感知。
今天装完系统后想把 spindump 禁用掉,在恢复模式中改了文件之后进入系统发现没变化,查了下才发现这个新机制。
想要修改系统分区也很简单,需要如下步骤:
csrutil authenticated-root disable
sudo bless --folder /[mountpath]/System/Library/CoreServices --bootefi --create-snapshot
Big Sur下禁用spindump的方法:
开机时按住cmd+R进入恢复模式,打开终端
csrutil authenticated-root disable 禁用SSV
# mount查看原来的/挂载点,比如/dev/disk2s5
# 重新挂载/为可读写
umount /dev/disk2s5
mkdir /Volums/[your mountpoint name]
mount -t apfs /dev/disks2s5 /Volums/[your mountpoint name]
#
cd /Volums/[your mountpoint name]
# 禁用两个服务
mv System/Library/LaunchDaemons/com.apple.spindump.plist System/Library/LaunchDaemons/com.apple.spindump.plist.disabled
mv System/Library/LaunchDaemons/com.apple.tailspind.plist System/Library/LaunchDaemons/com.apple.tailspind.plist.disabled
# 强迫症也可以移走spindump本体
# mv usr/sbin/spindump usr/sbin/spindump_disabled
# 创建snapshot
bless --folder /Volums/[your mountpoint name]/System/Library/CoreServices --bootefi --create-snapshot
# 最后重启进入系统就可以了
reboot
禁用之后可以明显降低beta版系统的功耗,防止出现大量Slow response to HID event日志。特别是Unity,在beta下几秒一卡,根本用不了,禁用后基本没问题了
1
XSNARUTO 2022-09-22 04:50:56 +08:00
Apple Silicon 下貌似也无解了,创建快照的时候会提示 --folder 指令只能用在外部存储了。各路都封死~
|