Kurze Antwort: Ich würde vorschlagen, die MBR-ID 0x07 für UDF-Partitionen zu verwenden.
Lange Antwort:
Linux kümmert sich nicht um MBR-Partitions-IDs und ignoriert sie (*).
Windows 2000 und höher können der Partition mit der ID PartitionType genau dann einen Laufwerksbuchstaben zuweisen, wenn IsRecognizedPartition (PartitionType) true ist. Darüber hinaus muss für Nicht-FT-Partitionen gelten, dass IsFTPartition (PartitionType) falsch ist (andernfalls wird diese Partition als FT und nicht als normales FAT / NTFS / UDF / ... erkannt).
Bedingung IsRecognizedPartition (PartitionType) &&! IsFTPartition (PartitionType) gilt für diese MBR-Partitions-IDs: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Dies bedeutet, dass Windows 2000 (und neu) die UDF-Partition erkennen und verwenden kann, wenn die MBR-Partitions-ID eine davon ist. Es gibt wahrscheinlich keine anderen Einschränkungen und jedes unterstützte Dateisystem akzeptiert Partitionen mit einer dieser MBR-IDs. Dies bedeutet, dass diese MBR-IDs nicht zur Erkennung des Dateisystems verwendet werden.
Es gibt jedoch einige Empfehlungen von Microsoft, wann ein bestimmter PartitionType verwendet werden sollte:
- 0x01 - Primäre FAT12-Partition oder logisches Laufwerk (weniger als 32.680 Sektoren im Volume)
- 0x04 - FAT16-Partition oder logisches Laufwerk (32.680–65.535 Sektoren oder 16 MB - 33 MB)
- 0x06 - BIGDOS FAT16-Partition oder logisches Laufwerk (33 MB - 4 GB)
- 0x07 - Installierbares Dateisystem (NTFS-Partition oder logisches Laufwerk)
- 0x0B - FAT32-Partition oder logisches Laufwerk
- 0x0C - FAT32-Partition oder logisches Laufwerk mit BIOS INT 13h-Erweiterungen (***)
- 0x0E - BIGDOS FAT16-Partition oder logisches Laufwerk mit BIOS INT 13h-Erweiterungen (***)
Und auch Bedeutung von Microsoft:
- 0x01 - Gibt eine Partition mit 12-Bit-FAT-Einträgen an.
- 0x04 - Gibt eine Partition mit 16-Bit-FAT-Einträgen an.
- 0x06 - Gibt eine riesige MS-DOS V4-Partition an.
- 0x07 - Gibt eine IFS-Partition an.
- 0x0B - Gibt eine FAT32-Partition an.
- 0x0C - Windows 95/98: Gibt eine Partition an, die erweiterte INT 13-Dienste verwendet.
Auf Wikipedia finden Sie auch einige Empfehlungen:
- 0x01 - CHS / LBA - DOS 2.0+ - FAT12 als primäre Partition in den ersten physischen 32 MB Festplatte ... (andernfalls verwenden Sie stattdessen 0x06)
- 0x04 - CHS / LBA - DOS 3.0+ - FAT16 mit weniger als 65536 Sektoren (32 MB) ... (sonst verwenden Sie stattdessen 0x06)
- 0x06 - CHS / LBA - DOS 3.31+ - FAT16B mit 65536 oder mehr Sektoren. Es muss sich in den ersten physischen 8 GB Festplatte befinden ... (andernfalls verwenden Sie stattdessen 0x0E). Wird auch für FAT12- und FAT16-Volumes in primären Partitionen verwendet, wenn sie sich nicht auf den ersten physischen 32 MB der Festplatte befinden.
- 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
- 0x0B - CHS / LBA - DOS 7.1+ - FAT32 mit CHS-Adressierung
- 0x0C - LBA - DOS 7.1+ - FAT32 mit LBA
- 0x0E - LBA - DOS 7.0+ - FAT16B mit LBA
Um die Liste der IDs zu vervollständigen, finden Sie hier einige Informationen zu älteren Systemen, die keine UDF-formatierte Festplattenpartition unterstützen.
Windows NT 4.0 und älter kann nur Partitionen mit der MBR-ID 0x01, 0x04, 0x06, 0x07 einen Laufwerksbuchstaben zuweisen.
DOS-basiertes Windows (95, 98 und ME) kann nur Partitionen mit MBR-IDs einen Laufwerksbuchstaben zuweisen: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. MS-DOS selbst kann nur auf Partitionen mit MBR-IDs zugreifen: 0x01, 0x04, 0x06. Beachten Sie, dass diese Systeme die MBR-Partitions-ID zur Erkennung des Dateisystems verwenden. Die MBR-Partitions-ID muss mit dem Dateisystem auf der Partition übereinstimmen.
Fazit:
Schauen Sie sich die Partitionsgröße an: 0x01 und 0x04 sollten nur für Partitionen in den ersten 32 MB der Festplatte verwendet werden. 0x06 nur in den ersten 8 GB Festplatte. 0x0B ist für die CHS-Adressierung vorgesehen, die für 8-GB-Festplatten begrenzt ist. Ohne solche Grenzen gibt es also nur IDs: 0x07, 0x0C und 0x0E. Da 0x0C und 0x0E für FAT-Partitionen verwendet werden, würde ich vorschlagen, 0x07 zu wählen . Dies ist für IFS-Partitionen (Installable File System) gedacht. Laut Wikipedia hat Microsoft die Unterstützung für UDF in die Windows 2000 IFS-API aufgenommen. Die Verwendung von 0x0C oder 0x0E würde dazu führen, dass DOS-basierte Systeme diese Partition als FAT anzeigen, selbst wenn sie als UDF formatiert wäre. Partitionen mit der MBR-ID 0x07 sind auf diesen Systemen ausgeblendet. Sie unterstützen UDF nicht, daher ist es besser, 0x0C oder 0x0E zu wählen.
GPT:
Das Layout der GPT-Partition kommt nicht in Frage, hat jedoch ein ähnliches Problem wie das MBR. Für UDF ist keine Partitions-GUID (GPT-Äquivalent für MBR-ID) zugewiesen. Da Windows XP x64 UDF unterstützt und die GPT-Datenpartition nur mit der GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Basic Data Partition) erkennen kann, ist dies die einzig mögliche Option für GPT.
Quellen:
(*) Es gibt eine Ausnahme: Die MBR-IDs 0x05, 0x0F und 0x85 werden zur Erkennung erweiterter MBR-Partitionen verwendet.
(**) Definitionen dieser beiden Aufrufe finden Sie in der Datei WinIoCtl.h, da sie als C-Makros deklariert sind.
(***) BIOS INT 13h-Erweiterungen bedeuten die Verwendung von LBA anstelle von CHS.