发布于2026-08-22 阅读(0)
扫一扫,手机访问
查询指定分区UUID,用sudo blkid /dev/nvme0n1p2最准最快,它直接读取superblock,不依赖挂载或udev缓存。若没有输出,那大概率是未格式化,可用file -s来验证。如果只要纯UUID字符串,就加-s UUID -o value。/dev/disk/by-uuid/只是用于映射验证,并非源头。而要反查UUID对应的设备,可用sudo findfs UUID=...。

blkid 查指定分区,最准最快要查某一块盘上某个具体分区的 UUID(比如 /dev/nvme0n1p2),blkid 是唯一推荐的一线命令——它直接读 superblock,不依赖挂载、不靠 udev 缓存,结果就是文件系统里真实写死的那个值。
sudo blkid /dev/nvme0n1p2,输出形如:/dev/nvme0n1p2: UUID="a1b2c3d4-5678-90ab-cdef-1234567890ab" TYPE="ext4"-s UUID -o value:sudo blkid /dev/nvme0n1p2 -s UUID -o value → 输出就是 a1b2c3d4-5678-90ab-cdef-1234567890ab,无引号无空格file -s /dev/nvme0n1p2 会返回 data 而不是 ext4 filesystem data 或 XFS filesystem data/dev/disk/by-uuid/ 目录只适合反查,别当源头用这个目录本质是一堆软链接,名字是 UUID,指向设备路径。它反映的是 udev 上次扫描时的状态,不是实时读取设备内容——刚用 tune2fs -U 改完 UUID,这里可能延迟几秒甚至需要重启才更新。
ls -l /dev/disk/by-uuid/,看到类似 a1b2c3d4-... -> ../../nvme0n1p2 就说明当前内核认为这个 UUID 指向该设备readlink -f /dev/disk/by-uuid/a1b2c3d4-... 后再 ls -l 看目标是否存在findfs 最可靠当你只有 UUID 字符串(比如从 /etc/fstab 里复制来的),想快速知道它对应哪个物理分区,findfs 是专为此设计的工具,比 grep 扫 blkid 输出更健壮,尤其在 LVM、多路径或设备名动态变化的环境里。
sudo findfs UUID=a1b2c3d4-5678-90ab-cdef-1234567890ab,直接输出匹配的设备路径,例如 /dev/nvme0n1p2findfs 不支持 PARTUUID,只认文件系统 UUID;PARTUUID 需用 findfs PARTUUID=...(但仅限 GPT 分区)tune2fs 和 dumpe2fs 除非确定是 ext 系这两个命令只对 ext2/3/4 有效,xfs、btrfs、vfat、swap 等统统不识别。强行运行要么报错,要么静默失败,容易让人误以为“没 UUID”。
tune2fs -l /dev/sda1 | grep UUID 输出干净,适合脚本提取,但前提是 /dev/sda1 确实是 ext 系dumpe2fs /dev/sda1 | grep UUID 输出冗长,含大量调试信息,人工核对还行,不适合解析tune2fs: Bad magic number in super-block?立刻停手——这不是 ext 文件系统,换 blkidmkfs)就没有 UUID;而同一块盘重格式化一次,UUID 就彻底变了。所以看到设备名还在、但 UUID 不见了,第一反应不该是命令错了,而是得先确认文件系统是否还活着。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9