解决这个问题的步骤比较具体:首先,你需要进入安全模式。接着,进入X:\win\sys32\drivers目录下,把Hdaudbus.sys和Hdaudio.sys这两个文件删掉,如果还有其他以hda开头的文件也一并删除。然后进入设备管理器,先停用再启用那个Microsoft UAA Bus Driver for High Definition Audio,最后右键将其彻底删除,这样系统的hd总线驱动就能成功清除了。
为什么我的声卡信号时有时无?
之前有一个针对这个bug的补丁kb888111在05年1月发布,但如果你的机器里早就存在这个补丁,并且只能卸载一次的话,那就没法通过删除补丁来去除总线驱动了。另外,如果你在重装系统时,顺序是先装好了Windows的HD总线,再去安装声卡驱动,也极大概率会出现这种声卡驱动装不上、设备管理器显示异常的问题。
这个问题产生的根本原因,往往是因为Windows XP系统在检测到HD芯片时,会自动安装系统自带的总线驱动。如果后续芯片厂商提供的驱动包里也包含了总线驱动,两者就会发生冲突。举个Realtek HD声卡的例子,在Windows HD总线已经存在的情况下强行安装,系统会提示安装失败,设备管理器里显示的也不是你的声卡,而是那个无法卸载且不提供音频功能的Microsoft HD Audio。
其实问题不在于真的没声音,而是声卡根本没在正常工作。你可以右键点击我的电脑,选择属性,然后进入硬件选项卡里的设备管理器,查看声音、视频和游戏控制器这一项。正常情况下的子目录里应该包含Realtek High Definition Audio等几个关键驱动项。如果你发现这里缺失了第一项,或者存在未知设备,那通常就说明是没有安装驱动程序,或者是虽然装了驱动但由于冲突导致无法使用。
完成上述清理步骤后,重启电脑回到正常模式。在重启过程中,如果弹出发现新硬件的画面,全部取消或者跳过。最后,重新安装Realtek HD声卡的官方驱动。安装成功后,再次重启电脑,这时候声卡应该就能正常工作,有声音的问题也就解决了。整个过程虽然步骤稍多,但逻辑上是为了消除系统自带总线驱动与声卡驱动的冲突。