查主板型号须用 sudo dmidecode -t baseboard,关键字段为 manufacturer、product name 和 serial number;bios 版本需用 sudo dmidecode -t bios 并认准 version 行。

查主板型号必须用 dmidecode -t baseboard
直接执行 sudo dmidecode -t baseboard,输出中关键字段是 Manufacturer、Product Name 和 Serial Number。注意:不加 -t baseboard 会输出全部DMI数据,几百行里手动翻找极容易漏掉或误读。
常见错误现象:
- 只运行
dmidecode不带参数,结果太长且无结构,根本找不到主板信息 - 误用
-t system,它显示的是整机厂商和型号(比如 Dell Inc. PowerEdge R740),不是主板本身 - 忘记加
sudo,普通用户权限下dmidecode无法读取底层 SMBIOS 表,会报错Cannot access the DMI table
dmidecode -t bios 输出的 BIOS 版本要认准 Version 行
sudo dmidecode -t bios 的输出里,Version 字段才是当前生效的 BIOS 版本号;Release Date 是发布时间,不是升级时间;ROM Size 和 Characteristics 属于辅助信息,运维排查时基本不用看。
使用场景:
- 确认是否已升级到最新 BIOS(比如厂商公告说修复某硬件兼容问题,需比对版本号)
- 排查启动异常或 USB/PCIe 设备识别失败时,BIOS 版本常是第一排查项
- 某些服务器厂商要求提供 BIOS 版本才能开通远程管理功能(如 iDRAC、iLO)
想快速提取主板型号和 BIOS 版本,别手敲 grep,用管道组合
单条命令就能拿到干净结果,避免肉眼扫屏出错:
sudo dmidecode -t baseboard | grep -E "Manufacturer|Product Name|Serial Number" sudo dmidecode -t bios | grep -E "Vendor|Version|Release Date"
注意点:
-
grep -E支持多模式匹配,比写多个grep更简洁 - 字段名大小写敏感,
Product Name中间有空格,必须带引号或转义 - 部分老 BIOS 的
Serial Number可能为空或显示To Be Filled By O.E.M.,这不是命令问题,是硬件出厂未写入
替代方案:用 lshw -class motherboard 也能看,但不如 dmidecode 准确
sudo lshw -class motherboard 会显示类似信息,但它依赖内核探测和 sysfs 接口,某些 OEM 定制 BIOS 下可能缺失 serial 或 version 字段;而 dmidecode 直接读取固件里的 SMBIOS 表,是唯一权威来源。
性能与兼容性影响:
-
dmidecode执行极快(毫秒级),无系统负载压力 - 几乎所有 x86_64 服务器都支持,包括 VMware/KVM 虚拟机(只要虚拟 BIOS 暴露了 DMI 表)
- ARM 服务器(如 Ampere Altra)不适用,它们没有标准 SMBIOS 表,得查
/proc/device-tree
1.4.5a)和不带字母(如 1.4.5)属于不同版本,升级包命名也严格区分,拷贝时少一个字符就刷错。











