最权威方式是sudo dmidecode -t baseboard查Manufacturer、Product Name、Version和Serial Number;免root可用cat /sys/class/dmi/id/board_{vendor,name,version};序列号为空时可试cat /sys/class/dmi/id/board_serial或sudo lshw -class motherboard。

在 Linux 系统中快速确认主板型号与序列号,是排查硬件兼容性、提交厂商工单或资产登记的刚性需求。普通用户执行命令常因权限缺失或字段混淆而返回空值或错误信息,必须区分清楚主板(baseboard)与整机(system)两类 SMBIOS 条目,否则查到的 Serial Number 可能属于机箱而非主板本身。
用 dmidecode 直接读取主板原始信息
这是最权威的方式,直接解析 BIOS 固件中的 SMBIOS Base Board 表项,字段真实、结构清晰。
第一步:以 root 权限运行 sudo dmidecode -t baseboard,输出中只关注 Manufacturer、Product Name、Version 和 Serial Number 四行。
Manufacturer 是主板品牌(如 ASUSTeK、Supermicro),Product Name 才是主板型号(如 X11DPL-i),不是整机型号;Version 是 PCB 版本号(如 1.01),Serial Number 字段才是你要的主板序列号——注意它和 dmidecode -t system 中的 Serial Number 可能不同,OEM 常设为一致但不保证。
必须加 sudo,否则报 Permission denied;别省略 -t baseboard,用模糊 grep 容易混入内存条或机箱的 Serial Number。
如果输出中 Serial Number 显示为 None 或 To be filled by O.E.M.,说明 BIOS 固件根本没填写该字段——换别的命令也白搭,这不是你操作失误。
免 root 快速查看主板型号(厂商/型号/版本)
内核把部分 DMI 数据映射成只读文件,适合脚本调用或容器环境,无需安装额外工具。
执行:cat /sys/class/dmi/id/board_vendor → 得到主板厂商
执行:cat /sys/class/dmi/id/board_name → 得到主板型号
执行:cat /sys/class/dmi/id/board_version → 得到 PCB 版本
这三行命令完全不需要 root 权限,输出简洁明了。但某些精简发行版(如 Alpine)或虚拟机可能为空——因为内核未启用 CONFIG_DMIID 或固件未提供 DMI 数据,此时应退回 dmidecode 方案。
交叉验证主板序列号(当 dmidecode 返回空时)
方法一:尝试 sysfs 免 root 路径
运行 cat /sys/class/dmi/id/board_serial 2>/dev/null,若成功返回字符串,就是主板序列号;若报 Permission denied,说明系统做了安全加固(如 Ubuntu 22.04+ 默认禁用),或该文件根本不存在。
方法二:用 lshw 融合多源数据
先确保已安装:sudo apt install lshw(Debian/Ubuntu)或 sudo yum install lshw(RHEL/CentOS)。
再运行:sudo lshw -class motherboard | grep -E "product:|vendor:|serial:"。
注意字段名是 serial:(冒号后带空格),不是 Serial Number:;如果 dmidecode 显示空序列号但 lshw 有值,大概率是 BIOS 没填全,而 OEM 在其他固件区(如 ACPI)补了信息。











