¿Cuál es el tipo de identificación de partición / sistema de archivos para UDF?

10

Esto es probablemente trivial para verificar usando cfdisk en un CD / DVD / Blu-Ray con formato UDF, pero no tengo ninguno de ellos a la mano.

He creado una partición con formato UDF en un disco duro USB para compartir datos entre computadoras Linux y Windows (FAT no maneja archivos de 4GB, el soporte de derechos de acceso NTFS no es estable en Linux). Ahora solo tengo un problema: Windows se niega a montar la partición ya que la identificación del tipo de sistema de archivos está configurada en '83' ('Linux'). He mirado bastante y no puedo encontrar qué número debo poner allí.

(seguimiento: " ¿Con qué herramienta debo formatear un disco duro como UDF? ")

skolima
fuente
2
No creo que obtenga resultados significativos de la ejecución de cfdisk en un CD, DVD o Blu-Ray. Las particiones se configuran con unos pocos bytes del MBR, que existe en discos duros y pen-drives, no en disquetes o medios ópticos.
Juliano el

Respuestas:

9

La respuesta es el tipo de partición 06 (FAT16). No me preguntes por qué, pregúntale a Microsoft.


fuente
Más de 5 años después, esta simple respuesta me ayudó inmensamente. Gracias "user48160" a quien sea y donde quiera que estés ahora.
JakeGould
6

Resulta que no hay una tabla de particiones para UDF y no hay una ID de partición asignada. Este sistema de archivos tiene que abarcar todo el disco para que Windows lo reconozca. Formatear un disco duro como UDF no toca la tabla de particiones existente (tenga cuidado: contendrá información obsoleta, y si monta su unidad usándola, ¡destruirá los datos!).

Como curiosidad, UDF 2.5 y posteriores crean particiones separadas (una o dos por disco) para metadatos. Sin embargo, esas particiones tampoco son visibles en la tabla de particiones estándar de DOS.

skolima
fuente
1
Acabo de formatear como UDF una de las particiones lógicas (MBR) en mi disco duro y Windows 7 no tuvo ningún problema
MarcH
@MarcH: entonces, ¿qué ID de partición Windows o alguna herramienta informa que tiene la partición? (tuve problemas para formular la pregunta, perdón si está mal formada)
ata
@Juaco desplácese hacia abajo para obtener la respuesta. O echa un vistazo a BOOTICE.
MarcH
Algunas herramientas de partición le permiten crear particiones sin sistema de archivos. Exactamente lo que necesita para asignarle una letra de unidad en Windows y luego formatearla en UDF.
DanMan
3

Respuesta corta: sugeriría usar MBR id 0x07 para particiones UDF.


Respuesta larga:

Linux no se preocupa por los identificadores de partición MBR y lo ignora (*).

Windows 2000 y versiones posteriores pueden asignar una letra de unidad a alguna partición con id PartitionType si y solo si IsRecognizedPartition (PartitionType) es verdadero. Además, para las particiones que no son FT, se debe considerar que IsFTPartition (PartitionType) es falsa (de lo contrario, esa partición se detecta como FT y no como FAT / NTFS / UDF / ...).

La condición IsRecognizedPartition (PartitionType) &&! IsFTPartition (PartitionType) se aplica a estos identificadores de partición MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Lo que significa que Windows 2000 (y nuevo) puede reconocer y usar la partición UDF si la identificación de la partición MBR es una de esas. Probablemente no haya otras restricciones y cualquier sistema de archivos compatible acepta la partición con cualquiera de esos ID de MBR. Lo que significa que esos ID de MBR no se utilizan para la detección del sistema de archivos.

Pero hay algunas recomendaciones de Microsoft cuando se debe usar PartitionType en particular :

  • 0x01 - Partición primaria FAT12 o unidad lógica (menos de 32,680 sectores en el volumen)
  • 0x04: partición FAT16 o unidad lógica (32,680–65,535 sectores o 16 MB – 33 MB)
  • 0x06 - Partición BIGDOS FAT16 o unidad lógica (33 MB – 4 GB)
  • 0x07 - Sistema de archivos instalable (partición NTFS o unidad lógica)
  • 0x0B: partición FAT32 o unidad lógica
  • 0x0C: partición FAT32 o unidad lógica que utiliza extensiones BIOS INT 13h (***)
  • 0x0E - Partición BIGDOS FAT16 o unidad lógica que usa extensiones BIOS INT 13h (***)

Y también significado por Microsoft:

  • 0x01: especifica una partición con entradas FAT de 12 bits.
  • 0x04: especifica una partición con entradas FAT de 16 bits.
  • 0x06: especifica una gran partición MS-DOS V4.
  • 0x07: especifica una partición IFS.
  • 0x0B: especifica una partición FAT32.
  • 0x0C - Windows 95/98: especifica una partición que usa servicios INT 13 extendidos.

