10 votos

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

Probablemente sea trivial comprobarlo usando cfdisk en un CD/DVD/Blu-Ray con formato UDF, pero no tengo ninguno de ellos a mano.

He creado una partición con formato UDF en un disco duro USB para compartir datos entre ordenadores Linux y Windows (FAT no maneja archivos de 4GB, el soporte de derechos de acceso NTFS no es estable en Linux). Ahora sólo tengo un problema: Windows se niega a montar la partición porque el identificador de tipo de sistema de archivos está configurado como '83' ('Linux'). He buscado bastante y no encuentro qué número debo poner ahí.

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

2 votos

No creo que se obtengan resultados significativos al ejecutar cfdisk en un CD, DVD o Blu-Ray. Las particiones se establecen por unos pocos bytes del MBR, que resulta que existe en los discos duros y pen-drives, no en los disquetes o medios ópticos.

10voto

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

6voto

skolima Puntos 742

Resulta que no hay tabla de partición para UDF y no hay ningún ID de partición asignado. Este sistema de archivos tiene que abarcar todo el disco para ser reconocido por Windows. Formatear un disco duro como UDF no toca la tabla de particiones existente (tenga cuidado - contendrá información obsoleta, y si monta su disco usándolo, destruirá los datos).

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

1 votos

Acabo de formatear como UDF una de las particiones lógicas (MBR) de mi disco duro y Windows 7 no ha tenido ningún problema con ella

0 votos

@MarcH: ¿entonces qué ID de partición informa Windows o alguna herramienta que tiene la partición? (tuve problemas para formular la pregunta, lo siento si está mal formada)

0 votos

@Juaco desplázate hacia abajo para ver la respuesta. O echa un vistazo a BOOTICE.

4voto

Pali Puntos 123

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


Respuesta larga:

A Linux no le importan los identificadores de partición MBR y los ignora (*).

Windows 2000 y posteriores pueden asignar una letra de unidad a la partición con id Tipo de partición si y sólo si IsRecognizedPartition(PartitionType) es cierto. Además, para las particiones que no son FT debe cumplirse que IsFTPartition(Tipo de partición) es falso (de lo contrario esa partición se detecta como FT y no como FAT/NTFS/UDF/... ordinaria).

Condición IsRecognizedPartition(PartitionType) && !IsFTPartition(PartitionType) se aplican a estos identificadores de partición MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Lo que significa que Windows 2000 (y los nuevos) pueden reconocer y utilizar la partición UDF si el id de la partición MBR es uno de ellos. Probablemente no hay ninguna otra restricción y cualquier sistema de archivos soportado acepta la partición con cualquiera de esos identificadores MBR. Lo que significa que esos ids de MBR no se usan para la detección del sistema de archivos.

Pero hay algunos recomendación por Microsoft cuando se trata de Tipo de partición debe ser utilizado:

  • 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 utilizando extensiones BIOS INT 13h (***)

Y también significa de 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 partición enorme de MS-DOS V4.
  • 0x07 - Especifica una partición IFS.
  • 0x0B - Especifica una partición FAT32.
  • 0x0C - Windows 95/98: Especifica una partición que utiliza 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 los primeros 32 MB físicos del disco ... (si no, utilice 0x06 en su lugar)
  • 0x04 - CHS/LBA - DOS 3.0+ - FAT16 con menos de 65536 sectores (32 MB) ... (si no, utilice 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 del disco ... (si no, utilice 0x0E en su lugar). También se utiliza para volúmenes FAT12 y FAT16 en particiones primarias si no residen en los primeros 32 MB físicos del disco.
  • 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 ids, aquí hay alguna información sobre los sistemas más antiguos que no soportan la partición de disco duro con formato UDF.

Windows NT 4.0 y anteriores sólo pueden asignar una letra de unidad a las particiones con MBR id: 0x01, 0x04, 0x06, 0x07.

Windows basado en DOS (95, 98 y ME) puede asignar una letra de unidad sólo a las particiones con ids MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. El propio MS-DOS sólo puede acceder a particiones con ids MBR: 0x01, 0x04, 0x06. Tenga en cuenta que estos sistemas utilizan el id de partición MBR para detectar el sistema de archivos. El identificador de partición MBR debe coincidir con el sistema de archivos de la partición.

Conclusión:

Mire el tamaño de la partición: 0x01 y 0x04 deben usarse sólo para particiones en los primeros 32MB del disco. 0x06 sólo en los primeros 8GB del disco. 0x0B es para el direccionamiento CHS que tiene límite para discos de 8GB. Así que sin esos límites son sólo los ids: 0x07, 0x0C y 0x0E. Como 0x0C y 0x0E se utilizan para las particiones FAT yo sugeriría elegir 0x07 . Es un medio para las particiones IFS (Installable File System) y según Wikipedia, Microsoft añadió soporte para UDF en la API IFS de Windows 2000. El uso de 0x0C o 0x0E haría que los sistemas basados en DOS mostraran esa partición como FAT, incluso si estuviera formateada como UDF. Las particiones con MBR id 0x07 están ocultas en esos sistemas. No soportan UDF, por lo que es mejor elegir 0x0C o 0x0E.

GPT:

La disposición de la partición GPT está fuera de esta cuestión, pero tiene un problema similar al del MBR. No hay un GUID de partición (equivalente a GPT para MBR) asignado para UDF. Porque Windows XP x64 soporta UDF y puede reconocer la partición de datos GPT sólo con GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Basic Data Partition), es la única opción posible para GPT.

Fuentes:

() Hay una excepción: Los Ids 0x05, 0x0F y 0x85 del MBR se utilizan para la detección de particiones MBR extendidas.<br>() Las definiciones de estas dos llamadas se encuentran en el archivo WinIoCtl.h ya que están declaradas como macros C.<br>() Las extensiones INT 13h de la BIOS significan el uso de LBA en lugar de CHS.

2voto

En los CD y DVD que trato, no hay tabla de particiones. En tu disco duro USB, has escrito una tabla de particiones en el soporte. Sospecho que si formateas la unidad entera como un disco UDF sin la tabla de particiones, Windows no tendrá problemas para montarlo.

No dices qué tamaño tiene tu unidad USB, y puede que seas reacio a dedicar la unidad entera como UDF, podría intentar establecer el tipo de partición con fdisk como NTFS o uno de los otros tipos 'soportados' por MS.

0 votos

También estoy arrancando Linux desde la misma unidad, así que necesito que una de las particiones tenga un formato soportado por Grub. Acabo de descubrir que grub2 (experimental) puede arrancar Linux desde UDF, así que lo intentaré.

0voto

Tengo el mismo problema. Mi disco duro USB es de 320GB. La tabla de particiones tiene este aspecto:

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

La partición sda5 es una UDF rev. 1.5 y debería ser legible por Windows XP y superior. Linux lo lee correctamente, por supuesto. Sin embargo, Windows se confunde. Reconoce la partición como NTFS y luego asume que es una partición raw.

Mi experimento con UDF en el pendrive me mostró que los sistemas tienden a confundir UDF con FAT. Ellos interpretan UDF como FAT. Deben ser similitudes bastante grandes porque puedo ver una estructura de directorios con caracteres aleatorios. Linux dice que el disco está corrupto pero no se niega a usarlo.

Creo que la UDF (al menos la rev 1.5) no está bien soportada en las unidades USB.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: