linux:如何查看系统上所有可用磁盘的所有 UUID?

Ste*_*ski 213 storage linux

我的/etc/fstab包含这个:

# / was on /dev/sda1 during installation
UUID=77d8da74-a690-481a-86d5-9beab5a8e842 /               ext4    errors=remount-ro 0       1
Run Code Online (Sandbox Code Playgroud)

此系统上还有其他几个磁盘,并非所有磁盘都安装到正确位置(例如,/dev/sda1 和 /dev/sdb1 有时会颠倒)。

如何查看系统上所有磁盘的 UUID?我可以在这个系统上看到第三个磁盘的 UUID 吗?

set*_*ora 206

有一个工具叫做blkid(使用它作为 root 或 with sudo),

# blkid /dev/sda1
/dev/sda1: LABEL="/" UUID="ee7cf0a0-1922-401b-a1ae-6ec9261484c0" SEC_TYPE="ext2" TYPE="ext3"
Run Code Online (Sandbox Code Playgroud)

您可以查看此链接以获取更多信息

  • 只是一个小评论:看起来是组`disk` 的成员就足以运行`blkid`;不需要完全的超级用户权限。 (15认同)
  • 如果你只想要* UUID(比如在脚本中解析),你可以做`blkid /dev/sda1 -s UUID -o value`。 (14认同)
  • 快速评论:在我的发行版(Debian 8)中,这会产生 UUID 以及“PARTUUID”,这很令人困惑。我使用了只给出一个值的 {lsblk} 命令。 (3认同)
  • 这节省了大量时间,尽管我更喜欢使用 `blkid /dev/sd*` 来列出所有驱动器。吐出的信息通常足以找到您需要的驱动器。:) (2认同)
  • GPT 分区磁盘的 PARTUUID 是分区的 GPT UUID,而不是其中的文件系统。当尚未创建文件系统时可能很有用。在 MBR 分区的磁盘上,PARTUUID 不是真正的 UUID,而只是来自 MBR 的 Windows 磁盘签名 + 破折号 + 分区号。 (2认同)

Mic*_*zek 199

/dev/disk/by-uuid有符号链接映射中的每个驱动器的UUID其条目/dev(例如/dev/sda1

您可以使用命令查看这些 ls -lha /dev/disk/by-uuid

  • LVM 分区时不可读。 (4认同)

小智 68

最好使用的命令是 lsblk -f. 如果在同一驱动器上使用 LVM、crypto_LUKS 或多个卷组,它将列出所有设备和分区、它们的安装方式(如果有的话)以及设备的树结构。


Str*_*dic 20

要仅获取UUID特定磁盘设备的(例如在脚本中使用),您可以使用:

sudo blkid -s UUID -o value /dev/sdXY
Run Code Online (Sandbox Code Playgroud)

/dev/sdXY设备名称在哪里。


MIr*_*rra 16

这对我有用:

ls -la /dev/disk/by-uuid
Run Code Online (Sandbox Code Playgroud)

如果要检查分区是什么类型,请使用:

df -Th
Run Code Online (Sandbox Code Playgroud)

它会告诉你是否有 ext3 或 ext2。今天它帮助了我,因为有一个格式化的 ext2 分区,我认为它是 ext3,这导致挂载失败。


Nic*_*ich 12

lsblk -o +uuid,name
Run Code Online (Sandbox Code Playgroud)

您可以看到所有可以添加到-o( --output)的输出

lsblk --help
Run Code Online (Sandbox Code Playgroud)

这也将完成这项工作

# blkid
Run Code Online (Sandbox Code Playgroud)