¿Se puede y se debe usar UDF como formato de disco duro?

32

Recientemente, he visto a UDF sugerido como la solución a un formato multiplataforma para una unidad utilizada en Linux, Mac OS X y Windows XP y superior.

He buscado aquí y no he encontrado la misma sugerencia (la mayoría sugiere ntfs-3g que parece costar dinero y no está preinstalado en una Mac).

Entonces mi pregunta es: ¿cómo se hace esto bien, y alguien ha hecho esto? ¿Luego llenó el disco y eliminó algunos archivos para hacer espacio y descubrir que todo funciona como un formato real de r / w, aunque parece haber sido principalmente un formato de escritura única?

Llámame loco, pero realmente me gustaría que el sistema UDF también se montara automáticamente y pudiera ser escrito por el usuario conectado. Lo que he probado hasta ahora (el formato de udftools como lo menciona kicsyromy) no responde a este deseo.

dlamblin
fuente
1
Una aclaración: ntfs-3ges gratis. Su código fuente es gratis (es decir, disponible sin costo). También es gratis como en libertad . ntfs-3ges el controlador NTFS en Ubuntu! Es un poco técnico construirlo / instalarlo manualmente en OS X, y Tuxera (su desarrollador) ofrece una versión patentada de pago que es esencialmente el ntfs-3gcontrolador gratuito creado y empaquetado para una fácil instalación y uso en OS X. Sin un controlador adicional, OS X solo leerá (no escribirá) volúmenes NTFS, por lo que tiene razón al considerar otro sistema de archivos.
Eliah Kagan
@EliahKagan Entonces, si ntfs-3g es "gratis", ¿por qué Apple no lo ha incluido para permitir el soporte de r / w para NTFS?
user29020
@ user29020 No sé si Apple elige no incluirlo, pero puede verificar que es gratis descargando el código fuente (actualmente este archivo ), extrayéndolo y viendo que el COPYINGarchivo es GNU GPL . Tal vez Apple no quería hacer el trabajo de integrarlo para que se usara sin problemas desde Finder. Consulte también tuxera.com/products/tuxera-ntfs-for-mac y sourceforge.net/projects/catacombae .
Eliah Kagan
1
@ user29020 Costos de soporte (¿qué pasa si es un poco defectuoso)? ¿Restricciones jurídicas? Gratis bajo la Licencia GNU GPL significa que solo se puede agregar a fuentes / binarios existentes que a su vez también están disponibles bajo la GPL. (LGPL permitiría que otro código que no sea GPL lo use como biblioteca). Dado que el código de Apple es en gran medida propietario y de lo contrario bajo la APSL, que no es una licencia compatible con GPL, esa es una restricción que deben cumplir. gnu.org/philosophy/apsl.html
dlamblin

Respuestas:

14

No.

Estamos en 2015 en el momento de esta respuesta. Estoy usando OSX Yosemite, Ubuntu 14.10 y la vista previa técnica de Windows 10 para empresas en una máquina Mactel (Macmini 7,1).

Intenté UDF y exFat. Uso Ubuntu para el desarrollo y necesito permisos de estilo Unix.

Todas las guías anteriores ya no se aplican: los controladores UDF han evolucionado y todos los sistemas operativos aceptarán una partición UDF, con más problemas e inestabilidades de las que puedo nombrar.

  • Unidad UDF formateada en Mac OS: no se puede montar en Windows 10.
  • Unidad UDF formateada en Linux: no se puede montar en Windows 10.
  • Unidad UDF formateada en Windows 10: monta lectura / escritura en Linux, solo lectura en OSX.

Sin embargo, Windows no le permite especificar un tamaño de bloque al formatear un volumen UDF y, como resultado, el tamaño de su bloque lógico puede diferir del tamaño de bloque físico para la partición.

No estoy claro si esto tiene que ver con las dificultades que tuve al montarlo lectura / escritura en OSX, pero después de eliminar una cierta cantidad de archivos usando Linux, nunca pude volver a montar el disco en OSX.

El sistema entra en pánico del kernel y se bloquea vergonzosamente.

Esto, y una variedad de respuestas sobre el tema, indican un soporte inconsistente para este formato en este momento.

Parece que hay formas en que puedo usar un volumen NTFS para lograr un equilibrio entre las características de un sistema de archivos moderno, los permisos de estilo Unix, podría configurarlos, y el montaje de lectura / escritura en todos los sistemas operativos.

