После того , как мне не удалось скопировать файл размером более 4G на флэш-накопитель USB 8G , я отформатировал его как ext3. Пока это работает нормально для меня, это вызовет проблемы, если я захочу использовать его для копирования файлов кому-то, кто не использует Linux.
Я подумываю о том, чтобы отформатировать его как UDF , что, я надеюсь, позволило бы его прочитать (и, возможно, даже написать) в трех самых популярных операционных системах (Windows, MacOS и Linux), без необходимости устанавливать какие-либо дополнительные драйверы . Однако из того, что я уже нашел в Интернете, похоже, есть несколько небольших ошибок, связанных с тем, какие параметры используются для создания файловой системы, что может снизить совместимость (но большинство страниц, которые я нашел, посвящены оптическим носителям, а не USB-флеш-памяти). диски).
Я бы хотел знать:
- Какую утилиту я должен использовать для создания файловой системы? (Пока что я нашел
mkudffs
иgenisoimage
,mkudffs
кажется, лучший вариант.) - Какие параметры следует использовать с выбранной утилитой для максимальной совместимости?
- Насколько совместимы с наиболее распространенными версиями этих трех операционных систем UDF?
- Использование UDF на самом деле лучшая идея? Есть ли другая файловая система, которая имела бы лучшую совместимость, без проблемных ограничений, таких как ограничение размера файла FAT32 4G, и без необходимости устанавливать специальные драйверы на каждый компьютер, который ее касался?
Ответы:
Во-первых, я полностью обнулил диск перед созданием файловой системы UDF с помощью:
Это делается для того, чтобы избежать каких-либо оставшихся суперблоков или других метаданных, которые могли бы запутать обнаружение типа файловой системы операционной системы (необходимо по крайней мере обнуление первого сектора, чтобы стереть таблицу разделов; первые несколько секторов не используются UDF, и остаток таблица разделов может действительно запутать вещи). Вы также можете использовать
count=1
переключатель в команде dd, чтобы быстрее обнулить только первые 512 байт диска (где обычно находится MBR), хотя это не было проверено.Чтобы создать файловую систему, я использовал команду:
mkudffs
Команда станет доступной в дистрибутивах Linux на основе Debian (таких как Ubuntu) после установкиudftools
пакета:Размер блока по умолчанию для
mkudffs
2048, что неправильно для флэш-накопителя USB (который использует 512-байтовые сектора). Поскольку размер блока используется для поиска метаданных файловой системы, использование неправильного размера блока может привести к тому, что он не будет распознан как файловая система UDF (поскольку якорь не будет находиться там, где ожидает драйвер файловой системы). Обратите внимание, чтоmkudffs
справочная страница неверна; 512 является допустимым значением для размера блока (и код явно принимает его).Я также использовал весь диск вместо раздела; это должно быть более совместимым.
Результат моего тестирования до сих пор:
bs=512
опцияmount
, потому что он неправильно использовал 2048 вместо размера сектора устройства (исправлено в коммите 1197e4d ).Хотя я до сих пор не пытался создать в нем файл размером более 4G, я не вижу причин, по которым он не будет работать.
Учитывая, что он отлично работал на всех последних операционных системах (требуется только монтирование вручную в Linux, что больше не понадобится, как только выйдут Ubuntu 9.10 и Fedora 12), и работал только для чтения в Windows XP (что было неожиданностью). мне; я ожидал, что он вообще не распознает файловую систему), использование UDF вместо FAT32 или NTFS в больших USB-флешках кажется хорошей идеей.
источник
dd if=/dev/zero of=/dev/sdb bs=1M
, что оставляет его без таблицы разделов.CesarB проделал большую работу, чтобы разобраться в сути проблемы. Одной вещью, которая не может быть подчеркнута достаточно, является то, насколько важно использовать правильный размер блока при форматировании UDF.
Вдохновленный постом CesarB (и другими моими исследованиями / тестированием), я написал скрипт для автоматизации процесса форматирования в UDF - с использованием правильно определенного размера сектора. Смотрите format-udf на GitHub . Известные особенности:
Из-за последнего пункта этот сценарий, который я написал, нельзя использовать в Windows. Тем не менее, скрипт будет работать на OS X и Linux. После этого Windows сможет волшебным образом обнаружить только что отформатированный диск UDF.
Чтобы напрямую ответить на поставленные вопросы, format-udf:
источник
hdparm
называет «Размер логического сектора», является единицей адресации, используемой протоколом SATA, тогда как «Размер физического сектора» является внутренней составляющей диска. Для меня более логично, что «физические блоки» в спецификации UDF действительно означают «логические блоки» Linux.mkudffs
напрямую; Я имею в виду добавление новой--best-block-size
опции вmkudffs
.Кажется, я вспомнил, что, сделав это, проблема, которую я обнаружил, заключается в том, что версия linux, которую я смонтировал, была доступна только для чтения, поскольку драйвер не был создан для чтения и записи. Это работает в Windows, и я думаю, Mac.
Да, хорошее решение найти сложно. Некоторое время у меня был внешний диск с разделом fat32, на котором были драйверы для win и mac, раздел mac и большой раздел ext3. Это работало, но это означало установку драйверов. Отличный трюк в том, что он также загружался на Mac (fw & usb), вам нужно оставить пробел и сделать несколько заметок, затем вы можете добавлять разделы через командную строку и таблицу разделов mac.
Мир нуждается в бесплатной, доступной всем, файловой системе. ZFS был бы хорошим выбором. :-)
источник
Питер Уил (Pieter Wuille) написал инструмент для разбиения и форматирования диска, чтобы создать макет UDF, который будет совместим как с Windows (> = Vista, только для чтения для XP), так и с MacOS X 10.5, Linux 2.6.30+:
В качестве альтернативы:
источник
Для достижения максимальной совместимости вы должны использовать mkudffs из проекта udftools как минимум в версии 2.0. Никаких специальных параметров не требуется, все определяется автоматически.
Есть 3 больших ограничения:
Системы Microsoft Windows не распознают несъемный жесткий диск, если на нем нет таблицы разделов MBR или GPT.
Системы Apple Mac OS X не распознают файловую систему UDF на многораздельном диске.
Вероятно, все системы (кроме недавних ядер Linux) не распознают файловую систему UDF, если размер блока UDF не соответствует размеру логического сектора диска.
Инструмент mkudffs начиная с версии 2.0 обрабатывает все 3 ограничения. При форматировании несъемных жестких дисков создается «ложная» таблица MBR, которая начинается в секторе 0 и охватывает весь диск. Таким образом, файловая система UDF может быть прочитана либо из первого раздела (необходим для Microsoft Windows), либо с целого диска (необходим для Apple Mac OS X). Смотрите man-страницу mkudffs 2.0 для более подробной информации.
источник
NTFS, с NTFS-3G вы можете писать в него с помощью Linux и посмотреть http://macntfs-3g.blogspot.com/ для вашего Mac.
источник
Есть драйверы для Windows (и Mac), которые могут обращаться к разделам EXT3, поэтому вы можете отформатировать его в EXT3 и использовать его (с драйверами) везде. Другой способ - использовать архиватор для хранения большого файла в двух или более файлах размером до 4 ГБ каждый. Таким образом, вы можете использовать файловую систему FAT32, которая является универсальной. На главном компьютере вы должны извлечь архив, чтобы использовать его, но это способ сделать это без драйверов. Используйте архиватор формата RAR, так как он работает на Windows, Linux, Mac, хотя я думаю, что формат ZIP также может работать. Но я бы пошел с водителями. После установки вы можете делать все без ограничений. В ПК я использовал Ext2Fsd для полного доступа EXT2, EXT3 и EXT4 и Macdrive для полного доступа в формате MacOS. Конечно, аналогичные инструменты существуют для Linux и MacOS, а также для полного доступа к разделам NTFS и т. Д. Если вам нужен только доступ для чтения, вам не нужны драйверы, Linux и MacOS поддерживают чтение разделов NTFS, поэтому отформатируйте USB как NTFS! Если все эти компьютеры находятся в одной сети, все будет проще! Сделайте USB любого формата и поделитесь им в сети. Другие компьютеры не должны иметь проблем с доступом к нему!
источник