Réponse courte: je suggère d'utiliser l'ID MBR 0x07 pour les partitions UDF.
Longue réponse:
Linux ne se soucie pas des ID de partition MBR et l'ignore (*).
Windows 2000 et les versions ultérieures peuvent attribuer une lettre de lecteur à la partition avec l'ID PartitionType si et seulement si IsRecognizedPartition (PartitionType) est vrai. De plus, pour les partitions non FT, il faut que IsFTPartition (PartitionType) soit faux (sinon cette partition est détectée comme FT et non comme FAT / NTFS / UDF / ... ordinaire).
La condition IsRecognizedPartition (PartitionType) &&! IsFTPartition (PartitionType) s'appliquent à ces ID de partition MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Ce qui signifie que Windows 2000 (et nouveau) peut reconnaître et utiliser la partition UDF si l'ID de partition MBR en fait partie. Il n'y a probablement aucune autre restriction et tout système de fichiers pris en charge accepte la partition avec l'un de ces identifiants MBR. Ce qui signifie que ces identifiants MBR ne sont pas utilisés pour la détection du système de fichiers.
Mais il existe certaines recommandations de Microsoft quand un PartitionType particulier doit être utilisé:
- 0x01 - Partition principale ou lecteur logique FAT12 (moins de 32 680 secteurs dans le volume)
- 0x04 - Partition FAT16 ou lecteur logique (32 680 à 65 535 secteurs ou 16 Mo à 33 Mo)
- 0x06 - Partition BIGDOS FAT16 ou lecteur logique (33 Mo à 4 Go)
- 0x07 - Système de fichiers installable (partition NTFS ou lecteur logique)
- 0x0B - Partition FAT32 ou lecteur logique
- 0x0C - Partition FAT32 ou lecteur logique utilisant des extensions BIOS INT 13h (***)
- 0x0E - Partition BIGDOS FAT16 ou lecteur logique utilisant les extensions BIOS INT 13h (***)
Et aussi signifiant par Microsoft:
- 0x01 - Spécifie une partition avec des entrées FAT 12 bits.
- 0x04 - Spécifie une partition avec des entrées FAT 16 bits.
- 0x06 - Spécifie une énorme partition MS-DOS V4.
- 0x07 - Spécifie une partition IFS.
- 0x0B - Spécifie une partition FAT32.
- 0x0C - Windows 95/98: spécifie une partition qui utilise les services INT 13 étendus.
Sur Wikipedia on trouve aussi quelques recommandations:
- 0x01 - CHS / LBA - DOS 2.0+ - FAT12 comme partition principale dans les 32 premiers Mo physiques du disque ... (sinon utilisez 0x06 à la place)
- 0x04 - CHS / LBA - DOS 3.0+ - FAT16 avec moins de 65536 secteurs (32 Mo) ... (sinon utilisez 0x06 à la place)
- 0x06 - CHS / LBA - DOS 3.31+ - FAT16B avec 65536 ou plusieurs secteurs. Il doit résider dans le premier 8 Go physique de disque ... (sinon utilisez 0x0E à la place). Également utilisé pour les volumes FAT12 et FAT16 dans les partitions principales s'ils ne résident pas dans les 32 premiers Mo physiques du disque.
- 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
- 0x0B - CHS / LBA - DOS 7.1+ - FAT32 avec adressage CHS
- 0x0C - LBA - DOS 7.1+ - FAT32 avec LBA
- 0x0E - LBA - DOS 7.0+ - FAT16B avec LBA
Pour compléter la liste des identifiants, voici quelques informations sur les anciens systèmes qui ne prennent pas en charge la partition de disque dur au format UDF.
Windows NT 4.0 et versions antérieures peuvent attribuer une lettre de lecteur uniquement aux partitions avec l'ID MBR: 0x01, 0x04, 0x06, 0x07.
Windows basé sur DOS (95, 98 et ME) peut attribuer une lettre de lecteur uniquement aux partitions avec des ID MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. MS-DOS lui-même ne peut accéder qu'aux partitions avec des identifiants MBR: 0x01, 0x04, 0x06. Notez que ces systèmes utilisent l'ID de partition MBR pour la détection du système de fichiers. L'ID de partition MBR doit correspondre au système de fichiers sur la partition.
Conclusion:
Regardez la taille de la partition: 0x01 et 0x04 doivent être utilisés uniquement pour les partitions dans les 32 premiers Mo du disque. 0x06 uniquement sur les 8 premiers Go du disque. 0x0B est pour l'adressage CHS qui a une limite pour les disques de 8 Go. Donc, sans ces limites, il n'y a que des identifiants: 0x07, 0x0C et 0x0E. Comme 0x0C et 0x0E sont utilisés pour les partitions FAT, je suggère de choisir 0x07 . Cela signifie pour les partitions IFS (Installable File System) et selon Wikipedia, Microsoft a ajouté la prise en charge d'UDF dans l'API IFS Windows 2000. L'utilisation de 0x0C ou 0x0E entraînerait des systèmes basés sur DOS pour montrer cette partition en FAT, même elle serait formatée en UDF. Les partitions avec MBR id 0x07 sont cachées sur ces systèmes. Ils ne prennent pas en charge UDF, il est donc préférable de choisir 0x0C ou 0x0E.
GPT:
La disposition des partitions GPT est hors de question, mais elle a un problème similaire à celui du MBR. Aucun GUID de partition (équivalent GPT pour l'ID MBR) n'est attribué pour UDF. Étant donné que Windows XP x64 prend en charge UDF et ne peut reconnaître la partition de données GPT qu'avec le GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Basic Data Partition), c'est le seul choix possible pour GPT.
Sources:
(*) Il existe une exception: les ID MBR 0x05, 0x0F et 0x85 sont utilisés pour la détection des partitions MBR étendues.
(**) Les définitions de ces deux appels se trouvent dans le fichier WinIoCtl.h car elles sont déclarées comme macros C.
(***) Les extensions BIOS INT 13h signifient l'utilisation de LBA à la place de CHS.