在 Linux 系统中,查看磁盘型号(Model Name)通常有几种方法,具体取决于你使用的存储类型(HDD、SSD、NVMe 等)以及你是否拥有 root 权限。
以下是几种常用且可靠的方法:
使用 lsblk 命令(推荐,最直观)
lsblk(List Block Devices)是查看块设备信息最常用的命令,它默认会显示磁盘的模型信息。
lsblk -o NAME,MODEL,SERIAL,SIZE,TYPE
- 输出示例:
NAME MODEL SERIAL SIZE TYPE sda WDC WD10EZEX-08N WD-WMC3T1234567 931.5G disk sdb Samsung SSD 970 EVO S3Z1NB0K123456A 931.5G disk nvme0n1 Samsung SSD 980 PRO S5Y1NX0T123456B 931.5G disk
- 优点: 简单明了,直接显示
MODEL列。
使用 smartctl 命令(最准确,需安装 smartmontools)
smartctl 是读取 SMART(Self-Monitoring, Analysis and Reporting Technology)信息的工具,能提供硬盘最详细的硬件信息,包括精确的型号和序列号。
安装:
# Ubuntu/Debian sudo apt install smartmontools # CentOS/RHEL sudo yum install smartmontools
使用:
# 查看 SCSI/SATA 磁盘(如 sda, sdb) sudo smartctl -i /dev/sda # 查看 NVMe 磁盘(如 nvme0n1) sudo smartctl -i /dev/nvme0n1
- 输出示例(关键行):
Device Model: WDC WD10EZEX-08WN5A0 Serial Number: WD-WMC3T1234567 Firmware Version: 01.01A01
- 优点: 信息最权威,能区分物理型号和逻辑设备名。
使用 lshw 命令(硬件列表)
lshw 可以列出所有硬件信息,但输出较长,需要过滤。
sudo lshw -class disk -short # 或者查看详细信息 sudo lshw -class disk | grep -A 5 "disk"
更精确地查看单个磁盘:
sudo lshw -class disk -businfo | grep /dev/sda
直接读取 sysfs 文件系统(无需额外工具)
Linux 内核将硬件信息暴露在 /sys/block/ 目录下。
# 查看 sda 的型号 cat /sys/block/sda/device/model # 查看 nvme0n1 的型号(NVMe 路径略有不同) cat /sys/block/nvme0n1/device/model
- 注意: 输出可能包含空格,且有时显示的是简写型号。
使用 hdparm 命令(仅适用于 ATA/SATA 磁盘)
hdparm 主要用于性能调优,但也可以读取型号。
sudo hdparm -I /dev/sda | grep "Model Number"
- 注意: 对 NVMe 磁盘无效。
总结建议
| 场景 | 推荐命令 | 说明 |
|---|---|---|
| 快速查看
|
lsblk -o NAME,MODEL |
最简单,无需 root 权限(部分系统可能需要) |
| 精确查询 | sudo smartctl -i /dev/sdX |
最准确,适合运维和故障排查 |
| 脚本自动化 | cat /sys/block/sdX/device/model |
无需安装任何软件,适合 shell 脚本 |
⚠️ 注意:
- 对于 NVMe 磁盘,设备名通常是
nvme0n1,而不是sda。- 查看
/dev/sdX时,请确保替换为实际的磁盘设备名(如sda,sdb)。- 某些虚拟化环境(如 KVM、VMware)中,
lsblk或smartctl可能显示的是虚拟磁盘型号(如Virtual Disk),而非物理主机上的真实硬盘型号,此时需要在宿主机上查看,或通过smartctl -d nvme等方式尝试穿透。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/479104.html



