编辑:接受答案后

编辑:接受答案后

我一直在四处寻找,但找不到明确的答案,或者当我的系统向我显示其他信息时,我发现答案是“否”。

我正在运行 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
.
.
.

编辑:接受答案后

@弗罗斯特舒茨在我上面的例子中,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

答案1

这取决于设备的内容。更具体地说,这取决于是否存在提供标签的已知超级块。

这可以是文件系统超级块(如 ext4、xfs、fat、iso9660 等)、交换设备、raid 超级块 (mdadm),甚至是 crypt 容器 (LUKS2)。

因此,您可以在文件系统时指定标签mkfs,或者稍后使用文件系统特定工具(对于 ext4,这将是tune2fs -L)更改它,在 mdadm 的情况下,它是--name数组的标签,在 LUKS2 的情况下是cryptsetup --label选项。

据我所知,如果不将标签附加到某些文件系统或其他超级块提供程序,就无法任意设置标签。最接近的是 GPT 分区表 ( ) 中的 PARTLABEL parted name ...,然后它附加到分区表本身,但是 PARTLABEL 不是 LABEL。它不会覆盖或替换文件系统标签。

标签没有通用标准,都是手工编织的,请参见示例util-linux 中超级块格式的实现。如果你明天发明一个新的文件系统,即使它有标签,在添加支持之前它也不会显示。

lsblk输出中,如果添加该FSTYPE列,您可能会了解什么可能提供了您所看到的标签。然后,如果您想以相同的方式在另一台设备上提供标签,您只需...也必须在该设备上放置相同的文件系统(或 raid 超级块,或无论它是什么...)。这样做自然会删除之前存在的任何其他内容(一台设备上不能有两个文件系统,除非先创建新设备)。

相关内容