首页/系统/Linux 运维命令速查/blkid 查询块设备 UUID 与类型
磁盘与文件系统51 条

blkid 查询块设备 UUID 与类型

blkid 读取块设备超级块,输出 UUID、TYPE、LABEL,是写 /etc/fstab 时获取稳定标识的命令;设备名会漂移,UUID 不会。

Linux 运维命令速查系统更新于 2026-10-13

blkid 是什么

blkid 直接读取块设备上的超级块元数据,输出 UUID、TYPE、LABEL 等标识它不需要挂载文件系统,属于 util-linux 套件。它的核心价值是给 /etc/fstab 提供不漂移的设备标识:/dev/sdX 的命名取决于内核探测顺序,加一块盘、换一次盘位、改一次 BIOS 启动顺序都可能让盘符变化,用设备名写 fstab 轻则挂错分区,重则系统起不来。UUID 在 mkfs 时写入文件系统内部,与设备路径无关,是持久化挂载的正确选择;分区表层面还有 PARTUUID 可用。

基本信息

适用平台Linux(util-linux 套件,主流发行版默认安装)
命令语法blkid [选项] [设备...]
常用选项-s 只输出指定标签 -o value 只输出值 -o list 列表模式 -U 按 UUID 反查设备 -L 按 LABEL 查设备 -c /dev/null 跳过缓存
所属util-linux
权限说明读块设备需要 root;普通用户通常只能看到缓存中的结果,直接 blkid 可能无输出

典型使用场景

  • 写 fstab:取 UUID 与文件系统类型,避免用盘符导致开机挂载错盘
  • 识别设备:新加的数据盘先确认 TYPE 是 xfs 还是 ext4,再决定用什么工具处理
  • 反查设备:运维手册只留了 UUID,用 blkid -U 找回当前对应的设备路径
  • 排查挂载失败:确认 LABEL 是否重名、UUID 与 fstab 记录是否一致
  • 换盘核对:替换硬盘后核对新盘的标识,确认恢复流程指向正确的卷

常用示例

常用示例
sudo blkid                                    # 列出全部已识别块设备
sudo blkid /dev/sdb1                          # 只看单个设备
sudo blkid -s UUID -s TYPE -o value /dev/sdb1 # 只输出取值,便于脚本
sudo blkid -U <uuid>                          # UUID 反查设备路径
sudo blkid -L data1                           # 按 LABEL 查设备
sudo blkid -o list                            # 列表模式,人读友好
sudo blkid -c /dev/null                       # 跳过缓存重新探测

fstab 标识写法对比

写法指向什么风险
/dev/sdb1内核枚举顺序决定的设备名加盘或改启动顺序后可能指向别的分区,严重时无法开机
UUID=...文件系统内记录的 UUID稳定可靠,重建文件系统后需更新;跨环境推荐
LABEL=...文件系统标签稳定但可能重名,多机多盘环境易挂错
PARTUUID=...分区表记录的 UUID与文件系统重建无关,GPT 场景与系统盘常用
mkfs 重建文件系统会生成新的 UUID,旧 fstab 条目立即失效。重建后必须重新执行 blkid 并更新 fstab,否则下次开机挂载失败。
改完 fstab 先执行 mount -a 验证,再安排重启。跳过这步直接重启,一旦条目有误会进入 emergency 模式,远程机器将失去登录。

易错点

  • fstab 里写 /dev/sdX:磁盘顺序变化后挂错分区,最坏情况直接开不了机
  • 重建文件系统后忘记更新 UUID,开机时该条目挂载失败
  • blkid 可能返回缓存结果,取值存疑时加 -c /dev/null 强制重新探测
  • 云盘或未格式化的设备没有可识别超级块,blkid 无输出属正常现象,不代表磁盘故障
  • 多机使用同名 LABEL 时 LABEL= 会挂到错误磁盘,跨环境一律优先 UUID

数据来源与参考

  • man 8 blkid(util-linux)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