登录
首页 >  文章 >  linux

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

时间:2026-05-05 18:49:38 362浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Linux查看当前系统所有已挂载设备的文件系统UUID》,聊聊,我们一起来看看吧!

blkid最直接查看所有设备UUID,只扫描已启用设备;findmnt -D筛选已挂载设备UUID更可靠;/proc/mounts与lsblk联合使用兼容性最强。

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学习网公众号吧!

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