最准方式是sudo dmidecode -t baseboard查bios/uefi固件dmi表,重点看manufacturer、product name和version三行;次选cat /sys/class/dmi/id/board_name等非root路径,但虚拟机中常为空或伪造。

用 dmidecode -t baseboard 查主板型号(需 root)
这是最准的方式,直接读 BIOS/UEFI 固件里的 DMI 表,不依赖驱动层。执行 sudo dmidecode -t baseboard 后,重点看这三行:
-
Manufacturer:比如ASUSTeK COMPUTER INC.或Dell Inc. -
Product Name:主板型号,如PRIME B650M-A;但 Dell/HP 等 OEM 可能填整机型号(OptiPlex 7090),这时得配合sudo dmidecode -t system | grep "SKU\|Family"辅助判断 -
Version:PCB 版本号,如Rev X.0,对固件升级有参考价值
注意:普通用户不加 sudo 会报错 Permission denied;部分精简发行版(Alpine、CoreOS)或容器环境可能压根没启用 DMI 支持,命令会静默失败或输出空。
用 cat /sys/class/dmi/id/board_name 快速非 root 查询
适合脚本调用或无 root 权限时快速取值,不需要安装额外工具。对应字段可直接读:
- 厂商:
cat /sys/class/dmi/id/board_vendor - 型号:
cat /sys/class/dmi/id/board_name - 版本:
cat /sys/class/dmi/id/board_version
但要注意:虚拟机里这些文件常为空或返回固定字符串(比如 QEMU),不是 bug,是内核没暴露真实硬件信息。此时应先运行 systemd-detect-virt 确认是否为虚拟环境。
查 BIOS 版本别只记 dmidecode -t bios
sudo dmidecode -t bios 能看到完整 BIOS 信息,但日常只需版本和日期,用这两个更轻量:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- BIOS 版本:
sudo dmidecode -s bios-version(输出如1.15.0) - 发布日期:
sudo dmidecode -s bios-release-date(格式多为03/28/2024) - 非 root 替代:
cat /sys/class/dmi/id/bios_version和cat /sys/class/dmi/id/bios_date,但同样受虚拟化和内核配置限制
BIOS 版本数字本身没绝对意义,要结合主板型号查官网更新日志——比如某 B650 主板的 1.15.0 可能修复了 USB4 兼容性问题,而同数字在另一型号上可能只是微调风扇策略。
虚拟机里看到 “Intel Corporation” 不代表真有 Intel 主板
VMware、KVM、VirtualBox 都会伪造 DMI 数据,dmidecode -t baseboard 显示 Manufacturer: Intel Corporation + Product Name: 440BX Desktop Reference Platform 是正常现象,不是命令失效。
真正该看的是虚拟平台标识:
- VMware:
sudo dmidecode -s system-product-name→VMware Virtual Platform - KVM/QEMU:
cat /sys/class/dmi/id/sys_vendor→QEMU,cat /sys/class/dmi/id/product_name→Standard PC (Q35 + ICH9, 2009)
绕过这些直接去猜物理硬件,只会浪费时间。确认是虚拟机后,主板型号就不是关键信息了,重点转到 virt-what、CPU flag(如 vmx / svm)、以及宿主机提供的设备模型(比如 virtio-net)。










