Используя UDF на карте флэш-памяти с интерфейсом USB

После отказа скопировать файл, больше, чем 4G к моему 8G карта флэш-памяти с интерфейсом USB, я отформатировал его как ext3. В то время как это хорошо работает для меня до сих пор, это вызовет проблемы, если я захочу использовать его для копирования файлов в кого-то, который не использует Linux.

Я думаю о форматировании его как UDF вместо этого, который я надеюсь, позволил бы этому быть считанным (и возможно даже записанным) в трех самых популярных операционных системах (Windows, MacOS и Linux), не имея необходимость устанавливать любые дополнительные драйверы. Однако от того, что я уже нашел в сети, кажись, быть несколькими маленькими глюками, связанными, к которому параметры используются для создания файловой системы, которая может уменьшить compability (но большинство страниц, которые я нашел, об оптических средах, не картах флэш-памяти с интерфейсом USB).

Я хотел бы знать:

  • Какую утилиту я должен использовать для создания файловой системы? (До сих пор я нашел mkudffs и genisoimage, и mkudffs кажется наилучшим вариантом.)
  • Какие параметры я должен использовать с выбранной утилитой для максимума compability?
  • Насколько совместимый с наиболее распространенными версиями этих трех операционных систем UDF на самом деле?
  • Использует UDF на самом деле лучшая идея? Есть ли другая файловая система, которая имела бы лучшую совместимость без проблематичных ограничений как предел размера файла 4G FAT32, и не имея необходимость устанавливать специальные драйверы в каждом компьютере, который касается его?
76
задан 08.06.2010, 13:14

3 ответа

Во-первых, я обнулил полностью диск прежде, чем создать файловую систему UDF с:

dd if=/dev/zero of=/dev/sdx bs=512

Это должно избежать любых оставшихся суперблоков или других метаданных, которые могли перепутать обнаружение типа файловой системы операционных систем (по крайней мере, обнуляющий первый сектор, должен быть необходим, для стирания таблицы разделов; первые несколько секторов не используются UDF, и оставшаяся таблица разделов могла действительно перепутать вещи). Вы могли также использовать count=1 включите команду dd, чтобы больше быстро обнулить просто первые 512 байтов диска (где MBR обычно располагается в), хотя это не было протестировано.

Для создания файловой системы команда, которую я использовал, была:

mkudffs --media-type=hd --blocksize=512 /dev/sdx

mkudffs команда станет доступной на находящихся в Debian дистрибутивах Linux (таких как Ubuntu) после установки a udftools пакет:

sudo apt-get install udftools

Значение по умолчанию blocksize для mkudffs 2048, который является неправильным при карте флэш-памяти с интерфейсом USB (который использует 512-байтовые секторы). Так как размер блока используется, чтобы найти, что метаданные файловой системы, с помощью неправильного размера блока могут заставить его не быть распознанным как файловая система UDF (так как привязка не будет то, где драйвер файловой системы ожидает). Обратите внимание что mkudffs страница справочника является неправильной; 512 допустимое значение для размера блока (и код явно принимает его).

Я также использовал целый диск вместо раздела; это должно быть более совместимо.

Результат моего тестирования до сих пор:

  • Linux с новым ядром (2.6.31, из Ubuntu 9.10): работы.
  • Linux с более старым ядром: потребности bs=512 опция к mount, потому что это неправильно использовало 2048 вместо размера сектора устройства (зафиксированный в фиксации 1197e4d).
  • Windows Vista: работы.
  • Совершенно новый Mac: работы.
  • Windows XP: может считать прекрасный, но дает "доступ запрещен" при попытке записать; также, кажется, думает, что диск полон.

В то время как я до сих пор не попытался создать файл, больше, чем 4G в нем, я не вижу оснований, почему это не работало бы.

Учитывая, что это работало отлично над всеми недавними операционными системами (только имеющий необходимость смонтироваться вручную на Linux, который не будет необходим больше, как только Ubuntu 9.10 и Fedora 12 отсутствуют), и работал только для чтения в Windows XP (который был удивлением мне; я ожидал, что это не распознает файловую систему вообще), с помощью UDF вместо FAT32, или NTFS в больших картах флэш-памяти с интерфейсом USB кажется хорошей идеей.

58
ответ дан 07.12.2019, 08:08

Я, кажется, вспоминаю сделавший это, проблема, которую я нашел, состоит в том, что версия Linux, я смонтировал его только для чтения как драйвер, не была создана для r/w. Это действительно работало в окнах, и я думаю Mac.

Да, хорошее решение трудно найти. Некоторое время у меня был внешний диск с fat32 разделом, который имел драйверы для победы и Mac, раздела Mac и большого ext3 раздела. Это работало, но это означало устанавливать драйверы. Аккуратный прием был этим, было также загрузочным на Mac (fw&usb), необходимо оставить пространство и сделать некоторые заметки, затем можно добавить разделы через командную строку и таблицу разделов Mac также.

Миру нужны свободное, применимое всем, файловой системой. ZFS был бы хорошим выбором.:-)

3
ответ дан 07.12.2019, 08:08

NTFS, с NTFS-3G можно записать в него с помощью Linux и смотреть на http://macntfs-3g.blogspot.com/ для Mac.

0
ответ дан 07.12.2019, 08:08

Теги

Похожие вопросы