如何設置磁碟(不是分區)的標籤?
我一直在四處尋找,但找不到明確的答案,或者當我的系統向我顯示其他情況時,我發現答案是“否”。
我正在執行 Arch Linux,在將新 HDD 連接到 ZFS 池時,我注意到我的主 SSD 系統驅動器具有
LABEL
屬性/屬性(不確定術語是什麼)。**注意:**我說的是驅動器,而不是該驅動器中的分區。
我真的很想讓我的其他磁碟也有
LABEL
類似的,但不知道如何完成。任何人都知道如何實現這一目標?
下面是一個清理後的輸出,
lsblk
以說明我在尋找什麼。在我的系統<#LABEL1#>
中設置如輸出所示,我想設置/更改<#WANTTHIS#>
。NAME SIZE TYPE LABEL PTTYPE PTUUID MODEL SUBSYSTEMS loop0 ###.#M loop block loop1 ###.#M loop block loop2 ###.#M loop block loop3 ###.#M loop block sda ###.#G disk <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa SomeModelString1 block:scsi:pci ├─sda1 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda2 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda3 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda4 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda5 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda6 ###.#M part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda7 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda8 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda9 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci ├─sda10 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci └─sda11 ###.#G part <#LABEL1#> gpt aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa block:scsi:pci . . . sdg ###.#G disk dos xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx SomeModelString2 block:scsi:pci └─sdg1 ###.#G part <#LABEL2#> dos xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx block:scsi:pci sdh ###.#T disk <#WANTTHIS#> gpt bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb SomeModelString3 block:scsi:usb:pci sdi ###.#T disk <#WANTTHIS#> gpt cccccccc-cccc-cccc-cccc-cccccccccccc SomeModelString3 block:scsi:usb:pci ├─sdi1 ###.#T part some-part gpt cccccccc-cccc-cccc-cccc-cccccccccccc block:scsi:usb:pci └─sdi9 ###.#M part gpt cccccccc-cccc-cccc-cccc-cccccccccccc block:scsi:usb:pci . . .
編輯:接受答案後
每@frostschutz在我上面的例子中,
FSTYPE
在我的例子中zfs_member
,標籤實際上是 zfs-pool 的名稱(它的命名與我的系統名稱完全一樣,所以我想我過去可能已經手動命名了它 - 我沒有)。與物理磁碟相關的唯一標識符是
WWN
,與 GPT 分區表相關的唯一標識符是PTUUID
。因此,與我之前找到的所有其他答案一樣,答案是“否”。
無法為磁碟設備分配名稱。
從現在開始,我
lsblk
列出相關 ID 的命令選項將是:$ lsblk --output=NAME,SIZE,RO,TYPE,WWN,PTTYPE,PTUUID,MODEL,SUBSYSTEMS,LABEL,PARTLABEL,PARTUUID,MOUNTPOINT
這取決於設備的內容。更具體地說,它取決於是否存在提供標籤的已知超級塊。
這可以是文件系統超級塊(如 ext4、xfs、fat、iso9660,…)、交換設備、raid 超級塊(mdadm),甚至是 crypt 容器(LUKS2)。
因此,您可以在
mkfs
文件系統時指定標籤,或者稍後使用文件系統特定工具更改它(對於 ext4,這將是tune2fs -L
),如果是 mdadm,它是--name
數組的,如果是 LUKS2 是cryptsetup --label
選項。據我所知,如果不將標籤附加到某些文件系統或其他超級塊提供程序,就無法任意設置標籤。最接近的方法是在 GPT 分區表 (
parted name ...
) 中使用 PARTLABEL,然後將其附加到分區表本身,但是 PARTLABEL 不是 LABEL。它不會覆蓋或替換文件系統標籤。標籤沒有通用標準,都是手工編織的,例如在 util-linux 中查看 superblocks 格式的實現。如果你明天發明一個新的文件系統,即使它有標籤,在添加支持之前它也不會出現。
在您的
lsblk
輸出中,如果您添加FSTYPE
列,您可能會知道是什麼提供了您所看到的標籤。然後,如果您想以相同的方式在另一台設備上提供標籤,您只需……也必須在該設備上放置相同的文件系統(或raid superblock,或其他任何東西……)。這樣做自然會刪除之前存在的任何其他內容(您不能在一個設備上擁有兩個文件系統,而不是先創建新設備)。