Linux服务器查询序列号和型号,核心命令就是dmidecode,通过它读取BIOS的DMI信息,一条命令就能拿到机器最底层的身份标识。
从事服务器运维的朋友,不管是资产盘点、硬件报修,还是给新上架的机器做登记,第一步永远卡在“这机器到底是什么型号、序列号多少”上,Windows下右键“属性”就能看个大概,到了Linux终端里,没点命令行功底还真容易摸不着门,这篇文章就把Linux查询服务器硬件身份信息这件事彻底讲透,从最常用的单一命令到不同系统版本、不同硬件架构的变通方法,挨个捋一遍。
Linux查询服务器序列号与型号的完整命令指南
最核心的万能命令:dmidecode
Linux终端下,只要系统是标准的x86或x86_64架构,dmidecode就是绕不开的工具,它直接读取主板和BIOS里的DMI表,是系统自带信息的“实权派”。
先检查系统有没有装,绝大多数Linux发行版默认就带,个别精简版需要手动装一下:
# Debian/Ubuntu系的安装方式 apt-get install dmidecode -y # CentOS/RHEL系的安装方式 yum install dmidecode -y
查询服务器型号,用这条:
dmidecode -t system | grep "Product Name"
终端会回显类似 Product Name: PowerEdge R740 这样的信息。
查询服务器序列号:
dmidecode -t system | grep "Serial Number"
回显结果里 Serial Number: 5XK4R32 就是机器的唯一身份标识。
很多时候需要一次拿到全部关键信息,不光是型号和SN,最好连主板信息、BIOS版本一块带出来,那直接跑:
dmidecode -t system
这条命令几乎把机器的“户籍信息”全列出来了,包括厂商、产品名、序列号、UUID,一目了然,想把结果保存成文件再慢慢看,就加个输出重定向:
dmidecode -t system > /tmp/server_info.txt
更快的读取技巧:一段命令拿到全部关键字段
嫌一条条敲太慢,可以用如下组合命令,一次性输出厂商、型号和序列号:
dmidecode -t system | grep -E "Manufacturer|Product Name|Serial Number"
实际输出效果如下:
Manufacturer: Dell Inc. Product Name: PowerEdge R740 Serial Number: 5XK4R32
这里要提醒一句:如果服务器是物理机,这些信息就是真实硬件数据,如果是云服务器或虚拟机,看到的结果多半是厂商虚出来的,要么是“Alibaba Cloud ECS”这种云厂商标识,要么是虚拟机模拟出的默认值,这种情况不妨直接跳过dmidecode,后文有对应的处理方式。
各发行版Linux硬件信息的查看路径
不同Linux发行版在具体操作上有一点点小差异,但不影响整体逻辑,平时接触最多的是CentOS、Ubuntu、Debian,另外国内还有不少机房用的EulerOS和OpenEuler,都遵循同样的底层机制。
- CentOS / RHEL 系列:自带dmidecode,注意用root权限执行,普通用户会因权限不足看不到全部信息。
- Debian / Ubuntu 系列:同样带dmidecode,缺了就用apt安装,Ubuntu上还可以用
sudo lshw辅助查看,硬件信息更加直观。 - 国产化系统(OpenEuler等):内核都支持DMI表读取,dmidecode直接可跑,部分基于ARM架构的国产服务器可能需要配合
lscpu和系统日志定位。
CentOS查看服务器型号序列号其实是运维群里问得很多的问题,汇总下来最实用的还是dmidecode三件套,没有之一。
架构不同,查询方式也不一样
x86架构服务器的标准操作
x86服务器是当前机房的主流,上面讲的dmidecode可以说是专为x86准备的,在成熟的DMI标准下,硬件厂商都会把序列号和型号写进固定的表里,在戴尔、惠普、联想、浪潮这些品牌机上跑命令,返回的信息格式非常统一。
| 厂商 | 品牌标识字段 | 预期输出的型号示例 |
|---|---|---|
| Dell | Manufacturer: Dell Inc. | PowerEdge R750 |
| HPE | Manufacturer: HPE | ProLiant DL380 Gen11 |
| Lenovo | Manufacturer: Lenovo | ThinkSystem SR650 |
| Inspur | Manufacturer: Inspur | NF5280M6 |
ARM架构与国产化服务器的注意事项
国产化替代大潮下,鲲鹏、飞腾、海光的ARM服务器越来越多,这些机器同样支持dmidecode,但有个别机型序列号为空。
遇到空值别慌,找序列号还有一条备选路径查看机箱上的物理标签,或在系统里用如下命令确认固件版本和硬件ID:
cat /sys/class/dmi/id/product_serial cat /sys/class/dmi/id/board_serial
虚拟机与云服务器与物理机的区别
现在很多业务跑在VMware和KVM上,虚拟机里的dmidecode结果往往没有参考价值。查询Linux云服务器序列号和型号的时候,虚拟机读到的是虚拟硬件信息,多数是空值或“Not Specified”。
这类场景可以用两条命令来定位虚实:
dmidecode -s system-product-name dmidecode -s system-manufacturer
如果回显里有“Virtual”“KVM”“VMware”字样,基本就断定跑在虚拟机环境,举几个典型回显:
system-product-name: KVM system-manufacturer: QEMU
system-product-name: VMware Virtual Platform
在这种环境中,序列号和型号的查询意义不大,真要找云主机的实例ID或SN,需要去云控制台,或借助云厂商自带的agent工具,比如简米云的 cloud-init 日志里能看到实例ID。
一条龙排查:序列号、型号、资产信息全搞定
用系统命令交叉验证型号
大型数据中心里,仅凭一项数据不敢确认资产信息,运维老手通常会交叉验证,硬件的型号和序列号对得上,BIOS版本和出厂时间也能互相佐证。
几个常用的辅助命令:
# 查看CPU信息 lscpu # 查看内存完整信息 dmidecode -t memory | grep "Size:" # 查看硬盘型号和序列号 lshw -class disk
把“CPU型号 + 内存容量 + 硬盘SN + BIOS版本”拼在一起,基本就能唯一锁定一台物理服务器,带外管理系统(如iDRAC、iLO)也能查到序列号,登录Web管理界面后在“System Information”一栏即可获取,和dmidecode的结果会完全一致。
无外网环境的最小化查询方案
有些内网服务器既不联网,也没有安装dmidecode,这时直接用内核sysfs接口读取,照样能拿到结果:
cat /sys/class/dmi/id/sys_vendor cat /sys/class/dmi/id/product_name cat /sys/class/dmi/id/product_serial
这套命令不依赖任何额外软件包,也不用root权限,在任何标准Linux系统上都能直接访问,是应急场景下最轻量的解法。
快速定位服务器物理位置的技巧
大规模机房的运维场景下,查到序列号以后得找到这台机器的具体物理位置,有几个信息可以结合着看:
- iDRAC/iLO等带外管理IP中的编号往往对应机架位置
- BIOS里的Asset Tag(资产标签)通常由机房管理员写入,包含机房、机柜、U位的信息,dmidecode -t system里也能看到这个字段
- 主板上的物理贴纸会同时印有序列号和资产编号,和命令输出核对即可
常见问题FAQ
dmidecode命令提示Permission Denied怎么办?
普通用户对DMI信息的读取权限是受限的,在大部分发行版上,查看完整信息需要切换到root用户或者加sudo前缀,命令改为 sudo dmidecode -t system 即可,如果sudo也不能用,就联系有root权限的管理员执行后把结果发给你,或者走带外管理界面查看。
云服务器上查出来的序列号是空的怎么办?
云服务器本质上运行在虚拟化层之上,无物理硬件信息可读,回显为空并非故障,较新的云主机可以通过 curl http://100.100.100.200/latest/meta-data/instance-id(简米云风格接口)或OpenStack风格的metadata服务获取实例ID,更直接的办法是登录云厂商控制台,在产品详情页查看对应的实例标识和SN信息。
物理服务器序列号为什么和外包标签上的不一样?
服务器可能存在硬件更换记录,主板被返厂维修或整机更换过会导致BIOS里的序列号与机箱外部贴纸不一致,建议以 dmidecode -t system 显示的信息为准,同时结合带外管理系统中的记录来判断,外贴标签通常只对应出厂机箱壳,不具备唯一性判断价值。
linux查询服务器序列号这个需求没有多复杂,掌握了dmidecode的基本用法和sysfs备用方案,在任何Linux环境下都能从容应对,关键是要把核心命令记扎实,真到了几十台机器批量盘点的时候,一条for循环配上dmidecode就能飞速收工,工作效率会高出一大截。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/773139.html


![[Linux] Linux 查看硬件配置(screenfetch;lscpu;lsmem;hostnamectl;dmidecode)](https://i2.hdslb.com/bfs/archive/57c8f9cf490321781e3018a534dd90f6e65d5e45.jpg)