在Linux系统中,查看硬盘的ID(通常指硬盘的唯一标识符,如UUID、WWN或序列号)是管理存储设备的关键操作,硬盘ID可用于挂载分区、识别特定硬盘或排查硬件问题,以下是几种专业、可靠且安全的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等):lsblk
是最简单的方式,可列出所有硬盘及分区的UUID(通用唯一标识符):
lsblk -o NAME,UUID,MODEL,SERIAL
- 输出示例:
NAME UUID MODEL SERIAL sda Samsung SSD 860 S3Z8NB0K123456 ├─sda1 c7d3a1b2-0e8f-4a3c-9d6b-1f2e3d4c5b6a └─sda2 d8e9f0a1-b2c3-4d5e-6f7a-8b9c0d1e2f3b
- 关键参数:
UUID
:分区的唯一标识符(常用于挂载)。MODEL
:硬盘型号。SERIAL
:硬盘物理序列号(即硬件ID)。
方法2:通过 blkid
命令(需root权限)
blkid
直接显示硬盘和分区的唯一标识符及文件系统类型:
sudo blkid
- 输出示例:
/dev/sda1: UUID="c7d3a1b2-0e8f-4a3c-9d6b-1f2e3d4c5b6a" TYPE="ext4" /dev/sda2: UUID="d8e9f0a1-b2c3-4d5e-6f7a-8b9c0d1e2f3b" TYPE="swap"
- 说明:
输出中的UUID
是分区级别ID,适用于配置/etc/fstab
挂载。
方法3:查看 /dev/disk/by-id/
目录
该目录包含按硬件ID和WWN(全球唯一名称) 组织的符号链接:
ls -l /dev/disk/by-id/
- 输出示例:
ata-Samsung_SSD_860_S3Z8NB0K123456 -> ../../sda scsi-3600508b1001c5a9b -> ../../sdb
- 关键信息:
ata-
开头的链接:SATA硬盘的型号和序列号。scsi-
或wwn-
开头的链接:SCSI/WWN标识(适用于企业级硬盘)。
方法4:使用 udevadm
查询详细硬件信息
获取硬盘的序列号、WWN、厂商型号等原始数据:
udevadm info --query=all --name=/dev/sda | grep -E "ID_SERIAL|ID_WWN"
- 输出示例:
ID_SERIAL=Samsung_SSD_860_123456 ID_WWN=0x5002538e41234567
方法5:通过 smartctl
(需安装smartmontools)
查看硬盘的SMART数据(含序列号、健康状态):
sudo smartctl -i /dev/sda
- 输出示例:
Model Family: Samsung SSDs Device Model: Samsung SSD 860 EVO Serial Number: S3Z8NB0K123456 LU WWN Device Id: 5 002538 123456789
⚠️ 注意事项
- 权限要求:
blkid
、smartctl
和udevadm
部分操作需sudo
权限。 - ID类型区别:
- UUID:分区级别标识,格式化会改变。
- 序列号/WWN:硬盘物理ID,终身不变。
- 虚拟化环境:
虚拟机中硬盘ID可能由宿主机生成(如VMware的lun-
前缀)。 - 数据安全:
操作前确保备份,避免误操作导致数据丢失。
总结建议
- 快速查看分区UUID → 用
lsblk
或blkid
。 - 获取物理硬盘序列号 → 用
/dev/disk/by-id/
或udevadm
。 - 企业级硬盘维护 → 用
smartctl
检查健康状态。
引用说明基于Linux内核文档(kernel.org)及
util-linux
、udev
、smartmontools
官方手册,命令已在Ubuntu 22.04/CentOS 7+测试,符合Linux标准规范。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4987.html