macOS关闭“您当前的设置阻止安装系统性扩展”提示
当我们安装一个扩展程序时,突然反悔不想安装了。这时在设置--安全性与隐私中会一直提示“您当前的设置阻止安装系统性扩展”
这是因为这几年macOS的安全性要求越来越高,Apple Silicon的Mac电脑发布后,已经默认取消了对第三方内核扩展(Kernel Extension)的支持;此外,Big Sur开始也强化对系统扩展的限制。但是,仍然有部分设备由于各种原因还没彻底完善驱动,比如Apogee系列产品,安装驱动软件时需要手工降低安全性要求,加载Kernel Extensions。这就带来一个问题,删软件的时候会删不干净。稍微搜索了一轮,终于找到了位置。
关闭SIP
执行以下操作需要先关闭SIP。
SIP 全称为「System Integrity Protection」即「系统完整性保护」,是 OS X El Capitan 时开始采用的一项安全技术,SIP 将一些文件目录和系统应用保护了起来。
因为 SIP 是系统级的权限操作,我们无法直接关闭它,需要前往「macOS 恢复功能」下进行。
INTEL芯片:将 Mac 开机,立即在键盘上按住 Command ⌘ + R,直到看到 Apple 标志或旋转的地球时松开。看到“实用工具”窗口时,恢复功能启动即完成。
M系列芯片:将 Mac 开机,长按电源键指导显示恢复按钮时,看到“实用工具”窗口,恢复功能启动即完成。
在上方的菜单栏点击“实用工具”选择“终端”。
在终端中,输入以下命令后后回车。
csrutil disable回车后会提示“成功关闭了系统完整性保护,请重启机器”
点击菜单栏 标志,选择“重新启动”。
就此我们关闭了 SIP。
重新开启,重复操作,在输入命令时输入
csrutil enable内核扩展
首先,到/Library/StagedExtensions/Library/Extensions/这个路径,可以看到安装的所有第三方内核扩展。如果和我一样装了Apogee驱动的,这里是5个驱动目录。
找到地方就容易卸载了。关机后长按电源/TouhID键,启动电脑时选择进入“选项”后,在菜单栏进入“终端”:
cd /Library/StagedExtensions/Library/Extensions/
ls
rm -rf *.kext如果只是删除某一个驱动,当然可以把最后一条指令改成特定的驱动名。
最后关闭终端并重启电脑就行了。
顺便说一句,Apogee的安装包里有卸载程序,要先运行卸载程序后再做上面的手工步骤。安装包里面信息也不太全,对Apple Silicon的电脑,建议参考官方安装文档。
系统扩展
有些软件为了系统级权限等,用了系统扩展(System Extension)。它和内核扩展是不同的,内核扩展基本上是硬件驱动程序,系统扩展可能还包括网络类,比如一些代理、过滤器等。系统扩展可以用这个指令查询:
systemextensionsctl list如果你安装了Adguard,在这里就可以看到com.adguard.mac.adguard.network-extension。同时这里会有TeamID字段。
一般来说,软件本身会管理扩展,这个扩展会跟着软件卸载干净。如果极个别情况需要手工操作,那还是上面这个指令就行(注意替换
systemextensionsctl uninstall <teamID>总之,现在还在让你装内核扩展的,都是反应偏慢的厂家了。最后吐槽下,Apogee号称迭代推出了新一代的控制软件Apogee Control 2,但每次在我的电脑上打开时,都有个ApogeeMessager的进程疯狂占用CPU,唯一值得欣慰的是它只占一个核。应该有几个月了,还没看到修复的希望(外站也有抱怨的,也没官方回应),只能手工干净卸载了,反正我的Apogee Duet现在只是个备用DAC。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
小菜鸡
评论已关闭