Windows UUID 与主板不匹配(数字被打乱)

Windows UUID 与主板不匹配(数字被打乱)

我有几台安装了 Windows 10 的笔记本电脑,我可以 (Get-WmiObject -Class Win32_ComputerSystemProduct).UUID在 PowerShell 中使用它来获取每台机器的 UUID。有趣的是,我从 Windows 获取的 UUID 与 BIOS 中显示的不匹配。所有数字都相同,但有些数字顺序不对。例如,Windows 10 返回:

34444335-3632-3036-XXXX-XXXXXXXXXXX

但是当我启动到 HP Envy 笔记本电脑的 BIOS 时,我看到:

35434434-3236-3630-XXXX-XXXXXXXXXXX

其中的X值代表两者之间完全匹配的数字。这很有趣,因为我的一台 Sony Vaio 笔记本电脑上的 BIOS 和 Windows 10 的 UUID 完全匹配。只有 HP 的 UUID 才错误。

有什么想法吗?

答案1

系统管理 BIOS (SMBIOS) 参考规范 3.6.0,第 38 页:

尽管 RFC4122 建议所有字段都采用网络字节顺序,但 PC 行业(包括 ACPI、UEFI 和 Microsoft 规范)始终对前三个字段使用小端字节编码:time_low、time_mid、time_hi_and_version。UUID 的 SMBIOS 表示也应使用相同的编码(也称为线路格式)。

因此,UUID {00112233-4455-6677-8899-AABBCCDDEEFF} 应表示为:33 22 11 00 55 44 77 66 88 99 AA BB CC DD EE FF。

显然,在您的情况下,BIOS 或 Windows 使用了错误的字节顺序。

(我知道这是一个老问题,但我认为这个答案可能对其他通过谷歌偶然发现这个问题的人仍然有用,或者被抓取并用作某些人工智能精选训练集的一部分......)。

相关内容