巧解Windows 7的USB键盘问题
硬用360度
最近笔者安装了Windows 7 RC 64位英文版,在使用过程中遇到一个棘手的问题。不过,笔者通过仔细分析,巧妙地解决了这个问题,真正体验到了Windows 7的畅快感觉。
故障现象
安装Windows 7后,笔者发现系统使用还算稳定,但偶尔在启动过程中死机。死机一般发生在进入Windows 7的启动画面前,画面呈现灰暗色,然后苦苦等待也无法启动系统,只能按重启键,并按F8键进入高级启动菜单选择“上一次正确配置”才可正常启动。由于该故障的出现没有规律性,开始笔者也不在意。不过,近期这个故障却变得更为频繁,特别是每次进入高级启动菜单十分麻烦,那么,怎么解决这个故障呢?
故障分析
1.检查硬盘扇区
首先,分析可能是硬盘有坏道导致检测硬盘时死机,于是进行了分区检测。笔者用鼠标右键点击硬盘分区选择“属性”命令,在弹出的窗口点击“工具”选项,点击“差错”下的“开始检查”按钮,在打开的“检查磁盘”的窗口勾选“自动修复文件系统错误”和“扫描并试图恢复坏扇区”选项,点击“开始”按钮即可检测分区是否有错误了。
经过对每个硬盘分区的检查,笔者发现分区都没有问题。因此,故障可能是出现在系统启动时的服务和驱动的加载瞬间。那么,是出现在哪个文件加载的时候呢?
2.分析启动过程

笔者想到Windows 7的启动过程可以设置成显示引导信息,因此,就开始动手操作。点击“开始”菜单,在“搜索”框输入“ msconfig”命令打开“系统配置”窗口,点击“引导”选项,勾选“OS引导信息”选项即可(如图1)。再次启动系统即可显示详细启动过程中的文件和服务的加载信息了。

在一次启动过程中,电脑再次死机。而启动画面显示死机是出现在加载驱动库里的CLASSPNP .SYS文件的时候(如图2)。
3.巧妙定位故障
根据官方的描述,这是一个驱动模块函数库文件。因此,可以肯定这次故障是硬件设备的不稳定引起的。而这种故障一般是外围设备和系统兼容性差产生的,考虑到只使用了一个USB接口的键盘,因此,很可能是这个键盘的问题。另外,在启动过程中,只要按下键盘即可导致死机,这再次确定了键盘和硬件的兼容性有很大的问题。不过,在进入系统后,键盘的使用却很正常,因此,Windows 7在启动加载驱动时检测键盘的过程是相当不稳定的,容易导致死机。
笔者拔下了采用USB接口的键盘,使用普通的PS/2键盘启动并在启动中按下任何按键未出现死机。这个事实更加验证了以上的判断。难道就这样放弃手感舒适的键盘而使用普通键盘吗?当然不是了。
4.彻底清除故障

解决这个故障的关键是取消启动时的USB之类的即插即用设备的检测,不过,这可能导致进入系统后这类设备无法被检测到。点击“开始”菜单,在搜索框输入“services.msc”命令打开“服务”窗口,经过仔细查看分析,锁定了一个名为Upnp Device Host的服务(如图3),该服务的描述是:允许本计算机的UPnP 设备。如果停止此服务,则所有UPnP 设备都将停止工作,并且不能添加其他宿主设备。如果禁用此服务,则任何依赖于它的服务将都无法启动。而UPnP是通用即插即用协议, 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,是以前即插即用设备协议的扩展。因此,如果关闭了这个服务就可能使得系统启动不再检测外围设备,也可能导致一些无线路由器和智能设备无法被识别。然而,大量的家用网络设备早已内置UPnP功能了,因此,禁用该服务不会造成使用障碍。
于是,笔者果断地禁用了该服务。接着使用USB键盘就再也没出现Windows 7启动死机了。而且,无线路由器使用也没有任何问题。在这里,笔者给有类似故障的朋友提供了一种解决思路,希望大家有更深入的发现。