mac驱动卸载需分层清除残留:先运行官方卸载程序,再终端强制终止进程、删除内核扩展、重建缓存,接着清理用户库配置与日志,最后移除launchdaemons/launchagents守护进程,重启后验证kextstat无输出且extensions目录无残留。

Mac上已安装驱动程序卸载后常留有内核扩展、服务进程、偏好设置和缓存文件,这些残留会导致新驱动安装失败、设备识别异常、音频/触控功能错乱或系统偏好设置崩溃。必须分层清除,不能只删应用程序图标。
运行官方卸载程序
多数专业驱动(如Blackmagic Desktop Video、Elgato Stream Deck、Soundflower、RME Fireface)自带图形或脚本式卸载器,能精准移除注册项、内核模块与用户配置。
打开“访达”→“应用程序”,定位驱动所在文件夹(例如“Soundflower”或“Blackmagic Desktop Video”)。
双击进入该目录,查找名称含 【Uninstall、Remove 或 Cleanup】 的可执行文件(如“Uninstall Soundflower.scpt”或“Blackmagic Uninstaller.app”)。
双击运行,勾选“删除所有用户配置”“清除内核扩展”等选项,输入管理员密码完成验证;部分卸载器会提示需重启生效,务必留意最后一步说明。
手动清除内核扩展与系统缓存
若官方卸载器缺失、失效或未运行成功,必须通过终端强制清理被系统锁定的驱动文件。这一步不可跳过,否则内核级冲突将持续存在。
第一步:终止相关后台进程
打开“终端”,输入:sudo pkill -f "SoundflowerBed\|Elgato\|Blackmagic\|RME"
按回车后输入管理员密码。不终止进程直接删kext会导致文件被占用而失败。
第二步:删除内核扩展文件
逐条执行以下命令(根据实际驱动名调整路径,切勿照抄全部):sudo rm -rf /Library/Extensions/Soundflower.kextsudo rm -rf /Library/Extensions/Elgato*.kextsudo rm -rf /System/Library/Extensions/RME*.kext
第三步:重建内核缓存
执行:sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/*sudo kextcache -invalidate / && sudo kextcache -update-volume /
这一步让系统彻底忘记旧驱动的存在,否则重启后仍可能加载残留索引。
清理用户级配置与日志
驱动安装后会在用户库中写入plist、缓存、支持数据和日志,这些文件不会随主程序删除而消失,重装时极易引发权限错误或配置覆盖。
按Shift + Command + G打开“前往文件夹”,依次访问以下路径:
~/Library/Preferences/
~/Library/Caches/
~/Library/Application Support/
~/Library/Logs/
在每个路径右上角搜索框中输入驱动关键词(如“Elgato”“BM”“Soundflower”),区分大小写,尝试缩写与全称。
仅删除明确匹配的 .plist 文件、同名文件夹或日志子目录;切勿整删整个文件夹,否则可能误删其他应用数据。
检查并移除后台守护进程
部分驱动会注册系统级或用户级守护进程,即使主程序已删,它们仍在后台持续运行并占用资源、监听端口或干扰新驱动初始化。
方法一:检查系统级守护项
在终端中运行:ls /Library/LaunchDaemons | grep -i "elgato\|blackmagic\|soundflower"
若返回结果,用 sudo launchctl unload -w [完整路径] 停用,再 sudo rm [完整路径] 删除。
方法二:检查用户级登录项
运行:ls ~/Library/LaunchAgents | grep -i "streamdeck\|soundflower"
对匹配项执行:launchctl unload -w [路径] → rm [路径]
注意:LaunchAgents 中的 plist 文件若被第三方工具(如BetterTouchTool)引用,删除前请确认无关联行为,否则可能导致快捷键失效。
验证清理是否完成
重启 Mac。
打开“系统设置”→“隐私与安全性”→“完全磁盘访问”,检查列表中是否还有旧驱动相关条目;若有,说明其守护进程或辅助工具仍未清除干净。
在终端中运行:kextstat | grep -i "soundflower\|elgato"
若无任何输出,表示内核扩展已彻底卸载。
打开“访达”,按Shift+Command+G前往 /Library/Extensions/,确认对应.kext文件夹已不存在。











