计算机硬件 ID (CHID) 是一个唯一 的硬件 ID 值,它基于系统管理 BIOS(SMBIOS)字段数据的组合来标识特定计算机。 与其他设备的硬件 ID 不同,每次系统启动时,Windows生成 CHID。 每个 CHID 都是使用 SHA-1 算法对 SMBIOS 字段值组合进行哈希处理而创建的 GUID 。
Important
仅当用于创建该字段的每个 SMBIOS 字段都填充在系统的 SMBIOS 数据中时,才会生成 CHID。
用于生成 CHID 的 SMBIOS 字段
下表描述了用于生成 CHID 的 SMBIOS 字段。
| 字段名称 | 结构名称和类型 | SMBIOS 规范版本号 | Offset | 长度 | 价值 | Description |
|---|---|---|---|---|---|---|
| Manufacturer | 系统信息(类型 1) | 2.0+ | 04小时 | 字节 | STRING | dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定计算机制造商的名称。 |
| 家庭 | 系统信息(类型 1) | 2.4+ | 1Ah | 字节 | STRING | dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定特定计算机所属的系列。 一个系列是指一组计算机,这些计算机在硬件或软件方面相似但并不完全相同。 通常,一个系列由不同的计算机模型组成,这些模型具有不同的配置和定价点。 同一系列中的计算机通常具有类似的品牌和化妆品功能。 |
| 产品名称 | 系统信息(类型 1) | 2.0+ | 05小时 | 字节 | STRING | dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定计算机的产品名称。 |
| 供应商 | BIOS 信息(类型 0) | 2.0+ | 04小时 | 字节 | STRING | dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串指定 BIOS 供应商的名称。 |
| BIOS 版本 | BIOS 信息(类型 0) | 2.0+ | 05小时 | 字节 | STRING | dmiStrucBuffer 数组中以 null 结尾的字符串的索引。 此字符串可以包含有关处理器核心和 OEM 版本的信息。 |
| 系统 BIOS 主要版本 | BIOS 信息(类型 0) | 2.4+ | 14小时 | 字节 | 不同。 | 系统 BIOS 的主版本。 |
| 系统 BIOS 小版本发布 | BIOS 信息(类型 0) | 2.4+ | 15小时 | 字节 | 多种多样 | 系统 BIOS 的次要版本。 |
| 外壳类型 | 系统外壳(类型 3) | 2.0+ | 05小时 | 字节 | 多种多样 | 系统外壳或机箱类型。 |
| SKU 编号 | SKU 编号(类型 1) | 2.4+ | 19小时 | 字节 | STRING | 对特定待售计算机配置的识别。 |
| 基板制造商 | 制造商(类型 2) | 04小时 | 字节 | STRING | 以 null 结尾的字符串数。 此字符串标识基板制造商,其中基板 – 板类型为 0Ah(主板)。 | |
| Baseboard 产品 | 产品(类型 2) | 05小时 | 字节 | STRING | 以 null 结尾的字符串数。 此字符串标识基板的产品名称,其中基板 – 板类型为 0Ah(主板)。 |
有关 dmiStrucBuffer 数组和 SMBIOS 字段的详细信息,请参阅分布式管理工作队 (DMTF ) 网站上的系统管理 BIOS (SMBIOS) 规范。
按 Windows 版本划分的 CHID 组成
下表显示了哪些 SMBIOS 字段组合成每个 CHID。 具有较低数字的 CHID 更具体,而编号较高的 CHID 则更为普遍。
Windows 7
| HWID | SMBIOS 字段 |
|---|---|
| HardwareID-0 | 制造商 + 系列 + 产品名称 + 供应商 + BIOS 版本 + 系统 BIOS 主要版本 + 系统 BIOS 次要版本 |
| HardwareID-1 | 制造商 + 产品名称 + BIOS 供应商 + BIOS 版本 + 系统 BIOS 主要版本 + 系统 BIOS 次要版本 |
| HardwareID-2 | 制造商 + 系列 + 产品名称 |
| HardwareID-3 | 制造商 + 产品名称 |
| HardwareID-4 | 制造商 + 系列 |
| HardwareID-5 | 制造商 + 外壳类型 |
| HardwareID-6 | Manufacturer |
Windows 8 和 Windows 8.1
| HWID | SMBIOS 字段 |
|---|---|
| HardwareID-0 | 制造商 + 系列 + 产品名称 + SKU 编号 + BIOS 供应商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-1 | 制造商 + 系列 + 产品名称 + BIOS 供应商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-2 | 制造商 + 产品名称 + BIOS 供应商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-3 | 制造商 + 系列 + 产品名称 + SKU 编号 |
| HardwareID-4 | 制造商 + 系列 + 产品名称 |
| HardwareID-5 | 制造商 + SKU 编号 |
| HardwareID-6 | 制造商 + 产品名称 |
| HardwareID-7 | 制造商 + 系列 |
| HardwareID-8 | 制造商 + 外壳类型 |
| HardwareID-9 | Manufacturer |
Windows 10及更高版本
| HWID | SMBIOS 字段 |
|---|---|
| HardwareID-0 | 制造商 + 系列 + 产品名称 + SKU 编号 + BIOS 供应商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-1 | 制造商 + 系列 + 产品名称 + BIOS 供应商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-2 | 制造商 + 产品名称 + BIOS 供应商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-3 | 制造商 + 系列 + 产品名称 + SKU 编号 + 基板制造商 + 基板产品 |
| HardwareID-4 | 制造商 + 系列 + 产品名称 + SKU 编号 |
| HardwareID-5 | 制造商 + 系列 + 产品名称 |
| HardwareID-6 | 制造商 + SKU 编号 + 基板制造商 + 基板产品 |
| HardwareID-7 | 制造商 + SKU 编号 |
| HardwareID-8 | 制造商 + 产品名称 + 基板制造商 + 基板产品 |
| HardwareID-9 | 制造商 + 产品名称 |
| HardwareID-10 | 制造商 + 产品系列 + 主板制造商 + 主板产品 |
| HardwareID-11 | 制造商 + 系列 |
| HardwareID-12 | 制造商 + 外壳类型 |
| HardwareID-13 | 制造商 + 基板制造商 + 基板产品 |
| HardwareID-14 | Manufacturer |
使用 ComputerHardwareIds 工具生成 CHID
ComputerHardwareIds (ComputerHardwareIds.exe) 是一种Windows 驱动程序工具包 (WDK)命令行工具,可用于为计算机系统的特定模型生成硬件 ID。
在运行 Windows 7 或更高版本的 Windows作系统的系统上支持 ComputerHardwareIds 工具。 此工具包含在 Windows 驱动程序工具包(WDK)的 bin 目录下。 32 位 Windows 平台(x86)和 64 位 Windows 平台(x64)有单独的版本。
有关下载和安装 WDK 的信息,请参阅下载 Windows 驱动程序工具包 (WDK)。
运行 ComputerHardwareIds
若要运行 ComputerHardwareIds,请在命令提示符处键入命令。
C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64>ComputerHardwareIds
Parameters
没有
ComputerHardwareIds 示例输出
下面是 ComputerHardwareIds 工具生成的输出示例。
Using the BIOS to gather information
## Computer Information
BIOS Vendor: Contoso Inc.
BIOS Version string: A16
System BIOS Major Version: 6
System BIOS Minor Version: 0
System Manufacturer: Contoso Inc.
System Family: (null)
System ProductName: Contoso SYS01
Enclosure Type: Portable
Hardware IDs
------------
{346511cf-ccee-5c6d-8ee9-3c70fc7aae83} <- Manufacturer + Family + ProductName + BIOS Vendor + BIOS Version + Major Version + Minor Version
{d7be59e5-29b5-589a-b49d-de7265ef6a7b} <- Manufacturer + Family + ProductName