在CentOS系统中,磁盘UUID(Universally Unique Identifier)是用于唯一标识存储设备的字符串,通过UUID可以更稳定地挂载磁盘,避免因设备名称变化(如/dev/sda变为/dev/sdb)导致的问题,以下是查看磁盘UUID的详细方法和相关操作指南。

使用blkid命令查看磁盘UUID
blkid是Linux系统中常用的命令,用于显示块设备的属性信息,包括UUID,执行以下命令即可查看所有磁盘的UUID:
sudo blkid
该命令会列出系统中所有已挂载或未挂载的磁盘及其UUID、文件系统类型等信息,例如输出可能为:
/dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" TYPE="ext4" /dev/sdb1: UUID="abcdef12-3456-7890-abcd-ef1234567890" TYPE="xfs"
如果只想查看特定设备的UUID,可以指定设备名,如:
sudo blkid /dev/sda1
通过/blkid文件查看UUID
系统会将blkid的输出结果保存在/blkid文件中,可以直接查看该文件获取UUID信息:
cat /blkid
这种方法无需执行命令,适合快速查看,但信息可能不是最新的(如磁盘状态发生变化时)。
使用lsblk命令查看磁盘信息
lsblk命令以树状结构列出块设备信息,虽然不直接显示UUID,但可以结合其他命令使用。
lsblk -f
该命令会显示文件系统类型、挂载点等信息,若需UUID可结合blkid使用。

查看特定分区的UUID
如果已知分区名称(如/dev/sda1),可通过以下命令单独查看其UUID:
sudo ls -l /dev/disk/by-uuid/
该命令会列出所有UUID及其对应的符号链接,通过链接可快速定位到分区设备。
在/etc/fstab中使用UUID
在配置文件/etc/fstab中,建议使用UUID而非设备名来定义挂载点,以提高稳定性。
UUID=123e4567-e89b-12d3-a456-426614174000 /data ext4 defaults 0 0
编辑/etc/fstab时,务必确保UUID正确,否则可能导致系统无法启动。
通过udev规则持久化设备名称
对于需要固定设备名称的场景(如服务器环境),可创建udev规则将设备名与UUID绑定,在/etc/udev/rules.d/99-mydisk.rules中添加:
KERNEL=="sd*", SUBSYSTEM=="block", ATTRS{uuid}=="123e4567-e89b-12d3-a456-426614174000", SYMLINK+="mydisk"
重启后即可通过/dev/mydisk访问该设备。
故障排查:UUID冲突或无效
如果UUID显示为无效或报错,可能是文件系统损坏,可通过以下命令修复:

sudo fsck -y /dev/sda1
修复后重新生成UUID(针对ext4文件系统):
sudo tune2fs -U random /dev/sda1
在CentOS中,查看磁盘UUID的常用方法包括blkid命令、/blkid文件及lsblk辅助工具,UUID在磁盘挂载、系统维护中具有重要作用,合理使用可避免设备识别错误。
相关问答FAQs
Q1: 为什么blkid命令显示的UUID为空?
A1: 可能原因包括:设备未正确分区、文件系统未创建或设备未挂载,可尝试使用sudo fdisk -l检查设备是否存在分区,或使用sudo mkfs创建文件系统后再执行blkid。
Q2: 如何复制磁盘的UUID以便在其他系统中使用?
A2: 使用sudo blkid | grep '设备名'命令提取UUID,或通过sudo ls -l /dev/disk/by-uuid/ | grep '设备名'直接复制UUID字符串,注意跨系统使用时需确保文件系统类型兼容。