Чи можна і чи слід використовувати UDF як формат жорсткого диска?


32

Нещодавно я бачив, як UDF пропонував рішення для крос-платформного формату для накопичувача, який використовується на Linux, Mac OS X та Windows XP та вище.

Я шукав тут і не знайшов тієї самої пропозиції (більшість з них пропонує ntfs-3g, який, здається, коштує грошей і не встановлений на Mac).

Отже, моє запитання: як це робиться правильно, і хтось це робив? Ви тоді заповнили накопичувач і видалили деякі файли, щоб зробити простір, виявивши, що все працює як справжній формат r / w, хоча, здається, це був передусім формат запису один раз?

Назвіть мене божевільним, але мені дуже сподобається, якщо система UDF також автоматично автоматизовується та записується користувачем, який увійшов у систему. Те, що я намагався до цього часу (форматування udftools, як згадує kicsyromy), не відповідає цьому бажанню.


1
Одне уточнення: ntfs-3gбезкоштовно. Його вихідний код - безкоштовно (тобто доступний безкоштовно). Він також вільний, як у свободі . ntfs-3gє драйвером NTFS в Ubuntu! Це трохи технічний , щоб вручну будувати / встановити його на OS X, і Tuxera (його розробник) пропонує власну версію PAYware , яка по суті вільний ntfs-3gдрайвер побудований і упаковані для легкої установки і використання на OS X. Без надбудови на водія, OS X буде читати (не записувати) томи NTFS, тому ви маєте рацію розглянути іншу файлову систему.
Елія Каган

@EliahKagan Отже, якщо ntfs-3g є "безкоштовним", то чому тоді Apple не включила його, щоб дозволити підтримку R / W для NTFS?
user29020

@ user29020 Я не знаю, поки Apple вирішить не включати його, але ви можете перевірити, що це безкоштовно, завантаживши вихідний код (зараз цей файл ), витягнути його і побачивши, що COPYINGфайл - це GPL GNU . Можливо, Apple не хотіла, щоб робота інтегрувала його, щоб його легко використовувати з Finder. Дивіться також tuxera.com/products/tuxera-ntfs-for-mac та sourceforge.net/projects/catacombae .
Елія Каган

1
@ user29020 Витрати на підтримку (що робити, якщо це трохи помилка)? Юридичні обмеження? Безкоштовно за ліцензією GNU GPL означає, що її можна додавати лише до існуючих джерел / бінарних файлів, які, в свою чергу, також доступні під GPL. (LGPL дозволить використовувати його як бібліотеку іншим не-GPL-кодом). Зважаючи на те, що код Apple в основному є власником, інакше згідно з APSL, що не є сумісною ліцензією GPL, це обмеження, яке вони повинні дотримуватися. gnu.org/philosophy/apsl.html
dlamblin

Відповіді:


14

Ні.

Ми знаходимось у 2015 році під час цієї відповіді. Я використовую OSX Yosemite, Ubuntu 14.10 та технічний попередній перегляд Windows 10 для підприємств на машині Mactel (Macmini 7,1).

Я спробував і UDF, і exFat. Я використовую Ubuntu для розробки і мені потрібні дозволи в стилі Unix.

Усі попередні посібники більше не застосовуються: драйвери UDF еволюціонували, і всі операційні системи приймуть розділ UDF, з більшою кількістю проблем та нестабільності, ніж я можу назвати.

  • Дисковод UDF відформатований на Mac OS: неможливо встановити на Windows 10.
  • Привід UDF відформатований в Linux: неможливо встановити на Windows 10.
  • Привід UDF відформатований у Windows 10: монтує читання / запис у Linux, лише для читання на OSX.

Однак Windows не дозволяє вказувати розмір блоку при форматуванні тома UDF, і, як результат, розмір вашого логічного блоку може відрізнятися від фізичного розміру блоку для розділу.

Мені незрозуміло, чи це стосується тих труднощів, які я мав при монтажі читання / запису на OSX, але після видалення певної кількості файлів за допомогою Linux я ніколи не зміг знову змонтувати накопичувач на OSX.

Система переходить у паніку ядра і ганебно руйнується.

Це та різноманітні відповіді на цю тему свідчать про непослідовну підтримку цього формату на даний момент.

Здавалося б, є способи використовувати об'єм NTFS, щоб досягти балансу між особливостями сучасної файлової системи, дозволами в стилі Unix - я можу їх встановити - і читати / записувати на всіх операційних системах.


1
OSX базується на BSD. Так, так, це паніка з ядром OSX Yosemite (10.10.2). Я в кінцевому підсумку використовував NTFS та NTFS 3d для OSX.
Мауро Коллела


1
@Argo в другому посиланні говориться: "-b 512 - це змусити розмір блоку файлової системи, рівний фізичному розміру блоку USB-накопичувача, як того вимагає специфікація UDF. Адаптуйте його, якщо вам пощастить мати USB-накопичувач із більш відповідний розмір блоку. " Таким чином, він дозволяє вказати розмір блоку, але він повинен бути вказаний як необхідне значення.
JDługosz

