如何在High Sierra系统中删除Dyld共享缓存?安全启动失效怎么办?
解决High Sierra上DYLD共享缓存无法通过安全启动删除/重建的问题
我完全理解你在High Sierra设备上遇到的这个头疼问题——明明手册说安全启动会自动处理DYLD共享缓存,但实际操作后缓存既没被删除也没重建,又不敢随便手动删怕出问题。下面分享几个经过验证的可行方案,你可以根据情况尝试:
一、手动删除+强制重建缓存(需谨慎操作)
虽然官方不建议直接手动删除,但在安全启动失效的情况下,这是最直接的解决路径,前提是你要通过恢复模式获取足够权限:
- 重启Mac,按住
Command + R进入恢复模式 - 打开「实用工具」里的「终端」
- 先挂载系统盘(恢复模式下系统盘默认是只读状态):
提示:如果这个路径不对,用diskutil mount /dev/disk1s1diskutil list查看你的系统盘(通常标注为「Macintosh HD」),替换成对应的路径即可 - 删除缓存文件:
rm -rf /Volumes/Macintosh\ HD/private/var/db/dyld/* - 强制重新生成缓存:
/Volumes/Macintosh\ HD/usr/libexec/update_dyld_shared_cache -root /Volumes/Macintosh\ HD -force - 完成后重启回到正常系统,缓存应该会重新生成
二、排查安全启动失效的根源
如果安全启动没按预期工作,可能是以下原因导致的,你可以逐一排查:
- 确认真的进入安全启动:重启时按住
Shift键,直到登录窗口下方出现「安全启动」的字样,才说明成功进入安全启动模式 - 检查系统完整性保护(SIP)状态:在恢复模式的终端输入
csrutil status,如果SIP处于关闭状态,安全启动的部分功能会失效。可以尝试开启SIP:
重启后再试一次安全启动csrutil enable - 修复磁盘权限与磁盘错误:在恢复模式打开「磁盘工具」,选择你的系统盘,点击「急救」按钮,修复可能存在的磁盘权限问题或错误,这也可能影响安全启动的执行
三、无需恢复模式的重建方法(需临时关闭SIP)
如果你不想进入恢复模式,也可以尝试这个方法(注意:关闭SIP有一定风险,操作完成后建议重新开启):
- 重启进入恢复模式,终端输入
csrutil disable,重启回到正常系统 - 打开终端,执行强制重建命令:
sudo update_dyld_shared_cache -force - 完成后再次进入恢复模式,输入
csrutil enable重新开启SIP
重要提醒:无论用哪种方法,操作前最好备份好重要数据,避免误操作导致系统问题。
内容的提问来源于stack exchange,提问作者Kapil Dhaimade
相关产品推荐
相关产品推荐

