Я пытаюсь назначить метку раздела для раздела 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.
Затем я присвоил разделу 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 (видел PARTLABEL
в Archwiki):
~# 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
для диска.
Попробуйте метки файловой системы. На мой взгляд, это отлично работает в нескольких системах.
Используйте инструменты файловой системы (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