Mac声音异常多因残留音频驱动导致,需清理/Library/Audio/Plug-Ins/HAL/下无用.driver文件,优先用Soundflower/BlackHole官方脚本卸载,再手动删除其他残留驱动,最后清除kext缓存并重启coreaudiod服务。

如果你在Mac上遇到声音输出列表混乱、设备识别异常或音频服务不稳定等问题,很可能是系统中残留了大量已卸载软件遗留的无用音频驱动。这些驱动文件长期驻留在系统关键路径中,持续向Core Audio注册虚拟设备,导致声音菜单臃肿、默认设备错乱甚至音频中断。以下是清理这些无用音频驱动的具体操作步骤:
一、定位并识别冗余音频驱动
macOS将第三方音频驱动统一存放于/Library/Audio/Plug-Ins/HAL/目录下,所有以“.driver”为后缀的文件均为可加载的音频硬件抽象层插件。该目录不包含系统核心组件(如AppleHDA、CoreAudio等),因此是安全清理的首要目标区域。通过比对文件名特征与创建时间,可精准区分有效驱动与历史残留。
1、打开“访达”,按下Shift + Command + G,输入路径:/Library/Audio/Plug-Ins/HAL,点击“前往”。
2、在该文件夹内,按住Command键并依次点击多个.driver文件,右键选择“显示简介”,查看“通用”标签页中的“创建日期”。
3、对照你已卸载的软件时间线(例如Apowersoft、Soundflower、BlackHole、Loopback等),筛选出名称匹配且创建时间早于当前使用周期的文件。
4、特别注意:任何文件名中含Apple、CoreAudio、AUSampler或AUFilePlayer的.driver文件均不可删除,它们属于系统基础音频服务组件。
二、使用官方卸载脚本清除Soundflower
Soundflower作为经典音频路由工具,其项目维护方提供了经验证的AppleScript卸载脚本,能自动停止相关进程、注销内核扩展并移除主驱动文件,避免手动误删引发的权限或依赖问题。
1、确保你已从官方仓库获取Soundflower完整项目包,路径中包含Tools/Uninstall Soundflower.scpt文件。
2、打开“终端”,执行以下命令:osascript "Tools/Uninstall Soundflower.scpt"。
3、在弹出的窗口中输入管理员密码,等待脚本完成运行(通常耗时约15秒)。
4、脚本执行完毕后,系统会自动终止SoundflowerBed进程,并从/Library/Audio/Plug-Ins/HAL/目录中移除Soundflower.driver文件。
三、使用官方卸载脚本清除BlackHole
BlackHole提供多通道版本(2ch/16ch/64ch等),其卸载脚本由项目源码自动生成,可一次性处理全部通道变体,确保HAL目录与内核扩展注册表同步清理,防止残留驱动在音频MIDI设置中继续显示。
1、在终端中进入BlackHole项目根目录,执行:./Uninstaller/create_uninstaller.sh。
电脑手机电子配件电子商城网站模板是一款提供手机、手表、电脑等电子配件和设备的电子商城宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
2、脚本生成对应通道版本的卸载程序,位于Uninstaller/子目录下。
3、运行生成的卸载程序,例如:./Uninstaller/Uninstall BlackHole 2ch.app(双击或终端执行均可)。
4、按提示完成操作,脚本将自动删除/Library/Audio/Plug-Plugins/HAL/BlackHole*ch.driver及关联配置,并重启coreaudiod服务。
四、手动删除HAL目录中的残留.driver文件
对于未提供官方卸载脚本的第三方驱动(如ApowersoftAudioDevice、VB-Audio Virtual Cable等),需直接在/Library/Audio/Plug-Ins/HAL/目录中定位并删除对应.driver文件。此操作无需重启,但必须在删除后强制刷新音频服务才能使更改生效。
1、确认目标文件名(例如ApowersoftAudioDevice.driver),确保其不在系统正在使用的设备列表中。
2、在终端中执行删除命令:sudo rm -R "/Library/Audio/Plug-Ins/HAL/ApowersoftAudioDevice.driver"。
3、重复上述命令,逐个删除其他确认无用的.driver文件。
4、执行音频服务重载:sudo killall coreaudiod,系统将在数秒内自动重启Core Audio服务。
五、清理内核扩展缓存与重建音频索引
macOS会将已加载的音频驱动信息缓存在/System/Library/Caches/com.apple.kext.caches/Startup/目录中。若仅删除.driver文件而不刷新缓存,系统可能在下次启动时重新加载已删除的驱动条目,导致清理失效。
1、在终端中执行缓存清除命令:sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/*。
2、强制重建内核扩展缓存:sudo kextcache -invalidate /。
3、验证缓存更新是否成功:执行kextcache -system-caches,观察输出中是否包含“Successfully updated”字样。
4、重启“音频MIDI设置”应用,检查左侧设备列表是否已移除对应驱动名称。


















