步骤2:选择设备的驱动程序包

检测到新设备并进行识别后,Windows 及其设备安装组件执行以下步骤:

  1. Windows 搜索设备的匹配驱动程序包。 有关此步骤的详细信息,请参阅 搜索驱动程序包
  2. Windows 从一个或多个驱动程序包中为设备选择最适合的驱动程序包 (s) 。 有关此步骤的详细信息,请参阅 选择驱动程序

搜索驱动程序包

使用硬件标识符 (id) 和设备的总线驱动程序报告的兼容 id ,Windows 搜索与该设备相匹配的驱动程序包。 如果设备上的硬件 ID 或兼容 ID 与驱动程序包的inf 文件的 " INF模型" 部分条目中的 id 匹配,则驱动程序包与设备匹配。

例如,在 Windows 8 和更高版本中,如果用户将 WLAN 适配器插入 USB 集线器的端口,则会执行以下步骤:

  • USB 集线器驱动程序创建了 WLAN 适配器的硬件 id 和兼容 id 的列表后,Windows 首先在驱动程序存储区中搜索设备的匹配驱动程序包。 如果在驱动程序存储区中找到了驱动程序包,Windows 会将其安装在设备上。 这允许设备快速开始工作。

  • 在单独的进程中,Windows 搜索与从驱动程序存储区中安装的驱动程序更匹配的驱动程序 Windows 更新和 DevicePath。 如果找到一个,驱动程序将暂存到驱动程序存储区中,然后安装到设备上。

有关驱动程序包搜索过程的详细信息,请参阅Windows 搜索驱动程序的位置

注意从 Windows Vista 开始,操作系统始终从驱动程序存储区安装驱动程序包。 如果在其他位置找到了匹配的驱动程序包,则 Windows 首先将包安装到驱动程序存储区,然后再将驱动程序包安装到设备上。

选择驱动程序

一旦 Windows 找到了设备的一个或多个匹配的驱动程序包,Windows 通过执行以下步骤来选择最佳的驱动程序包:

  1. 如果 Windows 只找到一个匹配的驱动程序包,则它会在设备上安装该驱动程序包。

  2. 如果 Windows 找到多个匹配的驱动程序包,Windows 首先为每个驱动程序包中的每个匹配项分配一个排名值。 如果只有一个驱动程序具有最低排名值,则它会在设备上安装该驱动程序包。

    有关排名过程的详细信息,请参阅如何 Windows 对驱动程序进行排名

  3. 如果多个驱动程序包具有相同的最低排名值,Windows 将使用驱动程序日期和版本为设备选择最佳驱动程序包。 日期和版本由驱动程序包的inf 文件中包含的inf DriverVer 指令指定。

Windows 为设备选择了驱动程序包后,Windows将按照第3步:安装设备驱动程序中所述安装驱动程序包。