我试图给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