在Linux系统中,查看UUID(Universally Unique Identifier,全局唯一标识符)是磁盘管理、文件系统挂载及启动配置中的常见操作。UUID是文件系统创建时生成的128位唯一标识,用于稳定地识别分区或设备,避免因设备名(如/dev/sda)变化导致的挂载错误。以下为专业且准确的几种查看方法:

1. 使用blkid命令(最常用且推荐):blkid是util-linux包提供的工具,可显示块设备的属性,包括UUID、文件系统类型和标签。执行方式为直接输入blkid或指定设备,如blkid /dev/sda1。该命令需要root权限才能显示完整信息,普通用户可借助sudo或pkexec。输出示例:/dev/sda1: UUID="xxxx-xxxx" TYPE="ext4"。此方法适用于几乎所有的文件系统(如ext4、xfs、btrfs、swap等)。
2. 使用lsblk -f命令:lsblk是查看块设备层级关系的工具,添加-f或--fs参数后会额外显示文件系统信息,包括UUID、挂载点和文件系统类型。该命令输出简洁,且无需root权限即可查看(但某些设备信息可能需要提权)。例如执行lsblk -f后,对应列的UUID即为所需值。适合快速概览整个磁盘的分区与UUID对应关系。
3. 查看/dev/disk/by-uuid/目录:Linux的udev机制会在系统启动时生成符号链接,将UUID映射到实际设备。通过执行ls -l /dev/disk/by-uuid/,可以看到类似于xxxx-xxxx -> ../../sda1的软链接,其中链接名称即为UUID,目标是指向的实际设备节点。这种方法非常直观,且无需额外安装工具,但无法直接显示文件系统类型。
4. 使用tune2fs命令(适用于ext2/ext3/ext4文件系统):命令tune2fs -l /dev/sda1可读取超级块中的详细信息,其中包含Filesystem UUID字段。此命令同样需要root权限。对于非ext系列文件系统,请使用对应工具(如xfs_admin用于XFS,btrfs inspect-internal用于Btrfs)。
5. 使用dumpe2fs或findmnt:dumpe2fs -h /dev/sda1可输出文件系统超级块信息,其中包含Filesystem UUID。而findmnt -o UUID /dev/sda1或findmnt -o UUID /挂载点可以显示指定设备或挂载点对应的UUID,该命令来自util-linux包,输出清晰,适合脚本处理。
6. 查看系统启动配置或fstab文件:虽然/etc/fstab中可能已经记录了UUID,但这不是“查看”的原始方法,而是验证已有配置。实际查看时,可通过cat /etc/fstab检查挂载参数中的UUID=字段。此外,/proc/partitions和/sys/class/block/*/dev不直接包含UUID,不建议用于此目的。
7. 针对LVM逻辑卷:LVM设备也有自己的UUID(称为LV UUID),可通过blkid /dev/mapper/vg-lv查看,或使用lvs -o+uuid命令。但常规分区UUID与LVM UUID不同,需注意区分概念。
8. 使用GUI工具:对于桌面Linux用户,可以使用GParted、Disks(gnome-disk-utility)等图形化工具,在分区详细信息中直接显示UUID。但这种方法不适用于服务器环境或纯命令行场景。
9. 注意事项:UUID是文件系统创建时生成的,重新格式化分区会生成新的UUID;而PARTUUID(分区表UUID)是通过GPT分区表定义的,与文件系统无关。如果需要查看分区表的PARTUUID,可使用blkid -s PARTUUID /dev/sda或lsblk -o PARTUUID。两者不要混淆。
10. 总结:最通用的查看UUID的方法是执行sudo blkid,它适用于所有文件系统并输出详细信息;结合lsblk -f可快速建立设备树与UUID的映射;而在脚本或需要持久链接的场合,/dev/disk/by-uuid/目录提供了直接访问路径。根据实际环境选择合适命令即可准确获得UUID。

查看详情

查看详情