在Linux系统中,可通过以下方法查看主机序列号:1. 使用命令
sudo dmidecode -s system-serial-number直接获取;2. 查看
/sys/class/dmi/id/product_serial文件内容,不同硬件厂商或虚拟化环境可能显示格式不同,部分设备需root权限访问。
如何在Linux系统中查看主机序列号?
主机序列号(Serial Number)是硬件设备的唯一标识符,常用于设备管理、保修查询或资产追踪,在Linux系统中,可通过多种命令行工具获取该信息,以下是几种常用方法:
使用 dmidecode 工具
dmidecode 是读取系统DMI(Desktop Management Interface)信息的工具,能直接获取主板、BIOS和硬件详情。
步骤:
-
安装工具(如未预装):
# Debian/Ubuntu sudo apt install dmidecode # RedHat/CentOS sudo yum install dmidecode
-
运行命令查看序列号:
sudo dmidecode -s system-serial-number
- 输出示例:
VMware-42 1a a1 12 34 56 78 90-ab cd ef 12 34 56 78 90
- 输出示例:
注意事项:
- 虚拟机中可能显示虚拟化平台生成的序列号。
- 若返回
Not Specified,表示厂商未写入该信息。
通过 /sys 文件系统
Linux的/sys虚拟文件系统暴露了硬件信息,可直接读取文件内容。

步骤:
- 输入命令:
cat /sys/class/dmi/id/product_serial
- 部分系统路径可能为
/sys/devices/virtual/dmi/id/product_serial。
- 部分系统路径可能为
优点: 无需安装额外工具,快速查看。
使用 lshw 命令
lshw 能列出详细的硬件配置,包括序列号。
步骤:
-
安装
lshw:sudo apt install lshw # Debian/Ubuntu sudo dnf install lshw # Fedora/CentOS
-
过滤序列号信息:

sudo lshw -c system | grep serial
- 输出示例:
serial: VMware-42-1a...
- 输出示例:
借助 inxi 工具
inxi 是一款信息查询工具,支持显示硬件摘要。
步骤:
-
安装
inxi:sudo apt install inxi # Debian/Ubuntu sudo dnf install inxi # Fedora/CentOS
-
查看系统信息:
inxi -S
- 输出中会包含
Serial: ABCD-1234-EF56类似的字段。
- 输出中会包含
常见问题解答
-
为什么某些方法返回空白或无效值?

厂商可能未在硬件中写入序列号,或系统运行于虚拟机/容器环境。
-
如何区分物理机与虚拟机?
- 物理机通常有由厂商定义的序列号;虚拟机可能显示如
VMware、KVM前缀的虚拟序列号。
- 物理机通常有由厂商定义的序列号;虚拟机可能显示如
-
是否需要root权限?
dmidecode和lshw需要sudo权限,而/sys文件系统可能允许普通用户读取。
不同Linux发行版和硬件环境可能影响序列号的获取方式,推荐优先尝试 dmidecode 或 /sys 文件系统查询,若需详细信息,可结合 lshw 或 inxi 工具。
参考资料:
dmidecode官方文档:man dmidecode- Linux内核文档:https://www.kernel.org/doc/html/latest/
lshw工具说明:man lshw
