排查设备和驱动程序安装问题

可以使用以下准则来验证设备是否已正确安装或诊断设备安装问题。

检查设备是否标记为有问题

如果设备设置了 问题代码 ,则可能在设备安装期间或设备的设置/配置出现问题。 若要检查设备是否设置了问题代码,可以使用 设备管理器 来检查设备的图标是否覆盖了带感叹号的黄色三角形。 启动设备的“属性”对话框将提供问题代码值以及错误消息。

如果设备通过命令行使用 PnPUtil 设置了问题代码,还可以检查。 如果知道设备的设备实例路径,则可以使用 PnPUtil 检查其状态:

pnputil /enum-devices /instanceid <device instance path>

如果你不知道设备的设备实例路径,则可以使用 PnPUtil 检查是否有任何设备设置了问题代码,并且你可以看到其中是否有任何设备看起来像你的设备:

pnputil /enum-devices /problem

如果确定设备有问题代码集,请参阅设备管理器错误消息,了解有关问题代码的详细信息。

查看设备安装日志

可以按照 SetupAPI Logging (Windows Vista 及更高版本) SetupAPI Logging (Windows Server 2003、Windows XP 和 Windows 2000) 中所述的步骤来识别设备安装错误。 有关常见安装错误的列表,请参阅下文:

错误代码 说明
0x000005B4 (ERROR_TIMEOUT) 设备安装耗时过长,已停止。 有关设备安装和所用时间的详细信息,请参阅 SetupApi 日志

超时的一些常见原因包括:

共同安装程序执行时间过长。 这可能是因为协同安装程序正在执行一些不受支持的操作,该操作已挂起或运行时间过长。 例如,辅助安装程序在非交互式会话中执行,因此它无法执行需要等待用户输入的内容。 共同安装程序已弃用,应避免使用。 有关详细信息,请参阅 通用 INF

在设备安装结束时启动或重启设备已挂起。
0xe0000219 (ERROR_NO_ASSOCIATED_SERVICE) 设备上安装的驱动程序包未指定设备的关联服务。 有关详细信息,请参阅 INF AddService 指令 文档中的 SPSVCINST_ASSOCSERVICE 标志。
0xe0000248 (ERROR_DEVICE_INSTALL_BLOCKED) 由于组策略设置,设备安装被阻止。 有关详细信息,请参阅使用 组策略 控制设备安装和移动设备管理设备安装策略
0x000001e0 (ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT) 在设备安装结束时,将重启一个或多个设备,以选取新文件或在设备安装过程中更改的设置。 作为此重启操作的一部分,对正在重启的一个或多个设备执行查询删除操作。 此错误表示在正在安装的设备的查询删除操作期间,某些内容挂起或耗时过长。 有关详细信息,请参阅 SetupApi 日志
0x000001e1 (ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT) 在设备安装结束时,将重启一个或多个设备,以选取新文件或在设备安装过程中更改的设置。 作为此重启操作的一部分,对正在重启的一个或多个设备执行查询删除操作。 此错误表示某个设备在查询删除操作期间挂起或花费的时间过长,以便重新启动的一个或多个设备。 有关详细信息,请参阅 SetupApi 日志
0x000001e2 (ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT) 在设备安装结束时,将重启一个或多个设备,以选取新文件或在设备安装过程中更改的设置。 作为此重启操作的一部分,对正在重启的一个或多个设备执行查询删除操作。 此错误表示由于系统的其他设备上正在执行查询删除操作,无法及时执行查询删除操作。 有关详细信息,请参阅 SetupApi 日志

在安装过程中调试类安装程序或辅助安装程序

注意

已弃用类安装程序和辅助安装程序。 有关详细信息,请参阅 通用 INF

在 Windows Vista 及更高版本的 Windows 上,按照 调试设备安装 (Windows Vista 及更高版本) 中所述的步骤,在设备安装的核心阶段调试类安装程序或 辅助安装程序