Mauro Colella
fuente
1
OSX se basa en BSD. Entonces sí, es OSX Yosemite (10.10.2) el que experimenta un pánico en el núcleo. Terminé usando NTFS y NTFS 3d para OSX.
Mauro Colella
1
@Argo los segundos estados de referencia, "El -b 512 es forzar un tamaño de bloque del sistema de archivos igual al tamaño de bloque físico de la memoria USB, como lo requiere la especificación UDF. Adaptarlo si tiene la suerte de tener una memoria USB con un tamaño de bloque más apropiado ". Por lo tanto, le permite especificar el tamaño del bloque, pero debe especificarse como el valor requerido.
JDługosz
1
El Windows 10 no montado por OS X / OS X no montado se debe a la diferencia en cómo cada SO maneja las tablas de particiones. Windows 10: necesita uno. Mac OS X: necesita que UDF esté en la unidad desnuda, como una partición de unidad completa.
DrYak
2
Hay una herramienta de formateo que se encarga de las incosistencies: github.com/JElchison/format-udf
Velop
15

Alguien investigó cómo formatear una unidad flash con udf para que pueda usarse en tantos sistemas operativos como sea posible. Aquí están sus hallazgos (solía estar allí , ahora fuera de línea):

  • Windows 7 tiene soporte completo hasta UDF v2.6, pero el tamaño de bloque UDF debe coincidir con el tamaño de bloque del dispositivo subyacente (que para memorias USB y la mayoría de los discos es de 512 bytes; los discos de "formato avanzado" son 4096 bytes). Aparentemente, el disco debe estar particionado.

  • Linux 2.6.30 y superior admite UDF completamente al menos hasta la versión 2.5.

  • Mac OS X 10.5 admite UDF completamente hasta UDF 2.01, pero solo cuando se usa en un disco completo, por lo que no está particionado.

Como se explicó anteriormente, para los discos duros USB, Windows requiere que el disco esté particionado. Por otro lado, UDF solo funciona en OS X cuando se usa en un disco lleno (sin particiones). Sorprendentemente, hay una solución que funciona para ambos: tener el disco particionado y no particionado al mismo tiempo.

Las tablas de partición de DOS se almacenan en bytes 446-510 del registro de arranque maestro. Este registro de arranque maestro se almacena en el primer sector en el disco, sector 0. Por lo general, la primera partición especificada comenzará algunos kilobytes más. Sin embargo, parece posible construir una tabla de particiones cuya primera partición comienza en el sector 0, por lo que el resultado es una partición que contiene la tabla de particiones en sí. Los programas del editor de particiones parecen negarse a crear una tabla de este tipo, pero al menos los núcleos recientes de Linux y Windows no parecen molestar.

Lo bueno es que UDF no usa (supongo deliberadamente) los primeros kilobytes de la partición o el disco en el que se coloca, por lo que este lugar realmente se puede usar para almacenar una tabla de particiones heredada, refiriéndose a una partición que abarca todo el conjunto disco. Algunas pruebas muestran que esto realmente funciona en Linux, Windows y Mac OS X:

  • Se monta automáticamente lectura-escritura en Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Se puede usar solo lectura en Windows XP y después de un montaje de línea de comandos en Linux 2.6.0+
  • Admite archivos grandes, permisos UNIX, nombres de archivo Unicode, enlaces simbólicos, enlaces duros, etc.

Script para formatear el disco correctamente: script Perl o script Bash

Dan Benamy
fuente
12

Acabo de probar esto en una máquina virtual. Parece que necesita (re) crear su partición en Windows, asignarle una letra de unidad pero no formatearla en ningún sistema de archivos. Después de eso, inicie Ubuntu y solo siga las instrucciones y debería funcionar para lectura / escritura.

¡Recuerde hacer una copia de seguridad de todos sus datos!

Primero instale las herramientas UDF:

sudo apt-get install udftools

Reemplace el primer bloque con nada en la partición que desea formatear en UDF ^:

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

Y finalmente formatear a UDF ^:

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

^ donde por:

  • x es un marcador de posición para la letra asignada actualmente a su disco duro

  • N es un marcador de posición para el número de partición

Mucha suerte y avísame si te funcionó.

kicsyromy
fuente
Gracias esto responde el cómo; Todavía estaría interesado en averiguar si funciona lo suficientemente bien con el escenario anterior.
dlamblin
Esto funcionó perfectamente para mí. El único problema es que tengo que montar manualmente la partición en Windows usando el Administrador de discos. Aparte de eso, puedo confirmar que también funciona con múltiples particiones en el disco duro (estoy usando 1udf + 2ext4)
Nemo
La clave aquí parece ser crear una partición y luego crear un sistema de archivos UDF allí. Si no crea ninguna partición, funcionará en Linux, pero no en Windows (7). Esa es mi experiencia.
DanMan el
@ Danman Dan parece haber encontrado a alguien que resolvió ese problema y proporciona un script para formatear un disco completo con UDF para Linux, Mac y Windows 7, así como solo lectura en Win XP.
dlamblin
@kicsyromy: formatear una partición (sdxN) a UDF no funcionó, la ejecución sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1da el siguiente mensaje de error: trying to change type of multiple extents Sin embargo, logré formatear UDF usando todo el disco (sdd) como se describe aquí: superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Tim Banchi