计算机硬件 ID(CHID)在 计算机硬件 ID(CHID)中定义。 有关用于每个 HardwareID 值的完整 CHID 层次结构和 SMBIOS 字段组合,请参阅该文章。
OEM 必须向驱动程序发布者提供正确的 CHID 信息。 Windows 驱动程序工具包 (WDK) 附带的 ComputerHardwareIds 工具可帮助根据一组已知的系统管理 BIOS (SMBIOS) 值报告 CHID。 ComputerHardwareIds 执行两个不同的任务。
默认行为:该工具报告系统的 SMBIOS 值和生成的 CHID。
默认情况下,该工具会显示系统的 SMBIOS 值以及根据 SMBIOS 值生成的 CHID。
模拟行为:该工具基于用户提供的 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 中选择最匹配的进行安装。 |