За допомогою якого інструменту я повинен форматувати жорсткий диск як UDF?


32

(Це подання до " Який тип розділу / файлової системи для UDF? ")

Я знаю два способи форматування жорсткого диска як UDF:

  • Windows Vista або новішої версії: " format x: /fs:UDF" (не використовувати /q!)
  • Linux: " mkudffs --media-type=hd --blocksize=512 /dev/sdx"

Проблема полягає в тому, що "інша" ОС не розпізнає диск як відформатований: він просто відмовляється монтувати його, незалежно від того, які команди я намагаюся.

Як я можу відформатувати жорсткий диск як UDF, щоб і Windows, і Linux змогли ним користуватися?

EDIT: оновлено команди, тепер результат повинен працювати в будь-якій ОС.


UDF був розроблений для оптичних носіїв, можливо, це проблема?
Chopper3

1
Команда, яку ви даєте, відмінно працює в Linux. Я відформатований на Karmic і можу читати та писати під Windows 7 та Karmic.
Метт Столяр

4
Не забувайте спочатку нулю MBR (dd, якщо = / dev / zero of = / dev / sdx bs = 512 count = 1), щоб уникнути плутанини з будь-якою таблицею залишків розділу (оскільки UDF не використовує перший сектор).
CesarB

3
Питання, пов’язані з цим: superuser.com/questions/39942/using-udf-on-a-usb-flash-drive
CesarB

1
Спасибі Сколіма, це чудово. До побачення FAT32. Мені потрібно лише бути обережним, щоб дотримуватися UDF версії 2.01 та розміру блоку 512, і я маю ідеальний розділ жорсткого диска, який поділяється на Linux та Windows.
MarcH

Відповіді:


17

Виявляється, /qвинуватцем використання перемикача в Windows було: він дає можливість "швидкого форматування", тобто процес форматування триває у фоновому режимі при кожному записі, зробленому на диск. Як тільки він закінчується, Linux обробляє накопичувач просто чудово.


З іншого боку, форматування за допомогою mkudffs Linux, здається, завершиться за лічені секунди.
Марч

Я фактично повинен був зробити швидкий формат у Win7 після створення файлової системи з mkudffs в Linux. Без цього Windows просто хотіла відформатувати накопичувач. Зрештою, це створило порожній простір на 5 Мб в кінці диска з будь-якої причини. Але принаймні це працює в обох ОС зараз.
DanMan

У відповідь собі: ці 5 Мб можуть бути блоком метаданих в останніх версіях UDF.
DanMan

1
Зовсім неправильно! Швидке форматування НЕ "продовження формату у фоновому режимі". Це просто ініціалізація файлової системи без форматування доріжок.
Anixx

6

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

Надихнувшись вищезазначеною відповіддю (та іншими моїми дослідженнями / тестуваннями), я написав сценарій для автоматизації процесу форматування в UDF - використовуючи правильно виявлений розмір сектора. Дивіться формат-udf на GitHub . Помітні функції:

  • Форматує блок-диск (жорсткий диск або флеш-диск) у форматі універсального диска (UDF)
    • Версія UDF 2.01 використовується для максимальної сумісності
    • Перші 4096 секторів нульові, щоб стерти будь-який існуючий MBR (необхідний для правильного виявлення UDF)
  • Результатна файлова система може бути прочитана / записана в декількох сімействах операційної системи (Windows, OS X та Linux)
  • Працює в будь-якій ОС, що має середовище Bash

Через останню точку цього сценарію, який я написав, не можна використовувати в Windows. Однак сценарій буде працювати в OS X та Linux. Після цього Windows повинна мати можливість чарівно виявити щойно відформатований привід UDF.

Щоб безпосередньо відповісти на розміщені запитання, format-udf:

  • вибрати відповідний інструмент для форматування на основі операційної системи та середовища ( mkudffsв Linux)
  • автоматично виявляє та заповнює всі параметри, необхідні для форматування (у тому числі blocksize)
  • максимізувати сумісність з ОС (див. сторінку GitHub для діаграми сумісності)
  • отримати максимальний набір функцій (і мінімальні обмеження), які шукає запитувач

5

Як ви узгодили своє відкриття в попередньому запитанні (що файлова система UDF повинна бути створена на всьому диску, а не на розділі) з цією командою Windows ("формат x: / fs: UDF")? У моїх спробах Windows надає лише листи диска розділам.

Що стосується форматування сумісності, я думаю, що ключ полягає в розмірі блоку. Оскільки більшість жорстких дисків та флеш-накопичувачів USB мають розмір блоку 512 байт, у мене була найбільша сумісність, коли я створював FS, який розміру блоку. Я думаю, що format.com використовує цей розмір блоку, і mkudffs має командний перемикач для зміни розміру блоку. Я міг отримати ОС X і Windows для монтажу файлової системи лише тоді, коли я використовував 512 байт-блоки. Старіші версії Linux передбачали розмір блоку 2048, але ви завжди зможете монтувати за допомогою "-o bs = 512".

Проблема з сумісністю все ще викликає проблеми з диском та розділами. Windows не буде монтуватися, коли я відформатую весь диск, а OS X не визначає номер типу розділу при визначенні його файлової системи, змушуючи мене встановлювати його вручну. Linux не хвилювався, доки я дав йому відповідне ім'я пристрою (sda vs sda1).

Підсумовуючи, найбільш сумісна установка, яку я знайшов, - це окремий розділ типу 06 (FAT16), відформатований з UDF в розмірі блоку 512. Працює автоматично в Windows, і невеликий шматочок вручну втручання в Linux та OS X.


3
Я спробував ще один експеримент. Цього разу я використовував флешку USB замість жорсткого диска. Відформатований з "mkudffs --media-type = hd --blocksize = 512 / dev / sda", працює без клопоту в Linux, OS X та Vista. Дуже погано, здається, що Windows дозволяє формати без розділів на USB-накопичувачах, але не на жорстких дисках.
Саймон

Ви безумовно хочете , щоб зберегти той же розмір блоку , щоб уникнути передчасного носіння флеш - пам'яті, див: lwn.net/Articles/428584
БЕРЕЗЕНЬ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.