在统信uos中,用sudo blkid可准确获取各磁盘分区的唯一uuid,因其绑定文件系统元数据,不受硬件顺序变动影响;未格式化分区不会显示,支持按类型、标签过滤及反查设备路径,必要时可用-c /dev/null绕过缓存获取实时值。

在统信UOS系统中准确获取每块磁盘分区的唯一UUID,是配置/etc/fstab实现稳定挂载、排查启动失败或迁移系统时不可跳过的前提步骤;设备名如/dev/sda1在热插拔或新增硬盘后极易变动,而UUID一旦生成即终身绑定该文件系统元数据,不会因硬件顺序改变而失效。
直接列出全部块设备的UUID信息
打开终端,输入以下命令并回车:
sudo blkid
这一步会扫描所有已识别的块设备(包括硬盘、NVMe分区、LVM逻辑卷、加密卷),输出每行一个设备,格式为/dev/sda1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4" LABEL="system"。注意:未格式化的裸分区(如刚用fdisk创建但未mkfs的/dev/sdb1)不会出现在结果中——【blkid只读取已写入文件系统superblock的元数据,不是万能探测器】。
提取纯UUID字符串供脚本使用
方法一:只显示UUID字段,去除冗余信息,适合人工快速扫视
sudo blkid -s UUID
方法二:输出不带引号、不带UUID=前缀的原始值,可直接赋值给Shell变量
sudo blkid /dev/nvme0n1p2 -s UUID -o value
这一步操作起来很简单,直接把设备路径填进去就行;若提示Permission denied,说明该设备受权限限制(如LVM PV或LUKS加密卷),加sudo即可解决,但普通SATA/NVMe分区通常无需提权。
按条件过滤指定类型或标签的UUID
第一步:只查ext4文件系统的所有UUID
sudo blkid -t TYPE=ext4
第二步:查找卷标为“backup”的设备对应UUID
sudo blkid -t LABEL=backup
第三步:精确匹配某一个UUID反查设备路径(例如你从/etc/fstab里复制了UUID=1a2b3c4d-5e6f-7g8h-9i0j)
sudo blkid -U 1a2b3c4d-5e6f-7g8h-9i0j
注意:-U参数必须输入完整、大小写精确的UUID字符串,任何字符错误都会返回空;它不支持通配符或模糊匹配,也不校验该UUID是否真实存在于当前系统——如果UUID来自另一台机器的克隆镜像,这里仍会返回旧设备路径,需结合findfs或/dev/disk/by-uuid/交叉验证。
绕过缓存获取实时UUID值
当怀疑blkid输出与实际不符(比如重装系统后fstab挂载失败),执行以下命令强制跳过缓存,直接读取设备物理扇区:
sudo blkid -c /dev/null
这会显著变慢,但能避开因udev规则未刷新、缓存陈旧导致的误判;尤其适用于刚用tune2fs -U random修改过UUID的场景——此时旧缓存可能还未更新,而/dev/disk/by-uuid/链接也可能滞后。











