(Это продолжение « Что такое идентификатор раздела / тип файловой системы для UDF? »)
Я знаю два способа форматирования жесткого диска как UDF:
- Windows Vista или более поздняя версия: "
format x: /fs:UDF
" (не используйте/q
!) - Linux: "
mkudffs --media-type=hd --blocksize=512 /dev/sdx
"
Проблема в том, что «другая» ОС вообще не распознает диск как отформатированный: она просто отказывается монтировать его, какие бы команды я ни пытался.
Как я могу отформатировать жесткий диск как UDF, чтобы и Windows, и Linux могли его использовать?
РЕДАКТИРОВАТЬ: обновлены команды, теперь результат должен работать в любой ОС.
windows
formatting
skolima
источник
источник
Ответы:
Оказывается, использование
/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 байт, у меня была наибольшая совместимость при создании FS такого размера. Я думаю, что 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.
источник