Benjamin's Blog

移除 macOS 无用的系统扩展和内核扩展

移除 macOS 无用的系统扩展和内核扩展
2023-10-31 · 4 min read
Ingenious Skills

这是一篇发布于 6 个月前的文章,其中的信息可能已经有所发展或是发生改变

macOS 虽然安装 App 十分简单方便,但卸载起来真的是让人头大

一不小心安装了 Samsung 的 SSD 工具和某款同时还需要 macFUSE 搭配使用的 NTFS 工具。由于 macOS 中已不再推荐使用 Kext,需要用户手动降低设备安全策略并重启以启用系统扩展(系统扩展已被阻止)。之前还卸载了 AdGuard,但似乎还有部分系统扩展残留在系统中。而对于像我这种有「系统洁癖」的人来说,当务之急必然是尝试清除

以前其实就尝试清理过 Samsung 的 SSD 工具所放入系统的系统扩展,当时还找到了源文件,删除后以为万事大吉,这次发现并非如此

开始之前

在正式进行任何操作之前,我们需要确定我们需要修改的内容,以及对所修改的文件做好备份工作,条件允许时,应该进行整机 Time Machine 备份

对于 macOS,系统扩展和内核扩展一般在以下几个位置:

  • /Library/StagedExtensions/Library/Extensions/ 这个位置一般包含了所有安装的 Kext[1]
  • /private/var/db/KernelExtensionManagement 这个位置一般包含了诸如 AdGuard 网络系统扩展等内容,具体在其 AuxKC 目录中。可以先行在 Terminal 中通过 systemextensionsctl list 查询是否存在(比如 com.adguard.mac.adguard.network-extension
  • /Library/SystemExtensions 这个位置一般包含了某些不在以上目录的扩展

想要对 macOS 系统文件进行修改,则需要关闭 macOS 的系统完整性保护(System Integrity Protection,SIP)。具体方法为进入 macOS 的恢复模式,依次选择 Menu Bar 中的「实用工具」>「终端」,然后在 Terminal 中输入 csrutil disable 关闭 SIP,随后重新启动 Mac 即可

移除 AuxKC 目录下的系统扩展

想要移除 AuxKC 目录下的系统扩展十分简单,只需要先使用 systemextensionsctl list 查询系统扩展的详细信息,随后在 Terminal 中输入 systemextensionsctl uninstall <teamID> <bundleID> 即可[2]。以移除 AdGuard 的网络系统扩展为例(此例中 teamID 为 TC3Q7MAJXF,具体请以 list 中所列信息为准):

systemextensionsctl uninstall TC3Q7MAJXF com.adguard.mac.adguard.network-extension

等待 Terminal 完成操作(显示 Successful)后,重新启动 Mac。此系统扩展即将在重新启动过程中被移除

移除所有已安装的 Kext

开始之前,我们需要先修复 /S/L/E(System/Library/Extensions)和 /L/E(Library/Extensions)文件夹中的权限[3]

在 Terminal 中依次单独键入以下每个命令:

  • sudo chmod -Rf 755 /S*/L*/E*
  • sudo chmod -Rf 755 /L*/E*
  • sudo chown -Rf 0:0 /S*/L*/E*
  • sudo chown -Rf 0:0 /L*/E*

随后在 Terminal 中键入以下命令后重新启动你的 Mac:

sudo kextcache -i /

最后,请记得在恢复模式的 Terminal 使用 csrutil enable 命令重新启用设备的系统完整性保护(SIP)

参考链接


  1. 第三方内核扩展 ↩︎

  2. 亦可先使用 systemextensionsctl disable 命令将系统扩展反激活再进行后续操作 ↩︎

  3. 推荐在安全模式下操作 ↩︎

移除 macOS 无用的系统扩展和内核扩展

许可协议:CC BY-NC-SA 4.0。欲了解更多相关信息,详见 版权信息与资源使用说明 页面

本站所有内容除特别说明外,皆为原创发布。欢迎尊重原创作者版权的转载或引用。转载或引用时请注明出处


出现了影响阅读的问题?不妨 反馈 一下吧

本文已被阅读 0 次,该数据仅供参考

我们欢迎任何与文章内容相关并保持尊重的评论,评论时请遵守我们的 评论准则