Die Antwort ist Partitionstyp 06 (FAT16). Frag mich nicht warum, frag Microsoft.
Es stellt sich heraus, dass es keine Partitionstabelle für UDF gibt und ihm ist keine Partitions-ID zugewiesen. Dieses Dateisystem muss sich über die gesamte Festplatte erstrecken, um von Windows erkannt zu werden. Das Formatieren einer Festplatte als UDF berührt nicht die vorhandene Partitionstabelle (Vorsicht – sie enthält veraltete Informationen, und wenn Sie Ihre Festplatte damit einhängen, zerstören Sie die Daten!).
Kurioserweise erstellt UDF 2.5 und neuer separate Partitionen (eine oder zwei pro Festplatte) für Metadaten. Allerdings sind diese Partitionen auch nicht in der Standard-DOS-Partitionstabelle sichtbar.
Kurze Antwort:Ich würde vorschlagen, die MBR-ID 0x07 zu verwenden für UDF-Partitionen.
Lange Antwort:
Linux kümmert sich nicht um MBR-Partitions-IDs und ignoriert sie (*).
Windows 2000 und neuer kann einigen Partitionen mit der ID PartitionType einen Laufwerksbuchstaben zuweisen wenn und nur wenn IsRecognizedPartition(PartitionType) ist wahr. Darüber hinaus muss für Nicht-FT-Partitionen IsFTPartition(PartitionType) enthalten sein ist falsch (andernfalls wird diese Partition als FT erkannt und nicht als normales FAT/NTFS/UDF/...).
Bedingung IsRecognizedPartition(PartitionType) &&!IsFTPartition(PartitionType) gelten für diese MBR-Partitions-IDs:0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Das bedeutet, dass Windows 2000 (und neuer) die UDF-Partition erkennen und verwenden kann, wenn die MBR-Partitions-ID eine davon ist. Es gibt wahrscheinlich keine weiteren Einschränkungen und jedes unterstützte Dateisystem akzeptiert Partitionen mit einer dieser MBR-IDs. Das bedeutet, dass diese MBR-IDs nicht zur Erkennung des Dateisystems verwendet werden.
Aber es gibt einige Empfehlungen von Microsoft, wenn bestimmte PartitionType sollte verwendet werden:
- 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 findet man auch einige Empfehlungen:
- 0x01 - CHS/LBA - DOS 2.0+ - FAT12 als primäre Partition in den ersten physikalischen 32 MB der Festplatte ... (andernfalls verwenden Sie stattdessen 0x06)
- 0x04 - CHS/LBA - DOS 3.0+ - FAT16 mit weniger als 65536 Sektoren (32 MB) ... (andernfalls 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 der Festplatte befinden ... (andernfalls verwenden Sie stattdessen 0x0E). Wird auch für FAT12- und FAT16-Volumes in primären Partitionen verwendet, wenn sie sich nicht in 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, hier einige Informationen über ältere Systeme, die UDF-formatierte Festplattenpartitionen nicht unterstützen.
Windows NT 4.0 und älter kann nur Partitionen mit MBR-ID einen Laufwerksbuchstaben zuweisen:0x01, 0x04, 0x06, 0x07.
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:
Sehen 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 der Festplatte. 0x0B ist für die CHS-Adressierung, die für 8-GB-Festplatten begrenzt ist. Also ohne solche Grenzen sind nur IDs:0x07, 0x0C und 0x0E. Da 0x0C und 0x0E für FAT-Partitionen verwendet werden, würde ich vorschlagen, 0x07 zu wählen . Es ist gemein für IFS-Partitionen (Installable File System) und laut Wikipedia fügte Microsoft Unterstützung für UDF in die Windows 2000 IFS-API hinzu. 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 versteckt. Sie unterstützen kein UDF, daher ist es die bessere Wahl als 0x0C oder 0x0E.
GPT:
Das GPT-Partitionslayout steht außer Frage, aber es hat ein ähnliches Problem wie MBR. Für UDF ist keine Partitions-GUID (GPT-Äquivalent für MBR-ID) zugewiesen. Weil Windows XP x64 UDF unterstützt und GPT-Datenpartition nur mit der GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 erkennen kann (Microsoft Basic Data Partition), es ist die einzig mögliche Wahl für GPT.
Quellen:
- https://technet.microsoft.com/en-us/library/cc976786.aspx
- https://technet.microsoft.com/en-us/library/cc768180.aspx
- https://technet.microsoft.com/en-us/sysinternals/ff563751
- https://technet.microsoft.com/en-us/sysinternals/aa363990
- https://www.microsoft.com/resources/documentation/windowsnt/4/server/reskit/en-us/resguide/diskover.mspx
- https://en.wikipedia.org/wiki/Partitionstyp
- https://en.wikipedia.org/wiki/Installierbares_Dateisystem
- Datei Ntddisk.h (Teil von WinDDK)
- Datei WinIoCtl.h (Teil von WinSDK)
(*) 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 bedeutet Verwendung von LBA statt CHS.