電腦硬體識別碼(CHID)是一種獨特的 硬體識別 碼值,根據系統管理BIOS(SMBIOS)欄位資料的組合來識別特定電腦。 與其他裝置的硬體 ID 不同,Windows 每次系統開機時都會產生 CHID。 每個 CHID 都是透過使用 SHA-1 演算法對 SMBIOS 欄位值組合進行雜湊而產生的 GUID 。
Important
只有當系統的 SMBIOS 資料中包含所有用於建立 CHID 的個別 SMBIOS 欄位時,CHID 才會被產生。
用於產生 CHID 的 SMBIOS 欄位
下表說明用於產生 CHID 的 SMBIOS 欄位。
| 欄位名稱 | 結構名稱與類型 | SMBIOS 規範版本 | 偏移 | 長度 | 價值觀 | 描述 |
|---|---|---|---|---|---|---|
| Manufacturer | 系統資訊(類型 1) | 2.0+ | 04h | 位元組 | STRING | dmiStrucBuffer 陣列中以 Null 結尾之字串的索引。 此字串指定電腦製造商名稱。 |
| 家族 | 系統資訊(類型 1) | 2.4+ | 1Ah | 位元組 | STRING | dmiStrucBuffer 陣列中以 Null 結尾之字串的索引。 此字串指定特定電腦所屬的族群。 家族指的是一組在硬體或軟體上相似但不完全相同的電腦。 通常一個家族由不同的電腦模型組成,這些型號擁有不同的配置和定價點。 同一系列的電腦通常擁有相似的品牌與外觀特徵。 |
| 產品名稱 | 系統資訊(類型 1) | 2.0+ | 05小時 | 位元組 | STRING | dmiStrucBuffer 陣列中以 Null 結尾之字串的索引。 此字串指定電腦的產品名稱。 |
| 供應商 | BIOS 資訊(類型 0) | 2.0+ | 04h | 位元組 | STRING | dmiStrucBuffer 陣列中以 Null 結尾之字串的索引。 此字串指定 BIOS 廠商名稱。 |
| BIOS 版本 | BIOS 資訊(類型 0) | 2.0+ | 05小時 | 位元組 | STRING | dmiStrucBuffer 陣列中以 Null 結尾之字串的索引。 此字串可包含處理器核心及原廠版本的資訊。 |
| 系統 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 | 特定待售電腦組態的辨識。 |
| 踢腳板製造商 | 製造商(第二型) | 04h | 位元組 | STRING | 以空字元結尾的字串數量。 此串指示踢腳板製造商,其中踢腳板-主板類型為0Ah(主機板)。 | |
| 踢腳板產品 | 產品(類型2) | 05小時 | 位元組 | STRING | 以空字元結尾的字串數量。 此字串標示踢腳板的產品名稱,其中踢腳板-主板類型為0Ah(主機板)。 |
欲了解更多關於 dmiStrucBuffer 陣列與 SMBIOS 欄位的資訊,請參閱分散式管理工作小組(DMTF)網站上的 系統管理 BIOS(SMBIOS) 規範。
Windows 版本的 CHID 組合
下表顯示各 CHID 中哪些 SMBIOS 欄位被組合起來。 數字較低的 CHID 較具體,而編號較高的 CHID 則較為一般。
Windows 7
| HWID | SMBIOS 場域 |
|---|---|
| HardwareID-0 | 製造商 + 家族 + 產品名稱 + 廠商 + BIOS 版本 + 系統 BIOS 主要版本 + 系統 BIOS 次要版本 |
| 硬體ID-1 | 製造商 + 產品名稱 + BIOS 供應商 + BIOS 版本 + 系統 BIOS 主要版本 + 系統 BIOS 次要版本 |
| 硬體識別碼-2 | 製造商 + 家族 + 產品名稱 |
| HardwareID-3 | 製造商 + 產品名稱 |
| HardwareID-4 | 製造商 + 家族 |
| HardwareID-5 | 製造商 + 外殼類型 |
| HardwareID-6 | Manufacturer |
Windows 8 和 Windows 8.1
| HWID | SMBIOS 場域 |
|---|---|
| HardwareID-0 | 製造商 + 家族 + 產品名稱 + SKU 編號 + BIOS 廠商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| 硬體ID-1 | 製造商 + 家族 + 產品名稱 + BIOS 廠商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| 硬體識別碼-2 | 製造商 + 產品名稱 + BIOS 廠商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-3 | 製造商 + 家族 + 產品名稱 + SKU 編號 |
| HardwareID-4 | 製造商 + 家族 + 產品名稱 |
| HardwareID-5 | 製造商 + SKU 編號 |
| HardwareID-6 | 製造商 + 產品名稱 |
| HardwareID-7 | 製造商 + 家族 |
| HardwareID-8 | 製造商 + 外殼類型 |
| 硬體識別碼-9 | Manufacturer |
Windows 10 及以後版本
| HWID | SMBIOS 場域 |
|---|---|
| HardwareID-0 | 製造商 + 家族 + 產品名稱 + SKU 編號 + BIOS 廠商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| 硬體ID-1 | 製造商 + 家族 + 產品名稱 + BIOS 廠商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| 硬體識別碼-2 | 製造商 + 產品名稱 + BIOS 廠商 + BIOS 版本 + BIOS 主要版本 + BIOS 次要版本 |
| HardwareID-3 | 製造商 + 家族 + 產品名稱 + SKU 編號 + 踢腳板製造商 + 踢腳板產品 |
| HardwareID-4 | 製造商 + 家族 + 產品名稱 + SKU 編號 |
| HardwareID-5 | 製造商 + 家族 + 產品名稱 |
| HardwareID-6 | 製造商 + SKU 編號 + 踢腳板製造商 + 踢腳板產品 |
| HardwareID-7 | 製造商 + SKU 編號 |
| HardwareID-8 | 製造商 + 產品名稱 + 踢腳板製造商 + 踢腳板產品 |
| 硬體識別碼-9 | 製造商 + 產品名稱 |
| 硬體ID-10 | 製造商 + 產品系列 + 主機板製造商 + 主機板產品 |
| HardwareID-11 | 製造商 + 家族 |
| HardwareID-12 | 製造商 + 外殼類型 |
| HardwareID-13 | 製造商 + 主機板製造商 + 主機板產品 |
| HardwareID-14 | Manufacturer |
使用 ComputerHardwareIds 工具產生 CHID
ComputerHardwareIds(ComputerHardwareIds.exe)是一款Windows 驅動程式套件 (WDK)命令列工具,可用於產生特定電腦系統型號的硬體識別碼。
在執行 Windows 7 或更新版本的 Windows作系統的系統上,支援 ComputerHardwareIds 工具。 此工具包含於 Windows Driver Kit(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