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.