1
Windows 10, не встановлена ​​ОС X / OS X, не встановлена, обумовлена ​​різницею в тому, як кожна ОС обробляє таблиці розділів. Windows 10: потрібен один. Mac OS X: Потрібно UDF бути на голому диску, як цілий розділ диска.
DrYak

2
Існує інструмент верстки , який піклується про incosistencies: github.com/JElchison/format-udf
повертається

15

Хтось провів деякі дослідження, як відформатувати флешку з udf, щоб її можна було використовувати на якомога більшій кількості операційних систем. Ось його висновки (раніше там , зараз в автономному режимі):

  • Windows 7 має повну підтримку до UDF v2.6, але розмір блоку UDF повинен відповідати розміру блоку базового пристрою (який для USB-накопичувачів та більшості дисків становить 512 байт; диски «розширеного формату» - 4096 байт). Мабуть, диск повинен бути розділеним.

  • Linux 2.6.30 і вище підтримує UDF повністю принаймні до версії 2.5.

  • Mac OS X 10.5 підтримує UDF повністю до UDF 2.01, але лише при використанні на повноцінному диску, тому не розділений.

Як було пояснено вище, для жорстких дисків USB Windows вимагає розміщення диска. З іншого боку, UDF працює лише в OS X, коли він використовується на повноцінному диску (нерозподілений). Як не дивно, є рішення, яке працює і для обох: диск з розділеним і нерозділеним одночасно.

Таблиці розділів DOS зберігаються в байтах 446-510 основного запису завантаження. Цей основний запис завантаження зберігається в першому секторі на диску, сектор 0. Як правило, перший визначений розділ запускає кілька кілобайт далі. Однак видається можливим побудувати таблицю розділів, перший розділ якої починається з сектора 0, тому результатом є розділ, який містить саму таблицю розділів. Програми редактора розділів, схоже, відмовляються створювати таку таблицю, але принаймні останні ядра Linux та Windows, здається, не турбують.

Приємно те, що UDF не використовує (я думаю, навмисно) перші кілька кілобайт розділу чи диска, на який він розміщений, тому це місце справді можна використовувати для зберігання застарілої таблиці розділів, посилаючись на розділ, який охоплює ціле диск. Деякі тестування показують, що це справді працює в Linux, Windows та Mac OS X:

  • Монтує автоматично читання-запис у Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Можна використовувати лише для читання в Windows XP та використовуватись після встановлення командного рядка в Linux 2.6.0+
  • Підтримує великі файли, дозволи UNIX, імена файлів Unicode, символьні посилання, жорсткі посилання тощо.

Сценарій, щоб правильно відформатувати диск: скрипт Perl або сценарій Bash


12

Я щойно перевірив це у вітчизняній машині. Здається, що вам потрібно (повторно) створити свій розділ у Windows, призначити йому букву диска, але не форматувати його в будь-якій файловій системі. Після цього завантажте Ubuntu і просто дотримуйтесь інструкцій, і він повинен працювати для читання / запису.

Не забудьте створити резервну копію всіх своїх даних!

Спочатку встановіть інструменти UDF:

sudo apt-get install udftools

Замініть перший блок нічим на розділі, який ви хочете відформатувати на UDF ^:

sudo dd if=/dev/zero of=/dev/sdxN bs=512 count=1

І нарешті відформатувати до UDF ^:

sudo mkudffs --media-type=hd --blocksize=512 /dev/sdxN

^ де за:

  • x є заповнювачем для букви, присвоєного вашому жорсткому диску

  • N - заповнювач для номера розділу

Пощастило і дай мені знати, чи вдалося тобі.


Завдяки цьому відповідає на те, як; Мені все одно було б цікаво дізнатися, чи працює він досить добре з вищевказаним сценарієм.
dlamblin

Це прекрасно працювало для мене. Єдине питання полягає в тому, що мені доведеться вручну монтувати розділ у Windows за допомогою диспетчера дисків. Крім цього, я можу підтвердити, що він працює і з декількома розділами на жорсткому диску (я використовую 1udf + 2ext4)
Nemo

Ключовим тут, здається, є власне створити розділ, а потім створити там файлову систему UDF. Якщо ви не створите жодного розділу, він буде працювати в Linux, але він не буде в Windows (7). Це мій досвід.
DanMan

@DanMan Дан, схоже, знайшов когось, хто вирішив цю проблему і надає сценарій для форматування цілого диска з UDF для Linux, Mac та Windows 7, а також лише для читання в Win XP.
dlamblin

@kicsyromy: форматування розділу (sdxN) в UDF не вийшло, виконання файлів sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1дає таке повідомлення про помилку: trying to change type of multiple extents Однак мені вдалося форматувати UDF за допомогою всього диска (sdd), як описано тут: superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Тім Банчі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.