这是一篇发布于 1 年前的文章,其中的信息可能已经有所发展或是发生改变
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 目录下的系统扩展十分简单,只需要先使用 systemextensionsctl list
查询系统扩展的详细信息,随后在 Terminal 中输入 systemextensionsctl uninstall <teamID> <bundleID>
即可[2]。以移除 AdGuard 的网络系统扩展为例(此例中 teamID 为 TC3Q7MAJXF
,具体请以 list 中所列信息为准):
systemextensionsctl uninstall TC3Q7MAJXF com.adguard.mac.adguard.network-extension
等待 Terminal 完成操作(显示 Successful
)后,重新启动 Mac。此系统扩展即将在重新启动过程中被移除
开始之前,我们需要先修复 /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)
许可协议:CC BY-NC-SA 4.0。欲了解更多相关信息,详见 版权信息与资源使用说明 页面
本站所有内容除特别说明外,皆为原创发布。欢迎尊重原创作者版权的转载或引用。转载或引用时请注明出处
出现了影响阅读的问题?不妨 反馈 一下吧
欢迎任何与文章内容相关并保持尊重的评论,评论时请遵守 评论准则