使用计算机硬件标识符 (CHID)

计算机硬件 ID(CHID)在 计算机硬件 ID(CHID)中定义。 有关用于每个 HardwareID 值的完整 CHID 层次结构和 SMBIOS 字段组合,请参阅该文章。

OEM 必须向驱动程序发布者提供正确的 CHID 信息。 Windows 驱动程序工具包 (WDK) 附带的 ComputerHardwareIds 工具可帮助根据一组已知的系统管理 BIOS (SMBIOS) 值报告 CHID。 ComputerHardwareIds 执行两个不同的任务。

  1. 默认行为:该工具报告系统的 SMBIOS 值和生成的 CHID。

    默认情况下,该工具会显示系统的 SMBIOS 值以及根据 SMBIOS 值生成的 CHID。

  2. 模拟行为:该工具基于用户提供的 SMBIOS 值生成 CHID。

    可以使用模拟的 SMBIOS 值(如制造商、产品系列和 SKU)来运行该工具,以获取生成的 CHID 列表。 该工具可帮助你确定在具有特定 SMBIOS 数据值的系统上会生成哪些 CHID。

保持 CHID 一致的提示

CHID 是根据区分大小写的 SMBIOS 值生成的。 必须注意确保系统不会在 SMBIOS 文本值中混用大小写。 同样,UNICODE 字符也没有经过特殊处理。 特殊字符(如土耳其语中带点和不带点的字母 I)的大写和小写处理方式不同:I、ı、İ 和 i 并不相同。

ComputerHardwareIds 工具仅计算具有可用必要 SMBIOS 值的 CHID。 如果 SMBIOS 数据字段缺失(或为 null),则不会生成任何相关的 CHID。 例如,如果 SMBIOS SKU 字段为 null,那么 CHID 0、3、4、6 和 7 就不能用于该特定系统。

有关 CHID 的详细信息,请参阅计算机硬件 ID (CHID)。

Windows 更新服务如何使用 CHID

Windows 更新服务使用 CHID 来“减少驱动程序适用的的系统的数目”。 在进行 PnP 分级之前,首先会进行这样的缩减操作。

Windows 更新服务根据已安装的 Windows OS 级别对 CHID 进行不同的处理。

Windows 10 版本 Windows 更新行为
1507 到 1703 Windows 更新将每个 CHID 分为从 CHID-0 到 CHID-14 的几级,其中,CHID-0 的级别高于 CHID-14
1709 及更高版本 CHID 不再分级。 从 CHID-0 到 CHID-14 的所有适用的 CHID 目标驱动程序将分组到一起,然后对整个组进行 PnP 分级。

请考虑以下示例:

Contoso 发布了以下两个“自动”驱动程序,它们的目标硬件 (HWID) 相同,但 CHID 不同。

  • 发行版 1 - 面向 CHID-4(制造商 + 系列 + 产品名称 + SKU 编号)
  • 分发 2 - 以 CHID-5 为目标(制造商 + 系列 + 产品名称)

哪一个是由 Windows 更新服务针对符合 CHID-5 的系统提供的?

Contoso 系统 Windows OS 级别 提供的驱动程序
与 CHID-5 匹配,但不与 CHID-4 匹配 Windows 10 1703 或更低版本 分布 2
与 CHID-5 匹配,但不与 CHID-4 匹配 Windows 10 1709 或更高版本 分布 2
CHID-5 匹配且CHID-4 匹配 Windows 10 1703 或更低版本 分布 1
CHID-5 匹配且CHID-4 匹配 Windows 10 1709 或更高版本 这两种都提供。 然后,PnP 分级将从这两个 CHID 中选择最匹配的进行安装。