麒麟系统中获取硬件UUID须用sudo dmidecode -t system查UUID字段,或cat /sys/class/dmi/id/product_uuid,二者均源自SMBIOS固件,区别于磁盘UUID,适用于激活验证与资产登记。

如果您在麒麟操作系统中需要准确获取主板、整机、BIOS等硬件层级的唯一标识符,以便用于激活验证、资产登记或系统审计,而不仅仅是磁盘分区的UUID,则必须区分清楚:磁盘UUID由文件系统生成,而硬件UUID由固件(SMBIOS/UEFI)写入,两者来源不同、用途不同、查询方式也完全不同。
查看整机与主板的硬件UUID
这是最权威的硬件级UUID,直接来自BIOS/UEFI固件中的SMBIOS表,对应“出厂设备唯一标识”,物理服务器和品牌整机通常真实有效。
打开终端,执行以下命令:
sudo dmidecode -t system
在输出中查找 【UUID:】 行——它紧随 Serial Number 后面,格式为 8-4-4-4-12 小写字母数字组合,例如 e45c8d6f-6b5a-4efa-83ae-2c1234567890。注意:虚拟机环境常返回全零或随机值,不可作为物理设备依据。
若 sudo 权限被限制或 dmidecode 报错 Cannot access the DMI table,可退而使用内核暴露的只读接口:
cat /sys/class/dmi/id/product_uuid
查看主板独立序列号与UUID
部分OEM厂商将整机序列号写在 system 表,而把主板自身序列号写在 baseboard 表里,两者可能不一致,尤其在定制服务器或二手机器上。
第一步:运行命令提取主板信息
sudo dmidecode -t baseboard | grep -E "Manufacturer|Product Name|Serial Number|UUID"
第二步:比对 Serial Number 字段是否与 system 表中一致
第三步:若需单独提取主板UUID(极少数主板固件支持),尝试
sudo dmidecode -s baseboard-uuid
但该字段多数情况下为空或不被识别,【优先以 -t baseboard 输出中的 UUID 行为准】。
快速验证硬件UUID是否可用
方法一:检查 /sys/class/dmi/id/ 下文件是否存在且非空
ls -l /sys/class/dmi/id/product_uuid /sys/class/dmi/id/product_serial
方法二:用 grep 快速定位有效值
sudo dmidecode -t system 2>/dev/null | grep -E "^(UUID|Serial Number):"
如果两行都返回非空内容,说明固件已正确填充;若 Serial Number 显示 To Be Filled By O.E.M. 或为空,属于国产白牌主板常见现象,不是操作错误。

















