需清理内核扩展缓存:执行sudo kextcache -system-cache-info检查“Last updated”时间,若早于kext增删操作或显示“Cache is stale”,则需清空/System/Library/Caches/com.apple.kext.caches/Startup/*和/Library/Caches/com.apple.kext.caches/Startup/*,再运行sudo kextcache -invalidate / && sudo kextcache -update-volume /重建。

Mac系统启动变慢、声音异常或内核日志频繁报错,常因内核扩展(kext)缓存未及时更新或残留失效条目所致;这些缓存位于系统深层路径,仅重启或常规清理无法刷新,必须主动清空并重建。
确认是否需清理内核扩展缓存
打开“终端”,执行:sudo kextcache -system-cache-info → 查看输出中“Last updated”时间是否早于最近一次kext增删操作;若显示“Cache is stale”或日期停滞超过3天,说明缓存已失效,必须清理。
若此前手动删除过 /Library/Extensions/ 中的 .kext 文件但未重建缓存,系统仍会尝试加载旧索引,导致音频设备消失、Aggregate Device崩溃等现象。
清空并重建内核扩展缓存
第一步:彻底删除现有缓存索引文件
在“终端”中逐行执行以下命令(每行回车后等待无报错再执行下一行):sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/*sudo rm -rf /Library/Caches/com.apple.kext.caches/Startup/*
第二步:强制重建全盘缓存
执行:sudo kextcache -invalidate / && sudo kextcache -update-volume /
该命令会扫描所有合法签名的kext(含Apple官方与已授权第三方),生成新缓存;过程耗时约30秒至2分钟,终端将显示“Kernel cache created successfully”才表示完成。
【必须确保SIP未被禁用】 否则 kextcache -update-volume / 会失败并报错“Operation not permitted”,此时需先重启进恢复模式→终端执行 csrutil enable→重启再操作。
验证缓存是否生效
执行:sudo kextcache -system-cache-info → 检查“Last updated”时间是否已更新为当前时刻;
再运行:ls -l /System/Library/Caches/com.apple.kext.caches/Startup/ → 确认目录下存在以 .kcache 结尾的新文件,且修改时间为刚刚重建的时间戳。
若仍看到大量 .kext.old 或 .cache.bad 文件,说明某第三方kext签名失效或路径损坏,需进入 /Library/Extensions/ 手动排查对应文件夹并删除。










