Risposta breve: suggerirei di utilizzare l'ID MBR 0x07 per le partizioni UDF.
Risposta lunga:
Linux non si preoccupa degli ID di partizione MBR e lo ignora (*).
Windows 2000 e versioni successive possono assegnare una lettera di unità a una partizione con ID PartitionType se e solo se IsRecognizedPartition (PartitionType) è true. Inoltre, per le partizioni non FT deve essere considerato che IsFTPartition (PartitionType) è falso (altrimenti tale partizione viene rilevata come FT e non come normale FAT / NTFS / UDF / ...).
Condizione IsRecognizedPartition (PartitionType) &&! IsFTPartition (PartitionType) si applicano per questi ID di partizione MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Ciò significa che Windows 2000 (e nuovi) possono riconoscere e utilizzare la partizione UDF se l'ID della partizione MBR è uno di questi. Probabilmente non ci sono altre restrizioni e qualsiasi file system supportato accetta la partizione con uno di questi ID MBR. Ciò significa che quegli ID MBR non vengono utilizzati per il rilevamento del file system.
Ma ci sono alcune raccomandazioni di Microsoft quando si deve utilizzare PartitionType particolare :
- 0x01 - Partizione primaria o unità logica FAT12 (meno di 32.680 settori nel volume)
- 0x04 - Partizione FAT16 o unità logica (32.680–65.535 settori o 16 MB – 33 MB)
- 0x06 - Partizione o unità logica BIGDOS FAT16 (33 MB – 4 GB)
- 0x07 - File system installabile (partizione NTFS o unità logica)
- 0x0B - Partizione FAT32 o unità logica
- 0x0C - Partizione FAT32 o unità logica utilizzando le estensioni BIOS INT 13h (***)
- 0x0E - Partizione BIGDOS FAT16 o unità logica utilizzando le estensioni BIOS INT 13h (***)
E significato anche di Microsoft:
- 0x01: specifica una partizione con voci FAT a 12 bit.
- 0x04: specifica una partizione con voci FAT a 16 bit.
- 0x06 - Specifica una partizione enorme V4 MS-DOS.
- 0x07: specifica una partizione IFS.
- 0x0B: specifica una partizione FAT32.
- 0x0C - Windows 95/98: specifica una partizione che utilizza servizi INT 13 estesi.
Su Wikipedia si possono trovare anche alcuni consigli:
- 0x01 - CHS / LBA - DOS 2.0+ - FAT12 come partizione primaria nei primi 32 MB fisici del disco ... (altrimenti usa 0x06 invece)
- 0x04 - CHS / LBA - DOS 3.0+ - FAT16 con meno di 65536 settori (32 MB) ... (altrimenti usa 0x06 invece)
- 0x06 - CHS / LBA - DOS 3.31+ - FAT16B con 65536 o più settori. Deve risiedere nei primi 8 GB fisici del disco ... (altrimenti usa 0x0E invece). Utilizzato anche per i volumi FAT12 e FAT16 nelle partizioni primarie se non risiedono nei primi 32 MB fisici 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 indirizzamento CHS
- 0x0C - LBA - DOS 7.1+ - FAT32 con LBA
- 0x0E - LBA - DOS 7.0+ - FAT16B con LBA
Per completare l'elenco degli ID, ecco alcune informazioni sui sistemi più vecchi che non supportano la partizione del disco rigido formattata UDF.
Windows NT 4.0 e versioni precedenti possono assegnare una lettera di unità solo alle partizioni con ID MBR: 0x01, 0x04, 0x06, 0x07.
Windows basato su DOS (95, 98 e ME) può assegnare una lettera di unità solo alle partizioni con ID MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. MS-DOS stesso può accedere solo alle partizioni con ID MBR: 0x01, 0x04, 0x06. Si noti che questi sistemi utilizzano l'ID partizione MBR per il rilevamento del file system. L'ID della partizione MBR deve corrispondere al file system sulla partizione.
Conclusione:
Guarda la dimensione della partizione: 0x01 e 0x04 dovrebbero essere usati solo per le partizioni nei primi 32 MB di disco. 0x06 solo nei primi 8 GB di disco. 0x0B è per l'indirizzamento CHS che ha un limite per i dischi da 8 GB. Quindi senza tali limiti sono solo gli id: 0x07, 0x0C e 0x0E. Dato che 0x0C e 0x0E sono usati per le partizioni FAT, suggerirei di scegliere 0x07 . È medio per le partizioni IFS (Installable File System) e secondo Wikipedia, Microsoft ha aggiunto il supporto per UDF nell'API IFS di Windows 2000. L'uso di 0x0C o 0x0E farebbe sì che i sistemi basati su DOS mostrassero quella partizione come FAT, anche se sarebbe stata formattata come UDF. Le partizioni con ID MBR 0x07 sono nascoste su tali sistemi. Non supportano UDF, quindi è una scelta migliore come 0x0C o 0x0E.
GPT:
Il layout delle partizioni GPT è fuori questione, ma presenta problemi simili a quelli di MBR. Non esiste un GUID di partizione (equivalente GPT per ID MBR) assegnato a UDF. Poiché Windows XP x64 supporta UDF e può riconoscere la partizione dati GPT solo con GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Partizione dati di base Microsoft), è l'unica scelta possibile per GPT.
fonti:
(*) C'è un'eccezione: gli ID MBR 0x05, 0x0F e 0x85 vengono utilizzati per il rilevamento di partizioni MBR estese.
(**) Le definizioni di queste due chiamate possono essere trovate nel file WinIoCtl.h in quanto dichiarate come macro C.
(***) Le estensioni BIOS INT 13h indicano l'utilizzo di LBA anziché CHS.