(Это продолжение "Какой идентификатор раздела / тип файловой системы для UDF?")
Я знаю два способа отформатировать жесткий диск как UDF:
format x: /fs:UDF
"(не используйте /q
! )mkudffs --media-type=hd --blocksize=512 /dev/sdx
"Проблема в том, что «другая» ОС вообще не распознает диск как отформатированный: она просто отказывается монтировать его, какие бы команды я ни пробовал.
Как я могу отформатировать жесткий диск как UDF, чтобы и Windows, и Linux могли его использовать?
EDIT: обновлены команды, теперь результат должен работать в любой ОС.
Оказывается, с помощью /q
Виной тому было переключение на Windows: оно включает «быстрое форматирование», то есть процесс форматирования продолжается в фоновом режиме с каждой записью на диск. Как только он закончится, диск будет нормально обрабатываться Linux.
При форматировании UDF нельзя не особо подчеркнуть одну вещь - насколько важно использовать правильный размер блока при форматировании UDF. Как объяснено Вот, использование сконфигурированного размера блока, не соответствующего размеру физического сектора, вероятно, означает, что некоторые операционные системы не смогут определить диск как допустимый UDF.
Вдохновленный приведенным выше ответом (и другими моими исследованиями / тестированием), я написал сценарий для автоматизации процесса форматирования в UDF с использованием правильно определенного размера сектора. Видеть format-udf на GitHub. Примечательные особенности:
Из-за последнего пункта этот сценарий, который я написал, нельзя использовать в Windows. Однако сценарий будет работать в OS X и Linux. После этого Windows сможет волшебным образом обнаружить недавно отформатированный диск UDF.
Чтобы напрямую ответить на поставленные вопросы, format-udf:
mkudffs
в Linux)blocksize
)Как вы согласовали свое открытие в предыдущем вопросе (что файловая система UDF должна быть создана на всем диске, а не на разделе) с этой командой Windows («формат x: / fs: UDF»)? В моих попытках Windows дает разделам только буквы дисков.
Что касается форматирования для совместимости, я думаю, что все дело в размере блока. Поскольку большинство жестких дисков и USB-накопителей имеют размер блока 512 байт, у меня была наибольшая совместимость, когда я создавал файловую систему с таким размером блока. Я думаю, что format.com использует этот размер блока, а у mkudffs есть командный переключатель для изменения размера блока. Я мог заставить OS X и Windows смонтировать файловую систему только тогда, когда я использовал 512-байтовые блоки. Старые версии Linux предполагали размер блока 2048, но вы всегда можете смонтировать с помощью «-o bs = 512».
Проблема с разделением всего диска по-прежнему вызывает проблемы совместимости. Windows не монтируется, когда я форматирую весь диск, а OS X не смотрит за пределы номера типа раздела при определении своей файловой системы, заставляя меня монтировать его вручную. Linux не заботился, если я дал ему соответствующее имя устройства (sda vs sda1).
Таким образом, наиболее совместимая установка, которую я нашел, - это отдельный раздел типа 06 (FAT16), отформатированный с помощью UDF с размером блока 512. Работает автоматически в Windows и требует небольшого ручного вмешательства в Linux и OS X.