blkid 是 Linux 中查看磁盘 UUID 最直接可靠的命令,支持查看所有设备、指定分区、纯 UUID 输出、列表格式及通过 UUID/LABEL 反查设备,但要求分区已格式化且标签已设置。

Linux 中查看磁盘 UUID,blkid 是最直接、最常用、也最可靠的命令。它不依赖挂载状态,无需 root 权限(部分操作需 sudo),能快速识别已格式化分区的 UUID、文件系统类型和 LABEL,是系统管理、fstab 配置和自动化脚本的基础工具。
blkid 查看 UUID 的核心用法
只需一条命令就能获取关键信息:
-
查看所有块设备的 UUID 和类型:运行
sudo blkid,输出形如/dev/sda1: UUID="abcd-1234..." TYPE="ext4" -
只查某个分区的 UUID:例如
sudo blkid /dev/sdb2,结果精简明确,无多余字段 -
仅提取 UUID 值(适合脚本):用
-s UUID -o value组合,如sudo blkid -s UUID -o value /dev/sdc1,输出就是纯 UUID 字符串,不带引号和前缀 -
按列表格式清晰展示:加
-o list,列头对齐,含 device、fs_type、label、UUID 四栏,便于人工核对
根据 UUID 或 LABEL 反查设备名
当只知道标识符、却不确定对应哪个物理设备时,这两个选项非常实用:
-
用 UUID 找设备路径:执行
sudo blkid -U "a1b2c3d4-5678-90ef-ghij-klmnopqrst",返回类似/dev/nvme0n1p3 -
用卷标(LABEL)找设备:比如分区打过标签叫
BACKUP,运行sudo blkid -L "BACKUP"即可定位到对应设备 - 注意:LABEL 和 UUID 都必须已通过
e2label、xfs_admin等工具设置,且分区已格式化,否则查不到
常见误区与注意事项
有些情况容易导致误判或查不到结果,需要提前确认:
- 未格式化的分区没有 UUID:blkid 对空分区或仅创建了分区表但未 mkfs 的设备不会显示 UUID 或 TYPE
- swap 分区有 UUID,但无 TYPE=swap 以外的文件系统信息:它不支持 LABEL,也不能像普通分区那样挂载
- 设备名可能变化,UUID 不会变:USB 插拔、硬盘顺序调整后,/dev/sdb 可能变成 /dev/sdc,但 UUID 始终唯一绑定该分区
-
缓存机制存在延迟:刚格式化或改标签后,blkid 可能仍显示旧值;加
-p参数可绕过缓存强制重探
配合其他命令交叉验证更稳妥
单一命令有时不够,组合使用可排除干扰:
-
用
lsblk -f查看树状结构 + UUID + 挂载点,直观判断是否已挂载、是否识别为有效文件系统 -
用
file -s /dev/sdX1直接读取分区头,若返回data而非具体文件系统名,说明大概率未格式化 -
查看
/dev/disk/by-uuid/目录,里面全是软链接,目标即设备路径,是内核级映射,比 blkid 更底层










