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,软链接指向实际设备(如
适用场景:验证设备与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
)。
- 未格式化的设备无UUID,需先创建文件系统(如
为什么需要UUID?
- 持久性:设备名(如
/dev/sda
)可能因插拔顺序变化,而UUID始终唯一。 - 系统关键作用:用于
/etc/fstab
挂载、GRUB引导配置、LVM逻辑卷管理等。 - 安全性:避免因设备顺序错误导致系统无法启动。
方法 | 命令 | 是否需要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等)。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/40044.html