В поисках идеальной файловой системы для обмена файлами между множеством компьютеров с множеством различных ОС я принял решениеэтот ответи установил файловую систему UDF на свой USB-накопитель.
Сначала я очистил диск, чтобы убедиться, что на нем нет остатков, которые могли бы сбить с толку систему, считывающую данные с диска:
dd if=/dev/zero of=/dev/sdb bs=1M
Затем я отформатировал диск, используя udftools
AUR из Arch Linux:
sudo mkudffs --media-type=hd --blocksize=512 /dev/sdb
Очевидно, диск был в формате /dev/sdb
.
Теперь мой вопрос, поскольку диск не имеет традиционных разделов или даже таблицы разделов, насколько я знаю, у него нет UUID. Поэтому я не могу добавить его в fstab, что меня довольно раздражает.
Что я могу сделать, чтобы исправить это (например, есть ли альтернативный способ установить точку монтирования и параметры по умолчанию или альтернативный вариант разбиения на разделы)?
решение1
Выберите размер блока не менее 2 КБ (это значение по умолчанию) и добавьте его --vid=
к своим mkudffs
параметрам. (Похоже, что blkid
from util-linux
не справляется с блоками меньшего размера.)
$ mkudffs --media-type=hd --vid=мой-диск /dev/sdj $ blkid /dev/sdj /dev/sdj: МЕТКА="my-drive" ТИП="udf"
Теперь вы можете использовать LABEL=my-drive
в /etc/fstab
.
решение2
Если вам нужна blocksize=512
совместимость с Windows, есть исправление, которое позволяет распознавать util-linux
обновления как метку на любом размере блока. Оно еще не вошло в выпущенную версию; оно было зафиксировано 1 марта 2013 года. Также есть ошибка в модуле ядра, которая не позволяет использовать раздел размером более 128 ГБ — исправление для этого было зафиксировано в основной ветке в начале февраля и только что зафиксировано в ветках 3.0-stable, 3.4-stable и 3.8-stable.blkid
vid
udf
решение3
Убедитесь, что вы используете --blocksize=512 (если у вас нет собственного диска 4k). Размер блока UDF должен соответствовать логическому (секторному) размеру диска, который составляет 512 байт. Более старые версии mkudfffs не могут определить логический размер сектора и возвращаются к значению CD/DVD 2048 (что вызывает проблемы для других ОС, поскольку они не ожидают размер блока CD/DVD на жестких дисках).
blkid из util-linux v2.30 также предоставляет UUID для файловых систем UDF, поэтому просто обновите util-linux до новой версии, и тогда вы сможете использовать UUID в /etc/fstab. UUID вычисляется из идентификатора набора томов UDF, который по определению UDF имеет первые 16 символов, которые уникальны, нетривиальны, нефиксированы и подходят для гарантии уникальности идентификатора.
Также mkudffs начиная с версии 1.1 имеет опцию --uuid= для указания собственного UUID.
решение4
Есть ли в вашем дистрибутиве /dev/disk/by-*
символические ссылки?
Среди них вы, вероятно, сможете найти способ идентифицировать USB-флешку с UDF таким образом, который не будет меняться, как это /dev/sd*
возможно.