当前位置:首页 > Linux > 正文

Linux如何查看UUID?

Linux中获取 UUID有两种常用方法:使用 blkid命令(如 blkid /dev/sda1)查看块设备 UUID,或通过 /sys/class/block/设备名/uuid文件直接读取(如 cat /sys/class/block/sda1/uuid)。

在Linux系统中,UUID(Universally Unique Identifier)是用于唯一标识存储设备(如硬盘、分区)的128位字符串,相比传统设备名(如/dev/sda1),UUID具有持久性和唯一性,能避免设备顺序变化导致的挂载错误,以下是获取UUID的详细方法:


方法1:使用 blkid 命令

步骤:

  1. 打开终端,输入命令: sudo blkid
  2. 输出示例: /dev/sda1: UUID="e0a1b2c3-d4e5-6789-f012-3456789abcde" TYPE="ext4" /dev/nvme0n1p2: UUID="a1b2c3d4-5678-90ef-1234-567890abcdef" TYPE="swap"
    • UUID= 后的字符串即为设备的唯一标识。
    • sudo 确保列出所有设备(包括需要root权限的设备)。

适用场景:快速查看所有存储设备的UUID和文件系统类型。

方法2:通过 lsblk 命令

步骤:

  1. 终端输入: lsblk -f
  2. 输出示例: NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 e0a1b2c3-d4e5-6789-f012-3456789abcde /boot └─sda2 swap a1b2c3d4-5678-90ef-1234-567890abcdef [SWAP]
    • UUID 列 直接显示标识符。
    • 优势:无需root权限,输出格式清晰。


方法3:查看 /dev/disk/by-uuid/ 目录

步骤:

  1. 终端输入: ls -l /dev/disk/by-uuid/
  2. 输出示例: lrwxrwxrwx 1 root root 10 Jan 1 12:00 e0a1b2c3-d4e5-6789-f012-3456789abcde -> ../../sda1 lrwxrwxrwx 1 root root 10 Jan 1 12:00 a1b2c3d4-5678-90ef-1234-567890abcdef -> ../../nvme0n1p2
    • 文件名即UUID,软链接指向实际设备(如../../sda1)。

适用场景:验证设备与UUID的对应关系。

方法4:从 /etc/fstab 中提取

若设备已挂载,可查看系统挂载配置文件:

cat /etc/fstab

输出示例:

UUID=e0a1b2c3-d4e5-6789-f012-3456789abcde /boot ext4 defaults 0 2

  • 每行的 UUID= 后即为标识符。


常见问题解决

  1. 权限不足

    • 若命令无输出,尝试添加 sudo(如 sudo blkid)。
  2. 设备未列出

    • 确保设备已连接且未被卸载,使用 lsblk 检查是否识别设备。
    • UUID不存在

      • 未格式化的设备无UUID,需先创建文件系统(如 sudo mkfs.ext4 /dev/sdb1)。
      • 为什么需要UUID?

        • 持久性:设备名(如/dev/sda)可能因插拔顺序变化,而UUID始终唯一。
        • 系统关键作用:用于 /etc/fstab 挂载、GRUB引导配置、LVM逻辑卷管理等。
        • 安全性:避免因设备顺序错误导致系统无法启动。


        方法 命令 是否需要root 特点
        blkid sudo blkid 详细信息全面
        lsblk lsblk -f 简洁直观,显示挂载点
        查看系统目录 ls -l /dev/disk/by-uuid/ 直接显示软链接关系
        解析配置文件 cat /etc/fstab 仅限已配置挂载的设备

        建议优先使用 lsblk -f 或 sudo blkid,两者覆盖大多数场景,操作前务必确认设备名称,避免误操作导致数据丢失。

        引用说明参考Linux官方文档(kernel.org)及util-linux工具包手册(GitHub – util-linux),命令兼容主流发行版(Ubuntu/CentOS/Debian等)。

0