上一篇
Linux如何查看UUID?
- Linux
- 2025-06-27
- 5
Linux中获取 UUID有两种常用方法:使用 blkid命令(如 blkid /dev/sda1)查看块设备 UUID,或通过 /sys/class/block/设备名/uuid文件直接读取(如 cat /sys/class/block/sda1/uuid)。
在Linux系统中,UUID(Universally Unique Identifier)是用于唯一标识存储设备(如硬盘、分区)的128位字符串,相比传统设备名(如/dev/sda1),UUID具有持久性和唯一性,能避免设备顺序变化导致的挂载错误,以下是获取UUID的详细方法:
方法1:使用 blkid 命令
步骤:
- 打开终端,输入命令: sudo blkid
- 输出示例: /dev/sda1: UUID="e0a1b2c3-d4e5-6789-f012-3456789abcde" TYPE="ext4"
/dev/nvme0n1p2: UUID="a1b2c3d4-5678-90ef-1234-567890abcdef" TYPE="swap"
- UUID= 后的字符串即为设备的唯一标识。
- sudo 确保列出所有设备(包括需要root权限的设备)。
适用场景:快速查看所有存储设备的UUID和文件系统类型。
方法2:通过 lsblk 命令
步骤:
- 终端输入: lsblk -f
- 输出示例: NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 e0a1b2c3-d4e5-6789-f012-3456789abcde /boot
└─sda2 swap a1b2c3d4-5678-90ef-1234-567890abcdef [SWAP]
- UUID 列 直接显示标识符。
- 优势:无需root权限,输出格式清晰。
方法3:查看 /dev/disk/by-uuid/ 目录
步骤:
- 终端输入: ls -l /dev/disk/by-uuid/
- 输出示例: lrwxrwxrwx 1 root root 10 Jan 1 12:00 e0a1b2c3-d4e5-6789-f012-3456789abcde -> ../../sda1
lrwxrwxrwx 1 root root 10 Jan 1 12:00 a1b2c3d4-5678-90ef-1234-567890abcdef -> ../../nvme0n1p2
- 文件名即UUID,软链接指向实际设备(如../../sda1)。
适用场景:验证设备与UUID的对应关系。
方法4:从 /etc/fstab 中提取
若设备已挂载,可查看系统挂载配置文件:
cat /etc/fstab
输出示例:
UUID=e0a1b2c3-d4e5-6789-f012-3456789abcde /boot ext4 defaults 0 2
- 每行的 UUID= 后即为标识符。
常见问题解决
-
权限不足:
- 若命令无输出,尝试添加 sudo(如 sudo blkid)。
-
设备未列出:
- 确保设备已连接且未被卸载,使用 lsblk 检查是否识别设备。
-
UUID不存在:
- 未格式化的设备无UUID,需先创建文件系统(如 sudo mkfs.ext4 /dev/sdb1)。
- 持久性:设备名(如/dev/sda)可能因插拔顺序变化,而UUID始终唯一。
- 系统关键作用:用于 /etc/fstab 挂载、GRUB引导配置、LVM逻辑卷管理等。
- 安全性:避免因设备顺序错误导致系统无法启动。
为什么需要UUID?
方法 命令 是否需要root 特点 blkid sudo blkid 是 详细信息全面 lsblk lsblk -f 否 简洁直观,显示挂载点 查看系统目录 ls -l /dev/disk/by-uuid/ 否 直接显示软链接关系 解析配置文件 cat /etc/fstab 否 仅限已配置挂载的设备 建议优先使用 lsblk -f 或 sudo blkid,两者覆盖大多数场景,操作前务必确认设备名称,避免误操作导致数据丢失。
引用说明参考Linux官方文档(kernel.org)及util-linux工具包手册(GitHub – util-linux),命令兼容主流发行版(Ubuntu/CentOS/Debian等)。