在Linux系统中,磁盘UUID(Universally Unique Identifier)是标识存储设备的唯一标识符,用于避免因设备名称变化(如/dev/sda变为/dev/sdb)导致配置文件失效,在CentOS系统中,查看磁盘UUID是系统管理和维护的常见操作,本文将详细介绍多种方法及其实际应用场景。

使用blkid命令查看磁盘UUID
blkid是Linux系统中用于查看块设备属性(包括UUID)的常用命令,它无需安装额外软件,默认已集成在CentOS系统中,执行以下命令即可列出所有挂载设备的UUID信息:
blkid
输出结果通常包含设备路径、UUID类型(如UUID、LABEL等)及文件系统类型,
/dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" TYPE="xfs"
/dev/sdb2: UUID="abcdef12-3456-7890-abcd-ef1234567890" TYPE="ext4"
若需查询特定设备的UUID,可结合设备路径使用,
blkid /dev/sda1
该命令的优势在于简洁高效,适合快速获取单个或多个设备的UUID信息。
通过/blkid目录查看UUID
CentOS系统会将blkid命令扫描到的设备信息缓存到/blkid目录下的tab文件中(如/blkid/blkid.tab),直接查看该文件也可获取UUID信息,但需注意:
- 该文件由系统自动维护,不建议手动编辑。
- 缓存可能不是实时更新的,建议优先使用blkid命令。
使用lsblk命令查看UUID
lsblk命令以树状结构列出块设备信息,配合-f参数可显示文件系统及UUID:

lsblk -f
输出结果会直观展示设备层级关系及其UUID,
NAME FSTYPE UUID MOUNTPOINT
sda
├─sda1 xfs 123e4567-e89b-12d3-a456-426614174000 /
└─sda2 ext4 abcdef12-3456-7890-abcd-ef1234567890 /home
sdb
└─sdb1 swap 00000000-0000-0000-0000-000000000000 [SWAP]
该命令适合需要同时查看设备挂载点和UUID的场景,尤其是复杂磁盘结构的管理。
查看系统日志中的UUID信息
系统启动过程中,内核会记录磁盘设备的UUID信息,可通过以下命令查看:
dmesg | grep UUID
或使用journalctl(适用于CentOS 7及以上版本):
journalctl -k | grep UUID
此方法适用于排查启动问题或历史记录查询,但信息可能较为分散。
实际应用场景
- 挂载配置文件修改:在/etc/fstab文件中,使用UUID替代设备路径可避免因设备顺序变化导致无法挂载。
UUID=123e4567-e89b-12d3-a456-426614174000 /mnt/data xfs defaults 0 0 - 磁盘镜像与克隆:使用
dd命令克隆磁盘时,可通过UUID确认目标设备的唯一性。 - LVM与RAID管理:在逻辑卷或RAID配置中,UUID用于标识卷组或物理卷,便于维护操作。
注意事项
- 大小写敏感性:UUID通常以小写形式表示,但部分工具可能自动转换。
- 特殊设备类型:交换分区(swap)的UUID可能显示为全0,需通过
swapon --show确认。 - 多路径设备:对于多路径存储(如iSCSI),同一设备可能显示多个UUID,需结合多路径工具(如multipath)管理。
相关问答FAQs
Q1: 为什么blkid命令显示的UUID与/blkid/blkid.tab不一致?
A1: /blkid/blkid.tab是blkid命令的缓存文件,可能因设备未及时扫描或缓存未更新导致信息滞后,建议直接运行blkid或blkid -u强制刷新缓存后查询。

Q2: 如何通过UUID查找对应的设备路径?
A2: 可使用blkid命令结合grep反向查找,
blkid | grep "123e4567-e89b-12d3-a456-426614174000"
或通过findfs命令直接定位设备:
findfs UUID=123e4567-e89b-12d3-a456-426614174000
输出结果即为对应的设备路径(如/dev/sda1)。