必须从内核扩展、hal插件、用户配置三处同步清除soundflower、blackhole等虚拟声卡驱动,缺一不可;首选运行官方卸载程序并重启mac,若缺失则需手动删除/library/audio/plug-ins/hal/下.driver文件、执行sudo killall -9 coreaudiod、清理.kext及用户级配置。

Mac上残留的Soundflower、BlackHole等虚拟声卡驱动会持续注册设备、干扰音频MIDI设置,甚至导致“音频 MIDI 设置”崩溃或无法打开,必须从内核扩展、HAL插件、用户配置三处同步清除,缺一不可。
运行官方卸载程序(首选)
多数虚拟声卡驱动自带图形化卸载器,能一次性解除内核注册、停用后台进程、删除偏好设置和缓存索引,避免手动误删系统文件。
打开“访达”→“应用程序”,定位到Soundflower或BlackHole对应文件夹;
查找名称含“Uninstall”“Remove”或中文“卸载”的.app、.scpt或.pkg文件(如“Uninstall Soundflower.scpt”“BlackHole16ch-Uninstaller.pkg”);
双击运行,勾选“删除所有用户配置”“清除内核扩展”“停用LaunchAgent”等全部选项;
【务必重启Mac】——未重启时coreaudiod仍持有设备句柄,HAL驱动在音频MIDI设置中仍将显示为可用设备。
手动清除HAL驱动与CoreAudio服务
若官方卸载器缺失、运行失败或需验证是否彻底清理,必须直接操作系统级音频插件路径。
按Shift+Command+G打开“前往文件夹”,输入:/Library/Audio/Plug-Ins/HAL/,回车;
确认存在Soundflower.driver、BlackHole2ch.driver、BlackHole16ch.driver等文件夹;
打开“终端”,逐条执行删除命令(以BlackHole 16声道为例):
sudo rm -R /Library/Audio/Plug-Ins/HAL/BlackHole16ch.driver
执行后立即强制重启音频服务:
sudo killall -9 coreaudiod
这一步不可跳过:仅删除.driver文件夹不重启coreaudiod,系统仍会从缓存加载旧设备定义,音频MIDI设置中设备名不会消失。
深度清理内核扩展与残留配置
虚拟声卡常同时部署.kext内核扩展用于底层控制,Catalina及更新系统虽禁用加载,但残留文件仍被kextcache索引,可能触发权限冲突或签名验证失败。
第一步:终止所有关联进程
sudo pkill -f "Soundflower\|BlackHole\|Loopback\|MultiOutput"
第二步:删除kext文件
sudo rm -rf /Library/Extensions/Soundflower.kext /Library/Extensions/BlackHole*.kext
第三步:清空并重建内核缓存
sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/*
sudo kextcache -invalidate / && sudo kextcache -update-volume /
第四步:清理用户级配置
按Shift+Command+G依次进入:
~/Library/Audio/Plug-Ins/HAL/ → 删除Soundflower.driver等残留.driver文件;
~/Library/Audio/Plug-Ins/Components/ → 删除含“Aggregate”“MultiOutput”的.component文件;
~/Library/Preferences/ → 搜索并删除com.soundflower.*、io.github.blackhole-audio.*等plist文件。











