Linux 中獲取硬盤分區或文件系統的 UUID 的七種方法

Linux 中獲取硬盤分區或文件系統的 UUID 的七種方法

作為一個 Linux 系統管理員,你應該知道如何去查看分區的 UUID 或文件系統的 UUID。因為現在大多數的 Linux 系統都使用 UUID 掛載分區。

-- Magesh Maruthamuthu

作為一個 Linux 系統管理員,你應該知道如何去查看分區的 UUID 或文件系統的 UUID。因為現在大多數的 Linux 系統都使用 UUID 掛載分區。你可以在 /etc/fstab 文件中可以驗證。

有許多可用的實用程序可以查看 UUID。本文我們將會向你展示多種查看 UUID 的方法,並且你可以選擇一種適合於你的方法。

何為 UUID?

UUID 意即 通用唯一識別碼(Universally Unique Identifier),它可以幫助 Linux 系統識別一個磁盤分區而不是塊設備文件。

自內核 2.15.1 起,libuuid 就是 util-linux-ng 包中的一部分,它被默認安裝在 Linux 系統中。UUID 由該庫生成,可以合理地認為在一個系統中 UUID 是唯一的,並且在所有系統中也是唯一的。

這是在計算機系統中用來標識信息的一個 128 位(比特)的數字。UUID 最初被用在 阿波羅網絡計算機系統(Apollo Network Computing System)(NCS)中,之後 UUID 被 開放軟件基金會(Open Software Foundation)(OSF)標準化,成為 分佈式計算環境(Distributed Computing Environment)(DCE)的一部分。

UUID 以 32 個十六進制的數字表示,被連字符分割為 5 組顯示,總共的 36 個字符的格式為 8-4-4-4-12(32 個字母或數字和 4 個連字符)。

例如: d92fa769-e00f-4fd7-b6ed-ecf7224af7fa

我的 /etc/fstab 文件示例:

# cat /etc/fstab

# /etc/fstab: static file system information.

#

# Use 'blkid' to print the universally unique identifier for a device; this may

# be used with UUID= as a more robust way to name devices that works even if

# disks are added and removed. See fstab(5).

#

#

UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f / ext4 defaults,noatime 0 1

UUID=a2092b92-af29-4760-8e68-7a201922573b swap swap defaults,noatime 0 2

我們可以使用下面的 7 個命令來查看。

  • blkid 命令:定位或打印塊設備的屬性。
  • lsblk 命令:列出所有可用的或指定的塊設備的信息。
  • hwinfo 命令:硬件信息工具,是另外一個很好的實用工具,用於查詢系統中已存在硬件。
  • udevadm 命令:udev 管理工具
  • tune2fs 命令:調整 ext2/ext3/ext4 文件系統上的可調文件系統參數。
  • dumpe2fs 命令:查詢 ext2/ext3/ext4 文件系統的信息。
  • 使用 by-uuid 路徑:該目錄下包含有 UUID 和實際的塊設備文件,UUID 與實際的塊設備文件鏈接在一起。

Linux 中如何使用 blkid 命令查看磁盤分區或文件系統的 UUID?

blkid 是定位或打印塊設備屬性的命令行實用工具。它利用 libblkid 庫在 Linux 系統中獲得到磁盤分區的 UUID。

# blkid

/dev/sda1: UUID="d92fa769-e00f-4fd7-b6ed-ecf7224af7fa" TYPE="ext4" PARTUUID="eab59449-01"

/dev/sdc1: UUID="d17e3c31-e2c9-4f11-809c-94a549bc43b7" TYPE="ext2" PARTUUID="8cc8f9e5-01"

/dev/sdc3: UUID="ca307aa4-0866-49b1-8184-004025789e63" TYPE="ext4" PARTUUID="8cc8f9e5-03"

/dev/sdc5: PARTUUID="8cc8f9e5-05"

Linux 中如何使用 lsblk 命令查看磁盤分區或文件系統的 UUID?

lsblk 列出所有有關可用或指定塊設備的信息。lsblk 命令讀取 sysfs 文件系統和 udev 數據庫以收集信息。

如果 udev 數據庫不可用或者編譯的 lsblk 不支持 udev,它會試圖從塊設備中讀取卷標、UUID 和文件系統類型。這種情況下,必須以 root 身份運行。該命令默認會以類似於樹的格式打印出所有的塊設備(RAM 盤除外)。

# lsblk -o name,mountpoint,size,uuid

NAME MOUNTPOINT SIZE UUID

sda 30G

└─sda1 / 20G d92fa769-e00f-4fd7-b6ed-ecf7224af7fa

sdb 10G

sdc 10G

├─sdc1 1G d17e3c31-e2c9-4f11-809c-94a549bc43b7

├─sdc3 1G ca307aa4-0866-49b1-8184-004025789e63

├─sdc4 1K

└─sdc5 1G

sdd 10G

sde 10G

sr0 1024M

Linux 中如何使用 by-uuid 路徑查看磁盤分區或文件系統的 UUID?

該目錄包含了 UUID 和實際的塊設備文件,UUID 與實際的塊設備文件鏈接在一起。

# ls -lh /dev/disk/by-uuid/

total 0

lrwxrwxrwx 1 root root 10 Jan 29 08:34 ca307aa4-0866-49b1-8184-004025789e63 -> ../../sdc3

lrwxrwxrwx 1 root root 10 Jan 29 08:34 d17e3c31-e2c9-4f11-809c-94a549bc43b7 -> ../../sdc1

lrwxrwxrwx 1 root root 10 Jan 29 08:34 d92fa769-e00f-4fd7-b6ed-ecf7224af7fa -> ../../sda1

Linux 中如何使用 hwinfo 命令查看磁盤分區或文件系統的 UUID?

hwinfo 意即硬件信息工具,是另外一種很好的實用工具。它被用來檢測系統中已存在的硬件,並且以可讀的格式顯示各種硬件組件的細節信息。

# hwinfo --block | grep by-uuid | awk '{print $3,$7}'

/dev/sdc1, /dev/disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7

/dev/sdc3, /dev/disk/by-uuid/ca307aa4-0866-49b1-8184-004025789e63

/dev/sda1, /dev/disk/by-uuid/d92fa769-e00f-4fd7-b6ed-ecf7224af7fa

Linux 中如何使用 udevadm 命令查看磁盤分區或文件系統的 UUID?

udevadm 需要命令和命令特定的操作。它控制 systemd-udevd 的運行時行為,請求內核事件、管理事件隊列並且提供簡單的調試機制。

# udevadm info -q all -n /dev/sdc1 | grep -i by-uuid | head -1

S: disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7

Linux 中如何使用 tune2fs 命令查看磁盤分區或文件系統的 UUID?

tune2fs 允許系統管理員在 Linux 的 ext2、ext3、ext4 文件系統中調整各種可調的文件系統參數。這些選項的當前值可以使用選項 -l 顯示。

# tune2fs -l /dev/sdc1 | grep UUID

Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7

Linux 中如何使用 dumpe2fs 命令查看磁盤分區或文件系統的 UUID?

dumpe2fs 打印出現在設備文件系統中的超級塊和塊組的信息。

# dumpe2fs /dev/sdc1 | grep UUID

dumpe2fs 1.43.5 (04-Aug-2017)

Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7


via: https://www.2daygeek.com/check-partitions-uuid-filesystem-uuid-universally-unique-identifier-linux/

作者: Magesh Maruthamuthu 選題: lujun9972 譯者: liujing97 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: