¿Con qué herramienta debo formatear un disco duro como UDF?

32

(Este es un seguimiento de " ¿Cuál es la identificación de la partición / tipo de sistema de archivos para UDF? ")

Conozco dos formas de formatear un disco duro como UDF:

  • Windows Vista o posterior: " format x: /fs:UDF" (¡no lo use /q!)
  • Linux: " mkudffs --media-type=hd --blocksize=512 /dev/sdx"

El problema es que el 'otro' sistema operativo no reconoce el disco como formateado en absoluto: simplemente se niega a montarlo, sin importar qué comandos intente.

¿Cómo puedo formatear un disco duro como UDF para que Windows y Linux puedan usarlo?

EDITAR: actualizó los comandos, ahora el resultado debería funcionar en cualquier sistema operativo.

Skolima
fuente
UDF fue diseñado para medios ópticos, ¿tal vez ese es el problema?
Chopper3
1
El comando que das funciona muy bien en Linux. Formateé en Karmic, y puedo leer y escribir tanto en Windows 7 como en Karmic.
Matt Joiner
44
No olvide poner a cero el MBR primero (dd if = / dev / zero of = / dev / sdx bs = 512 count = 1), para evitar confusiones con cualquier tabla de particiones sobrante (ya que UDF no usa el primer sector).
CesarB
1
Gracias Skolima, esto es genial. Adiós FAT32. Solo necesito tener cuidado de mantener la versión 2.01 UDF y el tamaño de bloque 512 y tengo la partición perfecta del disco duro compartida en Linux y Windows.
MarcH

Respuestas:

17

Resulta que el uso del /qinterruptor en Windows fue el culpable: permite el "formato rápido", es decir, el proceso de formateo continúa en segundo plano con cada escritura realizada en el disco. Una vez que termina, Linux maneja el disco muy bien.

Skolima
fuente
Por otro lado, el formateo con mkudffs de Linux parece completarse con éxito en segundos.
MarcH
De hecho, tuve que hacer un formato rápido en Win7 después de crear el sistema de archivos con mkudffs en Linux. Sin eso, Windows seguía queriendo formatear el disco. Terminó creando un espacio vacío de 5 MB al final de la unidad, por cualquier razón. Pero al menos funciona en ambos sistemas operativos ahora.
DanMan
En respuesta a mí mismo: esos 5 MB podrían ser el bloque de metadatos en versiones recientes de UDF.
DanMan
1
¡Completamente equivocado! El formateo rápido NO es "formato continuo en segundo plano". Es solo la inicialización del sistema de archivos sin formatear pistas.
Anixx
6

Al formatear UDF, una cosa que no se puede subrayar lo suficiente es lo importante que es usar el tamaño de bloque adecuado al formatear UDF. Como se explica aquí , usar un tamaño de bloque configurado que no coincida con el tamaño del sector físico probablemente significa que algunos sistemas operativos no podrán detectar la unidad como UDF válida.

Inspirado por la respuesta vinculada anteriormente (y mis otras investigaciones / pruebas), escribí un script para automatizar el proceso de formateo en UDF, utilizando el tamaño de sector detectado correctamente. Ver format-udf en GitHub . Características notables:

  • Formatea una unidad de bloque (disco duro o unidad flash) en formato de disco universal (UDF)
    • Revisión 2.01 UDF utilizada para máxima compatibilidad
    • Los primeros 4096 sectores se reducen a cero para borrar cualquier MBR existente (necesario para la detección adecuada de UDF)
  • El sistema de archivos resultante se puede leer / escribir en varias familias de sistemas operativos (Windows, OS X y Linux)
  • Se ejecuta en cualquier sistema operativo que tenga un entorno Bash

Debido al último punto, este script que escribí no se puede usar en Windows. Sin embargo, el script se ejecutará en OS X y Linux. Después de hacerlo, Windows debería poder detectar mágicamente la unidad UDF recién formateada.

Para responder directamente a las preguntas publicadas, format-udf:

  • elija la herramienta adecuada para formatear según el sistema operativo y el entorno ( mkudffsen Linux)
  • Detecta y completa automáticamente todos los parámetros necesarios para formatear (incluido blocksize)
  • maximizar la compatibilidad del sistema operativo (consulte la página de GitHub para ver el cuadro de compatibilidad)
  • producir el conjunto máximo de características (y limitaciones mínimas) que el autor de la búsqueda está buscando
j0nam1el
fuente
5

¿Cómo reconcilió su descubrimiento en la pregunta anterior (que el sistema de archivos UDF debería crearse en todo el disco, no en una partición) con ese comando de Windows ("formato x: / fs: UDF")? En mis intentos, Windows solo da letras de unidad a las particiones.

En cuanto al formato para compatibilidad, creo que la clave está en el tamaño del bloque. Dado que la mayoría de los discos duros y las memorias USB tienen un tamaño de bloque de 512 bytes, tuve la mayor compatibilidad cuando creo el FS de ese tamaño de bloque. Creo que format.com está usando ese tamaño de bloque, y mkudffs tiene un interruptor de comando para cambiar el tamaño del bloque. Solo pude hacer que OS X y Windows monten el sistema de archivos cuando usé bloques de 512 bytes. Las versiones anteriores de Linux suponían un tamaño de bloque de 2048, pero siempre se puede montar con "-o bs = 512".

Todo el problema de disco vs partición todavía causa problemas de compatibilidad. Windows no se montará cuando formatee todo el disco, y OS X no se ve más allá del número de tipo de la partición al determinar su sistema de archivos, lo que me obliga a montarlo manualmente. A Linux no le importaba, siempre que le diera el nombre de dispositivo apropiado (sda vs sda1).

En resumen, la configuración más compatible que he encontrado es una partición simple del tipo 06 (FAT16), formateada con UDF en el tamaño de bloque 512. Funciona automáticamente en Windows y una pequeña intervención manual en Linux y OS X.

Simon
fuente
3
He intentado otro experimento. Esta vez utilicé una memoria USB en lugar de un disco duro. Formateado con "mkudffs --media-type = hd --blocksize = 512 / dev / sda", funciona sin problemas en Linux, OS X y Vista. Lástima que Windows parezca permitir formatos sin particiones en memorias USB pero no en discos duros.
Simon
Definitivamente desea mantener el mismo tamaño de bloque para evitar el uso prematuro de la memoria flash, consulte: lwn.net/Articles/428584
MarcH