登录
首页 >  文章 >  linux

查看Linux挂载设备UUID方法

时间:2026-04-10 09:18:45 244浏览 收藏

本文详解了在Linux系统中准确查看已挂载设备UUID的三种核心方法:blkid命令最直接高效,适用于所有已启用块设备但不区分挂载状态;findmnt -D选项则精准聚焦已挂载设备,可靠性高且能规避fstab中UUID参数与实际挂载脱节的风险;而/proc/mounts与lsblk的组合方案兼容性最强,特别适合老旧系统或受限环境,并强调了UUID本质是文件系统创建时写入的持久标识、与挂载行为无关的关键事实——帮助用户彻底理清常见混淆,快速定位真实、可用的设备UUID。

Linux查看当前系统所有已挂载设备的文件系统UUID

blkid 查看所有设备的 UUID(最直接)

blkid 是专为识别块设备属性设计的命令,输出包含 UUIDFSTYPETYPE 等关键字段,且默认只扫描已启用的设备(如已分区、有文件系统元数据的块设备)。

  • 直接运行 blkid 即可列出所有能识别 UUID 的设备,包括未挂载但有文件系统的分区
  • -o value 可只输出 UUID 值(每行一个),适合脚本提取
  • 若某些设备显示 UUID="" 或无输出,说明该设备尚未格式化,或文件系统损坏/不被识别(如 exFAT 未安装 exfat-utils
  • 注意:它不区分“是否已挂载”,只管“有没有 UUID”;要过滤出已挂载的,需结合其他命令

findmnt -D 筛出已挂载设备的 UUID

findmnt 关注挂载状态,-D 选项会强制显示底层设备的详细信息(含 UUID),比单纯查 /proc/mounts 更可靠。

  • 运行 findmnt -D,输出列中若有 UUID=... 字段,说明该挂载点对应设备具备有效 UUID
  • 若某挂载项的 source 列显示的是设备路径(如 /dev/sda1),但 findmnt -D 没给出 UUID,常见原因是该设备使用了无 UUID 的文件系统(如早期 ext2、vfat 默认不写 UUID)
  • 可加 -t ext4,xfs,btrfs 限定文件系统类型,避免混入网络或伪文件系统(如 tmpfsproc
  • 不推荐依赖 findmnt --uuid:它只显示挂载选项里的 UUID=...,而很多 fstab 条目用的是 UUID=...,但运行时内核实际挂载的是设备节点,两者可能不一致

/proc/mountslsblk 联合推导(兼容性最强)

有些老旧系统或容器环境里 blkidfindmnt 不可用,此时可组合基础命令还原映射关系:

  • cat /proc/mounts | awk '{print $1,$2,$3}' 提取设备、挂载点、文件系统类型(注意:$1 可能是 UUID=xxx 形式,也可能是 /dev/xxx)
  • lsblk -o NAME,FSTYPE,UUID,MOUNTPOINT 一次性列出设备树、文件系统类型、UUID 和当前挂载位置;若 UUID 列为空,说明该分区未生成或未写入 UUID
  • /proc/mounts 中设备列为 UUID=xxx,可直接提取该值;若为 /dev/sdb2,则需用 lsblk 查同名设备的 UUID 字段
  • 注意:lsblk 的 UUID 来自 udev 数据库,重启后可能延迟更新;刚格式化完的分区需执行 udevadm trigger 或等待几秒才能在 lsblk 中显示 UUID

UUID 不是挂载行为的产物,而是文件系统创建时写入超级块的标识。只要文件系统没被重新格式化,UUID 就不变;但挂载参数(如 noatime)或挂载点变更不会影响它。真正容易混淆的是:看到某个挂载点有 UUID,并不意味着它一定通过 UUID 方式挂载(fstab 里可能写的还是 /dev/sda1)。

终于介绍完啦!小伙伴们,这篇关于《查看Linux挂载设备UUID方法》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>