Linux 硬盘 ID 是在 Linux 系统中唯一标识硬盘及其分区的关键信息,它用于系统管理、磁盘挂载、自动化脚本等多种场景,本文将详细介绍 Linux 硬盘 ID 的类型、查看方法、应用场景及注意事项,帮助读者全面理解这一概念。

Linux 硬盘 ID 的主要类型
在 Linux 系统中,硬盘 ID 主要分为三类:设备 ID(UUID)、WWN(World Wide Name)以及序列号(Serial Number),每种 ID 的生成方式和应用场景有所不同,了解其区别有助于正确选择使用。
UUID(Universally Unique Identifier)
UUID 是 Linux 系统中最常用的硬盘标识符,由 128 位十六进制数字组成(如 f1d2b845-579d-4b9a-8f1a-4c3e8d7f6a5b),它在文件系统格式化时自动生成,具有全局唯一性,即使硬盘挂载点或设备名发生变化,UUID 仍能保持不变,UUID 主要用于 /etc/fstab 文件中,确保系统启动时能正确挂载分区。
WWN(World Wide Name)
WWN 是硬盘制造商分配的唯一标识符,分为 WWN-64 和 WWN-128 两种格式,通常用于存储区域网络(SAN)等企业级环境中,WWN 由硬盘的硬件信息生成,与操作系统无关,适合在多节点服务器集群中标识磁盘,避免因设备名冲突导致的问题。
序列号(Serial Number)
序列号是硬盘制造商为每个物理设备分配的唯一编号,通常可通过 smartctl 等工具读取,序列号与硬盘硬件绑定,但不同厂商的序列号格式可能不统一,且部分硬盘可能不支持序列号查询,因此多用于硬件故障排查而非系统管理。
查看 Linux 硬盘 ID 的方法
查看 UUID
使用 blkid 命令
blkid 是 Linux 系统中查看块设备属性的工具,可快速获取分区的 UUID、文件系统类型等信息。
sudo blkid
输出示例:
/dev/sda1: UUID="f1d2b845-579d-4b9a-8f1a-4c3e8d7f6a5b" TYPE="ext4" PARTUUID="12345678-01"
/dev/sdb2: UUID="a9b8c7d6-5e4f-3a2b-1c0d-9e8f7a6b5c4d" TYPE="xfs" PARTUUID="87654321-02"
查看 /dev/disk/by-uuid/ 目录
该目录下以 UUID 为名的符号链接直接指向对应分区,可通过 ls -l 查看:
ls -l /dev/disk/by-uuid/
输出示例:

lrwxrwxrwx 1 root root 10 10月 1 10:00 f1d2b845-579d-4b9a-8f1a-4c3e8d7f6a5b -> ../../sda1
lrwxrwxrwx 1 root root 10 10月 1 10:01 a9b8c7d6-5e4f-3a2b-1c0d-9e8f7a6b5c4d -> ../../sdb2
查看 WWN
使用 lsblk 或 scsi_id 命令
lsblk 可显示磁盘的 WWN 信息(需内核支持):
lsblk -o NAME,WWN
对于 SCSI 或 SAS 硬盘,也可使用 scsi_id 命令:
sudo scsi_id -g -u -s /dev/sda
查看序列号
使用 hdparm 或 smartctl 命令
hdparm 可读取硬盘的序列号(需安装 hdparm 包):
sudo hdparm -I /dev/sda | grep "Serial Number"
smartctl(需安装 smartmontools 包)提供更详细的硬盘信息:
sudo smartctl -i /dev/sda | grep "Serial Number"
Linux 硬盘 ID 的应用场景
分区挂载(/etc/fstab)
UUID 最常见的应用是配置 /etc/fstab 文件,确保系统启动时自动挂载分区。
UUID=f1d2b845-579d-4b9a-8f1a-4c3e8d7f6a5b /mnt/data ext4 defaults 0 2
相比设备名(如 /dev/sda1),UUID 能避免因磁盘顺序变化(如新增硬盘导致设备名变更)导致的挂载失败。
磁盘配额与权限管理
通过 UUID 可以精确控制特定分区的访问权限,在 quota 配置中绑定 UUID,避免因设备名误操作导致配额失效。
自动化脚本与备份
在 Shell 脚本中,使用 UUID 动态获取磁盘路径,可提高脚本的健壮性,备份脚本通过 UUID 定位数据分区,避免因设备名变更导致备份错误。

企业级存储管理
在 SAN 或 NAS 环境中,WWN 用于识别多节点共享的磁盘,确保集群节点间对同一磁盘的访问一致性,序列号则用于硬件资产管理,记录磁盘的采购、维修等信息。
常见问题与注意事项
UUID 冲突
虽然 UUID 设计为全局唯一,但在极端情况下(如手动复制分区表),可能出现 UUID 重复,此时可通过 tune2fs(ext4)或 xfs_admin(XFS)重新生成 UUID:
sudo tune2fs -U random /dev/sda1 # 重新生成 ext4 分区 UUID
设备名与 UUID 的选择
- 固定环境(如个人电脑):使用设备名(
/dev/sda1)更简洁。 - 动态环境(如服务器、虚拟机):必须使用 UUID 或 WWN,避免设备名变化导致的问题。
临时硬盘的 ID 处理
对于 USB 等临时硬盘,拔插后设备名可能变化,建议始终使用 UUID,若需在脚本中动态识别,可通过 lsblk 结合 UUID 或分区标签(LABEL)实现。
RAID 环境下的 ID
在 RAID 配置中,逻辑磁盘(如 /dev/md0)的 UUID 与物理磁盘的 UUID 独立,需确保 /etc/fstab 中使用逻辑磁盘的 UUID,而非物理磁盘的 ID。
Linux 硬盘 ID 是系统管理中的重要概念,UUID、WWN 和序列号分别适用于不同场景,掌握查看方法和应用技巧,能有效提升系统的稳定性和可维护性,在实际操作中,应根据环境特点选择合适的 ID 类型,并注意避免冲突和误操作,确保磁盘资源的高效管理。
以下是常见硬盘 ID 的对比总结:
| ID 类型 | 生成方式 | 唯一性 | 主要应用场景 | 命令工具 |
|---|---|---|---|---|
| UUID | 文件系统格式化时生成 | 全局唯一 | /etc/fstab 挂载、脚本自动化 |
blkid、lsblk |
| WWN | 制造商分配 | 全局唯一(硬件) | 企业级存储、集群环境 | lsblk、scsi_id |
| 序列号 | 制造商分配 | 硬件唯一 | 硬件故障排查、资产管理 | hdparm、smartctl |
通过合理运用硬盘 ID,可以简化 Linux 系统的磁盘管理流程,减少因设备变更引发的故障,为系统运维提供可靠保障。



