En Wikipedia se pueden encontrar también algunas recomendaciones:

  • 0x01 - CHS / LBA - DOS 2.0+ - FAT12 como partición primaria en el primer disco físico de 32 MB ... (de lo contrario, use 0x06 en su lugar)
  • 0x04 - CHS / LBA - DOS 3.0+ - FAT16 con menos de 65536 sectores (32 MB) ... (de lo contrario, use 0x06 en su lugar)
  • 0x06 - CHS / LBA - DOS 3.31+ - FAT16B con 65536 o más sectores. Debe residir en los primeros 8 GB físicos de disco ... (de lo contrario, use 0x0E). También se usa para volúmenes FAT12 y FAT16 en particiones primarias si no residen en el primer disco físico de 32 MB.
  • 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
  • 0x0B - CHS / LBA - DOS 7.1+ - FAT32 con direccionamiento CHS
  • 0x0C - LBA - DOS 7.1+ - FAT32 con LBA
  • 0x0E - LBA - DOS 7.0+ - FAT16B con LBA

Para completar la lista de identificadores, aquí hay información sobre sistemas más antiguos que no admiten la partición de disco duro formateada en UDF.

Windows NT 4.0 y versiones anteriores pueden asignar una letra de unidad solo a particiones con ID de MBR: 0x01, 0x04, 0x06, 0x07.

Windows basado en DOS (95, 98 y ME) puede asignar una letra de unidad solo a particiones con ID de MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. El MS-DOS solo puede acceder a particiones con ID de MBR: 0x01, 0x04, 0x06. Tenga en cuenta que estos sistemas utilizan la identificación de partición MBR para la detección del sistema de archivos. La identificación de la partición MBR debe coincidir con el sistema de archivos en la partición.

Conclusión:

Mire el tamaño de la partición: 0x01 y 0x04 deben usarse solo para particiones en los primeros 32 MB de disco. 0x06 solo en los primeros 8 GB de disco. 0x0B es para direccionamiento CHS que tiene límite para discos de 8GB. Entonces, sin tales límites, solo hay identificadores: 0x07, 0x0C y 0x0E. Como 0x0C y 0x0E se usan para particiones FAT, sugeriría elegir 0x07 . Es malo para las particiones IFS (Sistema de archivos instalable) y, según Wikipedia, Microsoft agregó soporte para UDF en la API IFS de Windows 2000. El uso de 0x0C o 0x0E hará que los sistemas basados ​​en DOS muestren esa partición como FAT, incluso si se formateará como UDF. Las particiones con MBR id 0x07 están ocultas en esos sistemas. No son compatibles con UDF, por lo tanto, es una mejor opción como 0x0C o 0x0E.

GPT:

El diseño de la partición GPT está fuera de esta cuestión, pero tiene un problema similar al MBR. No hay un GUID de partición (GPT equivalente para la identificación de MBR) asignado para UDF. Debido a que Windows XP x64 admite UDF y puede reconocer la partición de datos GPT solo con GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Partición de datos básica de Microsoft), es la única opción posible para GPT.

Fuentes:

(*) Hay una excepción: los ID de MBR 0x05, 0x0F y 0x85 se utilizan para la detección de particiones MBR extendidas.
(**) Las definiciones de esas dos llamadas se pueden encontrar en el archivo WinIoCtl.h, ya que se declaran como macros C.
(***) Las extensiones BIOS INT 13h significan el uso de LBA en lugar de CHS.

Pali
fuente
Esta página indica que las particiones 0x0E deben ser más pequeñas que 2 GiB. Lo que significa que para UDF, debe ser 0x07 o 0x0C. Esto último me suena mejor, especialmente cuando lees la página vinculada. ¡Investigación impresionante, me quito el sombrero!
Milind R
2

En los CD y DVD con los que trato, no hay una tabla de particiones. En su disco duro USB, ha escrito una tabla de particiones en los medios. Sospecho que si formatea toda la unidad como un disco UDF sin la tabla de particiones, Windows no tendrá problemas para montarla.

No dice qué tamaño tiene su unidad USB, y puede ser reacio a dedicar toda la unidad como UDF, puede intentar configurar el tipo de partición con fdisk como NTFS o uno de los otros tipos de MS 'compatibles'.

codeDr
fuente
También estoy arrancando Linux desde la misma unidad, por lo que necesito una partición para tener un formato compatible con grub. Me acabo de enterar de que grub2 (experimental) puede arrancar Linux desde UDF, así que intentaré esto.
skolima 03 de
0

Tengo el mismo problema Mi disco duro USB es de 320 GB. La tabla de particiones se ve así:

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       27963   224612766    c  W95 FAT32 (LBA)
/dev/sda2           27964       38913    87955875    5  Extended
/dev/sda5           27964       33366    43399566    7  HPFS/NTFS
/dev/sda6           33367       38913    44556246   83  Linux

Partición sda5 es una rev UDF. 1.5 y debe ser legible por Windows XP y superior. Linux lo lee correctamente, por supuesto. Windows, sin embargo, está confundido. Reconoce la partición como NTFS y luego supone que es una partición sin formato.

Mi experimento con UDF en pendrive me mostró que los sistemas tienden a confundir UDF con FAT. Interpretan UDF como FAT. Debe tener similitudes bastante grandes porque puedo ver la estructura del directorio de caracteres aleatorios. Linux dice que el disco está dañado pero no se niega a usarlo.

Creo que UDF (al menos rev 1.5) no es compatible con unidades USB.


fuente
1
Si el medio solía tener FAT, puede haber restos que causen que UDF se confunda con FAT. Debe asegurarse de que la FAT esté limpia / puesta a cero antes de formatear con UDF.
osvein