Linux怎么查看系统序列号_Linux dmidecode获取硬件信息【命令】

2026-01-14
Linux系统中获取主板或整机序列号需依赖固件信息,常用方法包括:一、sudo dmidecode -t system | grep "Serial Number";二、sudo lshw -class system 查找serial字段;三、cat /sys/devices/virtual/dmi/id/product_serial;四、sudo smartctl -i /dev/sda | grep "Serial Number"。

如果您需要在Linux系统中获取主板或整机的序列号,通常无法通过标准系统命令直接读取,必须依赖硬件固件提供的信息。以下是几种可靠的方法来提取系统序列号及相关硬件信息:

一、使用dmidecode命令查看系统序列号

dmidecode工具可解析系统BIOS中存储的SMBIOS/DMI表,其中包含制造商、产品名称、序列号等关键硬件标识信息。该命令需root权限运行,输出内容结构清晰,序列号通常位于“System Information”段落中。

1、以root用户身份执行命令:sudo dmidecode -t system

2、在输出结果中查找以Serial Number:开头的行

3、若需仅显示序列号内容,可结合grep过滤:sudo dmidecode -t system | grep "Serial Number"

二、使用lshw命令提取序列号

lshw是一款详细列出硬件配置的工具,其输出包含系统 chassis 和 motherboard 的序列号字段,适用于部分厂商(如Dell、HP)预装固件支

持良好的设备。

1、安装lshw(如未安装):sudo apt install lshw(Debian/Ubuntu)或sudo yum install lshw(RHEL/CentOS)

2、运行命令获取系统级信息:sudo lshw -class system

3、在输出中定位serial:字段,该值即为系统序列号

三、读取/sys/devices/virtual/dmi/id/目录下的文件

内核在启动时将部分DMI信息映射至sysfs虚拟文件系统,无需额外工具即可访问。该路径下提供的序列号为只读接口,兼容性高,但某些OEM设备可能为空或返回"None"。

1、检查序列号文件是否存在且可读:cat /sys/devices/virtual/dmi/id/product_serial

2、若返回空或"None",尝试查看系统SKU或板卡序列:cat /sys/devices/virtual/dmi/id/board_serial

3、确认权限是否受限,必要时加sudo:sudo cat /sys/devices/virtual/dmi/id/product_serial

四、使用smartctl从硬盘获取主机序列号(间接方式)

部分服务器平台(如Dell PowerEdge)会在主引导硬盘的SMART信息中嵌入主机序列号,尤其适用于无法通过DMI获取序列号的虚拟化宿主机或老旧固件环境。

1、安装smartmontools:sudo apt install smartmontoolssudo yum install smartmontools

2、识别系统主硬盘设备名(如/dev/sda):lsblk -d -o NAME,MODEL,SIZE

3、读取设备SMART信息并搜索序列关键词:sudo smartctl -i /dev/sda | grep "Serial Number\|Product"