Ubuntu

如何在 Ubuntu 中創建 GPT 分區標籤並使用其標籤掛載分區?

  • March 25, 2022

我正在嘗試將分區標籤分配給 GPT 分區,並將該分區標籤用作在 Ubuntu 14.04 中安裝的標識符。

所以首先我設置了 GPT 並在卷上創建了一個分區:

~# parted /dev/vdb -s -- mklabel gpt
~# parted /dev/vdb -s -- mkpart primary 0 -1
Warning: The resulting partition is not properly aligned for best performance.

然後我將分區標籤“TEST”分配給分區 1:

~# parted /dev/vdb -s -- name 1 TEST

並用 ext4 格式化分區:

~# mkfs.ext4 /dev/vdb1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214391 blocks
1310719 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
   32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
   4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

從這裡,我可以看到下面有一個指向 vdb1 的符號連結/dev/disk/by-partlabel

~# ls -l /dev/disk/by-partlabel/
total 0
lrwxrwxrwx 1 root root 10 Aug 12 13:10 TEST -> ../../vdb1

所以我相應地設置了我的 fstab 的內容(PARTLABELarchwiki中看到):

~# cat /etc/fstab
LABEL=cloudimg-rootfs   /    ext4   defaults    0 0
PARTLABEL=TEST /opt/ops/backup ext4 defaults 0 0

但我無法使用以下方式安裝設備PARTLABEL=TEST

~# mount -a
mount: special device PARTLABEL=TEST does not exist

經過進一步檢查,我注意到該blkid列表vdb1沒有PARTLABEL

~# blkid
/dev/sr0: LABEL="config-2" TYPE="iso9660" 
/dev/vda1: LABEL="cloudimg-rootfs" UUID="56ea71ab-5e1b-43ce-a0fb-be31f6f224ac" TYPE="ext4" 
/dev/vdb1: UUID="6f446b13-e62a-42c5-953b-68298ab93dbd" TYPE="ext4"

我試過重新啟動udev,但無濟於事:

~# service udev restart
udev stop/waiting
udev start/running, process 12959
~# blkid
/dev/sr0: LABEL="config-2" TYPE="iso9660" 
/dev/vda1: LABEL="cloudimg-rootfs" UUID="56ea71ab-5e1b-43ce-a0fb-be31f6f224ac" TYPE="ext4" 
/dev/vdb1: UUID="6f446b13-e62a-42c5-953b-68298ab93dbd" TYPE="ext4"

為什麼正確的符號連結會顯示在 下/dev/disk/by-partlabel,儘管該標籤沒有顯示為PARTLABEL磁碟旁邊的值blkid

謝謝!

雖然我還沒有弄清楚為什麼PARTLABEL=TEST不工作以及為什麼標籤沒有出現在 中blkid,但我只是通過/dev/disk/by-partlabel符號連結安裝來解決這個問題:

$ cat /etc/fstab
LABEL=cloudimg-rootfs   /    ext4   defaults    0 0
/dev/disk/by-partlabel/TEST /opt/ops/backup ext4 defaults 0 0

在我的配置管理中使用分區標籤時,我決定暫時使用這個,但我仍然很想知道為什麼blkid不顯示PARTLABEL磁碟。

引用自:https://serverfault.com/questions/713698