我如何创build一个GPT分区标签并在Ubuntu中使用它的标签挂载分区?

我试图给GPT分区分配一个分区标签,并使用该分区标签作为在Ubuntu 14.04中安装的标识符。

所以首先我要设置GPT并在卷上创build一个分区:

~# 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 

从这里,我可以看到在/dev/disk/by-partlabel下的vdb1符号链​​接如期:

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

所以我相应地设置了我的fstab的内容(在PARTLABEL中看到了PARTLABEL ):

 ~# 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下面显示正确的符号链接,尽pipe该标签并没有显示在blkid的磁盘旁边作为PARTLABEL值显示。

谢谢!

虽然我还没有弄清楚为什么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 

我已经决定在configurationpipe理中使用分区标签,但是我仍然很想知道blkid为什么不显示PARTLABEL

尝试文件系统标签。 对我来说,这在多个系统上运行良好。

使用文件系统工具(e2label,mkfs,ntfslabel等)或gparted在格式化之后或格式化时标记分区。

我的fstab看起来像这样:

 # <file system> <mount point> <type> <options> <dump> <pass> LABEL=KUBUNTU / ext4 discard,relatime,errors=remount-ro 0 1 LABEL=UEFI /media/UEFI vfat discard,relatime,noauto 0 0 LABEL=SWAP none swap sw 0 0 LABEL=DATA /media/DATA ext4 defaults 0 2