Linux系统如何查看磁盘UUID blkid命令使用教程
Linux系统查看磁盘UUID信息:blkid命令使用方法

在Linux系统磁盘管理中,UUID是一个至关重要的唯一标识符。相较于传统的设备名称(如/dev/sda1),UUID具有更高的稳定性,不会因硬盘连接顺序改变而发生变化。然而,用户在执行blkid命令时,有时会遇到无输出或信息不符的情况。这通常有明确的原因。本文将深入解析几种典型场景,帮助您精准定位问题根源。
blkid 查不到 UUID?先确认设备有没有文件系统
首先需要明确,blkid命令并非万能。其工作原理是读取磁盘分区上已创建的文件系统元数据。因此,当执行blkid /dev/sda1后无任何输出,或仅显示PARTUUID(分区表ID)而无UUID时,主要原因通常有两个:该分区尚未格式化,或其原有的文件系统头部信息已被其他工具覆盖。
请回忆是否曾使用mkswap创建交换分区、pvcreate初始化LVM物理卷,或cryptsetup进行磁盘加密?这些操作都会覆盖常规文件系统的特征标识。
您可以通过以下命令进行验证:
file -s /dev/sda1—— 若返回结果为“data”或“LVM2 physical volume”,则表明该设备当前并非ext4、xfs等常规文件系统。lsblk -f—— 直接查看输出表格中的“TYPE”列。若该列为空,或显示为“swap”、“LVM2_member”,则blkid无法查到UUID是正常现象。sudo dumpe2fs -h /dev/sda1 2>/dev/null | grep UUID—— 此命令专用于ext2/3/4系列文件系统,可绕过blkid缓存,直接读取超级块中的信息,结果更为直接可靠。
为什么 blkid 显示的 UUID 和 /etc/fstab 里对不上?
此问题在重装系统、克隆硬盘或使用dd命令复制分区后尤为常见。多数情况下,blkid本身并未出错,它显示的是磁盘当前真实的UUID。问题根源在于系统挂载配置文件/etc/fstab中记录的仍是旧设备的UUID,从而导致信息不匹配。
建议按以下顺序排查:
- 首先运行
sudo blkid -c /dev/null。参数-c的作用是清空缓存文件,强制blkid重新扫描,确保获取到最新、最准确的UUID值。 - 随后,打开
/etc/fstab文件,找到对应挂载点(例如根目录/或/home)的行,核对其中的UUID=...字符串是否与上一步命令的输出完全一致。 - 若发现不匹配,切勿立即修改
fstab。还需执行关键一步:使用findmnt -U命令确认当前系统中实际挂载的设备所使用的UUID,以避免修改错误。
此外,在容器、chroot环境或initramfs(初始内存磁盘)中,若/dev目录未被完整绑定挂载(bind-mount),blkid也可能因无法看到全部设备而出现“漏报”。
blkid -t TYPE=ext4 找不到设备?检查内核模块和设备状态
blkid能够识别特定的文件系统类型,但前提是Linux内核本身支持解析该类型。例如,在一些较旧的发行版(如CentOS 7)上,btrfs文件系统的内核模块默认并未加载。此时,即使使用blkid -t TYPE=btrfs进行查询,命令也会静默失败,无任何输出。
遇到此类情况,可进行以下快速检查:
- 检查内核模块:使用
lsmod | grep xfs(检查xfs模块)、lsmod | grep btrfs。若无输出,可尝试使用modprobe btrfs手动加载相应模块。 - 检查支持列表:运行
cat /proc/filesystems | grep -E "(ext|btrfs|xfs)",查看您关心的文件系统类型是否位于系统当前支持的内核文件系统列表中。 - 注意设备状态:即使设备已被占用(例如已挂载或作为LVM物理卷被激活),
blkid通常仍能读出UUID。但若使用-p参数尝试进行低级探测,则可能遇到“Device or resource busy”等报错。 - 虚拟机特例:在虚拟化环境中,偶尔会出现设备信息未及时同步的情况。此时可尝试触发udev事件:
sudo udevadm trigger --subsystem-match=block,让系统重新识别块设备。
用 by-uuid 链接验证 UUID 是否真实可用
最后介绍一个实用的“验真”方法:查看/dev/disk/by-uuid/目录。此处的符号链接由内核通过udev机制动态生成,反映了系统在挂载时真正能够识别和使用的设备标识,某种程度上比blkid的输出更为“可靠”。
若该目录下没有对应UUID的链接,那么即使blkid能够显示此UUID,在/etc/fstab中使用它配置自动挂载也极有可能在系统启动时失败。
具体操作如下:
- 执行
ls -l /dev/disk/by-uuid/,检查您目标中的UUID是否存在,并确认其是否正确指向预期设备(例如../../sdb2)。 - 若链接缺失,可能是udev规则未生效。可尝试运行
sudo udevadm settle等待udev事件处理完成,然后再次查看。
需要重点区分:PARTUUID(GPT分区表分配的ID)与UUID(文件系统格式化时生成的ID)是两回事。/dev/disk/by-partuuid/目录下的链接不能用于/etc/fstab的UUID=字段,系统无法识别。
真正容易导致困扰的,往往是您看到的UUID背后指向了一个“存在但不可用”的设备。例如,设备被加密层包裹、被LVM逻辑卷管理层抽象,或文件系统本身已损坏但元数据侥幸残留。此时,blkid仍可能凭借残留的元数据读出UUID,给您造成设备正常的错觉。但当您尝试使用mount命令挂载时,系统会直接报错,提示“wrong fs type”或“No such device”。这才是最需要警惕的情况。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Win11系统盘名称修改教程 轻松更改磁盘卷标显示
在Windows11中修改C盘卷标名称是安全且实用的操作,不影响系统与数据。本文介绍了五种方法:通过文件资源管理器右键重命名、在驱动器属性对话框中修改、使用命令提示符执行label命令、通过PowerShell的Set-Volume命令设置,以及利用磁盘管理工具修改卷属性。用户可根据习惯选择合适方式,操作后无需重启即可生效。
Linux系统如何查看磁盘UUID blkid命令使用教程
在Linux系统中,blkid命令用于查看磁盘UUID,但可能因设备未格式化、文件系统被覆盖或配置不匹配而无法显示或显示错误。可通过`file-s`、`lsblk-f`等命令验证文件系统状态,并检查` etc fstab`中的UUID是否与实际一致。内核模块缺失或设备被占用也可能影响识别。建议使用` dev disk by-uuid `目录验证UUID有效性
Mac打印机任务卡住如何清理队列
打印机任务卡住不动是Mac用户常遇到的困扰。当打印队列显示“正在处理”却无响应,或任务列表呈灰色无法操作时,通常意味着打印后台服务(CUPS)状态异常、缓存文件损坏或驱动程序信号错乱。别担心,本文将提供一套完整的解决方案,帮助您逐步疏通打印队列,恢复打印功能。 一、通过图形界面快速取消打印任务 若打
苹果电脑如何清理Origin游戏平台缓存以优化性能
在Mac上清理Origin平台缓存可优化游戏运行。主要方法包括手动删除用户缓存目录和ApplicationSupport中的临时文件,使用终端命令清理旧日志,或借助CleanMyMacX等工具深度扫描。清理后需重启Origin并禁用缓存压缩功能,以提升稳定性并释放存储空间。
苹果Mac查看已保存WiFi密码的详细步骤
忘记Wi-Fi密码是许多Mac用户都曾遇到的困扰。当需要连接新设备或分享给访客时,却想不起密码。实际上,所有连接过的Wi-Fi密码都已安全存储在Mac的钥匙串中。本文将详细介绍三种有效方法,帮助您快速找回已保存的Wi-Fi密码,无论是当前连接的网络还是历史记录。 一、通过“密码”应用查看Wi-Fi密
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

