最准确的方法是sudo dmidecode -t baseboard,需root权限读取bios/uefi中原始smbios表;非root用户可用cat /sys/class/dmi/id/{board_vendor,board_name,board_version},但精简发行版或虚拟机可能为空。

dmidecode -t baseboard 是最准的,但必须用 root 权限;非 root 用户可直接读 /sys/class/dmi/id/ 下的文件,轻量且稳定。
需要 root 权限时,用 dmidecode -t baseboard
这条命令从 BIOS/UEFI 的 DMI 表里提取原始硬件标识,结果可信度最高。执行前必须加 sudo,否则报错:Permission denied。
-
Manufacturer:是主板厂商(如ASUSTeK、Dell Inc.) -
Product Name:是主板型号(如PRIME B550M-A),但 OEM 厂商(Dell/HP)常填整机型号(如OptiPlex 7080),此时建议再跑一次sudo dmidecode -t system对照SKU Number或Family -
Version:是 PCB 版本号(如A00),对固件升级很关键
没 root 权限时,优先读 /sys/class/dmi/id/
内核 2.6+ 都支持,无需额外安装工具,适合脚本调用:
-
cat /sys/class/dmi/id/board_vendor→ 厂商 -
cat /sys/class/dmi/id/board_name→ 型号 -
cat /sys/class/dmi/id/board_version→ 版本
注意:Alpine、CoreOS 等精简发行版,或某些虚拟机可能返回空值——不是命令错了,是内核没启用 CONFIG_DMIID 或固件没提供数据。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
虚拟机里查主板?别信 dmidecode -t baseboard 的输出
VMware、KVM、VirtualBox 会伪造固定值,比如 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)) - 先确认是否为虚拟机:
systemd-detect-virt比任何 DMI 字段都准
为什么不用 lspci | grep -i "host bridge" 查主板型号
这条命令只返回芯片组对应的 Host Bridge 设备 ID(如 Intel Corporation Device 461c),它不等于主板型号。
- 同一芯片组可对应几十种不同主板(比如 B650 芯片组有华硕、微星、技嘉等数十款型号)
- 它无法区分厂商、PCB 版本、供电设计、扩展能力等关键差异
- 在无 DMI 支持的嵌入式设备上可能根本搜不到结果
真正要定位主板型号,还是得回到 DMI 数据源;Host Bridge 只能辅助判断 CPU 平台兼容性,不能替代主板识别。










