在Linux系统中,SN(Serial Number,序列号)是硬件设备的重要标识信息,常用于设备管理、售后支持或资产盘点,不同硬件设备的SN查看方式存在差异,本文将系统介绍Linux环境下查看各类设备SN的方法,涵盖主板、CPU、硬盘、内存及整机设备等场景,并提供实用命令与注意事项。

查看主板序列号
主板序列号是识别服务器或台式机主机的关键信息,可通过以下命令获取:
使用 dmidecode 命令
dmidecode 是Linux下解析DMI(Desktop Management Interface)表格的强大工具,可获取主板、CPU、内存等硬件详细信息,查看主板SN的命令为:
sudo dmidecode -s baseboard-serial-number
若未安装该工具,在基于Debian/Ubuntu的系统上可通过 sudo apt install dmidecode 安装,在CentOS/RHEL系统中使用 sudo yum install dmidecode 安装。
通过 /sys 文件系统
部分Linux发行版(如新版本内核)支持直接从 /sys 文件系统读取信息:
cat /sys/class/dmi/id/board_serial
此方法无需root权限,且执行效率更高,但需确保内核开启了DMI相关功能。
查看CPU序列号
CPU序列号(或称ID)用于标识处理器型号与唯一标识,不同架构CPU的查看方式略有不同:
Intel/AMD x86架构
使用 dmidecode 查看CPU信息:

sudo dmidecode -s processor-version # 获取CPU版本信息(含部分序列号) sudo dmidecode -t processor | grep "ID" # 查看CPU唯一ID
可通过 /proc/cpuinfo 获取CPU部分标识信息(但可能不含完整序列号):
cat /proc/cpuinfo | grep -i "serial" | head -n 1
ARM架构
ARM处理器通常通过 machine-id 或设备树信息标识,命令如下:
cat /etc/machine-id # 系统唯一标识(非CPU序列号) cat /proc/device-tree/system-id # 需root权限,部分ARM设备支持
查看硬盘序列号
硬盘序列号是区分物理硬盘的重要依据,可通过以下方式获取:
使用 smartctl(需安装smartmontools)
smartctl 是SMART(Self-Monitoring, Analysis and Reporting Technology)工具的命令行接口,可读取硬盘详细信息:
sudo smartctl -i /dev/sda | grep "Serial Number" # 查看指定硬盘(如sda)序列号 sudo smartctl -i /dev/nvme0n1 | grep "Serial Number" # 查看NVMe硬盘序列号
安装命令:
- Debian/Ubuntu:
sudo apt install smartmontools - CentOS/RHEL:
sudo yum install smartmontools
通过 /sys/class/block 文件系统
对于SATA、SAS等传统硬盘,可直接读取设备文件:
cat /sys/class/block/sda/device/serial # SATA硬盘 cat /sys/class/block/nvme0n1/device/serial # NVMe硬盘
此方法无需额外工具,但需确保硬盘驱动已正确加载。

查看内存序列号
内存序列号通常需通过 dmidecode 或第三方工具获取,因内存模块的标准化程度较高,命令如下:
使用 dmidecode
sudo dmidecode -t memory | grep "Serial Number" # 查看所有内存模块序列号
输出结果会按内存插槽逐一列出序列号,便于区分单根内存条。
使用 lshw 工具
lshw 是一款硬件扫描工具,可生成详细的硬件报告:
sudo lshw -short -memory | grep serial # 需先安装:sudo apt install lshw
查看整机设备序列号
部分服务器或品牌机会提供整机序列号,可通过以下方式获取:
使用 dmidecode 查看系统信息
sudo dmidecode -s system-serial-number # 查看整机SN sudo dmidecode -s system-product-name # 查看整机型号
通过厂商工具
- Dell服务器: 使用
omreport命令(需安装OpenManage工具):sudo omreport system serialnumber
- HP服务器: 使用
hpasmcli命令(需安装HP Lights-Out):sudo hpasmcli -s "show server"
- 联想服务器: 使用
lscpu或dmidecode,部分机型支持:sudo dmidecode -s system-serial-number
注意事项
- 权限问题:多数命令需root权限执行,普通用户可通过
sudo提升权限。 - 工具依赖:
dmidecode等工具可能未预装,需根据发行版提前安装。 - 虚拟化环境:在虚拟机中,部分SN信息可能为模拟值(如KVM虚拟机的SN可能与宿主机相同)。
- 内核参数:若
/sys文件系统无法读取,需检查内核是否启用CONFIG_DMI相关选项。
在Linux系统中,查看硬件序列号需根据设备类型选择合适的方法:dmidecode 适用于通用硬件信息,smartctl 专注于硬盘,而 /sys 文件系统则提供了轻量级读取方式,对于品牌服务器,建议优先使用厂商专用工具以确保信息准确性,掌握这些命令,可有效提升硬件管理与故障排查效率。




















