换鼠标导致Windows无法启动

硬件周刊

近日购得罗技光电鼠一只(USB接口,附送USB转PS/2接头)。装上后开机,提示无法进入Windows。字符界面中显示:操作系统内部错误,需要重新启动。
  当时认为有两种可能:1.主板USB接口有问题(该机以前未接过USB设备)。2.原来的PS/2鼠标驱动程序未被删去所致。
  针对以上两种可能。我通过转接头,将新鼠标接在PS/2口上。开机一切正常。之后,在Windows的“设备管理器”中删除原鼠标驱动程序。然后在开机状态下拔下鼠标,重新接到USB接口上。Windows随即报告发现USB鼠标,照提示安装好驱动程序后,一切正常。谁知,在重新启动后,发现仍然无法正常进入Windows。
  经多次试验,发现症状如下:1.启动时PS/2口必须接有鼠标(USB口有没有无所谓),否则无法正常进入Windows(但可以进入安全模式)。2.如果在有PS/2鼠标的情况下正常进入了Windows,再换用USB接口则可以正常运行(但此时不能重新启动,否则出现症状1)。
  通过制作启动记录文件(即在Windows启动选单中选第二项“Logged”),发现Windows在加载一些主板设备的驱动程序时出现错误。
  经多次比较,终于发现了启动时接与不接PS/2鼠标的区别。下表是自检完成后出现的PCI设备列表中的“设备类型”和“IRQ”的值:(图1)

图1
图1

  从Windows的“设备管理器”中可以看出,Windows的中断请求正是按照“接PS/2鼠标时”的方法安排的。值得注意的是,Windows加载时出现问题的设备正是被重新分配过IRQ的设备。同时,我还注意到,有PS/2鼠标时,鼠标使用的IRQ正是12。可见,当PS/2鼠标被拔除并重新启动后,主板重新安排了IRQ。而新的安排与Windows的设置有冲突,导致Windows无法正常启动。
  为避免主板重新分配IRQ,我在主板的BIOS中设置了“手动分配中断资源”,并将IRQ 12设置成Reserved(保留),即不允许系统将其分配给任何PCI或PNP设备。重新启动,发现不接PS/2鼠标时,中断分配与上表中“接PS/2鼠标时”相同。Windows也可以正常进入了。
  后记:考虑到以前系统中的IRQ号全都被占完了(USB设备有专用IRQ,所以USB鼠标不会另占IRQ)。在故障排除之后,出于好奇,我又将鼠标接回PS/2口,想看看系统将如何处理这个没有IRQ可用的新设备(注意:此时IRQ 12已被我禁用)。意想不到的是,系统正常启动了!在Windows中查看“设备管理器”,发现新的PS/2鼠标使用的仍是IRQ 12!据此推断,在BIOS中设置的“Reserved”只不过是调低了IRQ的优先级而已,当系统“走投无路”时,照样会使用那些 “Reserved”的IRQ。