Odpověď je typ oddílu 06 (FAT16). Neptejte se mě proč, ptejte se Microsoftu.
Ukázalo se, že neexistuje žádná tabulka oddílů pro UDF a není k němu přiřazeno žádné ID oddílu. Tento souborový systém musí zabírat celý disk, aby byl rozpoznán systémem Windows. Formátování pevného disku jako UDF se nedotýká stávající tabulky oddílů (pozor – bude obsahovat zastaralé informace, a pokud disk připojíte pomocí něj, zničíte data!).
Pro zajímavost - UDF 2.5 a novější vytváří samostatné oddíly (jeden nebo dva na disk) pro metadata. Tyto oddíly však také nejsou viditelné ve standardní tabulce oddílů DOS.
Krátká odpověď:Navrhoval bych použít MBR id 0x07 pro oddíly UDF.
Dlouhá odpověď:
Linux se nestará o ID oddílů MBR a ignoruje je (*).
Windows 2000 a novější mohou přiřadit písmeno jednotky nějakému oddílu s id PartitionType pouze tehdy, když IsRecognizedPartition(PartitionType) je pravda. Navíc pro oddíly jiné než FT musí platit, že IsFTPartition(PartitionType) je false (jinak je tento oddíl detekován jako FT a ne jako běžný FAT/NTFS/UDF/...).
Podmínka IsRecognizedPartition(PartitionType) &&!IsFTPartition(PartitionType) požádat o tato ID oddílu MBR:0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Což znamená, že Windows 2000 (a nový) dokáže rozpoznat a použít oddíl UDF, pokud je ID oddílu MBR jedním z nich. Pravděpodobně neexistují žádná další omezení a jakýkoli podporovaný souborový systém přijímá oddíl s jakýmkoli z těchto ID MBR. Což znamená, že tato ID MBR se nepoužívají k detekci systému souborů.
Existují však určitá doporučení od společnosti Microsoft při konkrétním PartitionType by měl být použit:
- 0x01 – primární oddíl nebo logický disk FAT12 (méně než 32 680 sektorů ve svazku)
- 0x04 – oddíl nebo logická jednotka FAT16 (32 680–65 535 sektorů nebo 16 MB–33 MB)
- 0x06 – BIGDOS FAT16 oddíl nebo logická jednotka (33 MB–4 GB)
- 0x07 – Instalovatelný systém souborů (oddíl NTFS nebo logická jednotka)
- 0x0B – oddíl FAT32 nebo logická jednotka
- 0x0C – oddíl FAT32 nebo logická jednotka využívající rozšíření BIOS INT 13h (***)
- 0x0E – BIGDOS FAT16 oddíl nebo logická jednotka využívající rozšíření BIOS INT 13h (***)
A také význam od společnosti Microsoft:
- 0x01 – Určuje oddíl s 12bitovými položkami FAT.
- 0x04 – Určuje oddíl s 16bitovými položkami FAT.
- 0x06 – Určuje velký oddíl systému MS-DOS V4.
- 0x07 – Určuje oddíl IFS.
- 0x0B – Určuje oddíl FAT32.
- 0x0C – Windows 95/98:Určuje oddíl, který používá rozšířené služby INT 13.
Na Wikipedii lze také nalézt několik doporučení:
- 0x01 – CHS/LBA – DOS 2.0+ – FAT12 jako primární oddíl na prvních fyzických 32 MB disku... (jinak místo toho použijte 0x06)
- 0x04 – CHS/LBA – DOS 3.0+ – FAT16 s méně než 65536 sektory (32 MB) ... (jinak místo toho použijte 0x06)
- 0x06 – CHS/LBA – DOS 3.31+ – FAT16B s 65536 nebo více sektory. Musí být umístěn na prvních fyzických 8 GB disku... (jinak místo toho použijte 0x0E). Používá se také pro svazky FAT12 a FAT16 v primárních oddílech, pokud nejsou umístěny na prvních fyzických 32 MB disku.
- 0x07 – CHS/LBA – OS/2 1.2+, Windows NT/CE – IFS/HPFS/NTFS/exFAT/QNX
- 0x0B – CHS/LBA – DOS 7.1+ – FAT32 s adresováním CHS
- 0x0C – LBA – DOS 7.1+ – FAT32 s LBA
- 0x0E – LBA – DOS 7.0+ – FAT16B s LBA
Pro úplný seznam ID uvádíme několik informací o starších systémech, které nepodporují oddíl pevného disku ve formátu UDF.
Windows NT 4.0 a starší mohou přiřadit písmeno jednotky pouze oddílům s ID MBR:0x01, 0x04, 0x06, 0x07.
Windows se systémem DOS (95, 98 a ME) mohou přiřadit písmeno jednotky pouze oddílům s ID MBR:0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. Samotný MS-DOS má přístup pouze k oddílům s ID MBR:0x01, 0x04, 0x06. Všimněte si, že tyto systémy používají ID oddílu MBR pro detekci systému souborů. ID oddílu MBR se musí shodovat se systémem souborů na oddílu.
Závěr:
Podívejte se na velikost oddílu:0x01 a 0x04 by měly být použity pouze pro oddíly v prvních 32 MB disku. 0x06 pouze na prvních 8GB disku. 0x0B je pro CHS adresování, které má limit pro 8GB disky. Takže bez takových limitů jsou pouze id:0x07, 0x0C a 0x0E. Protože se pro oddíly FAT používají 0x0C a 0x0E, doporučil bych zvolit 0x07 . Je určen pro oddíly IFS (Installable File System) a podle Wikipedie Microsoft přidal podporu pro UDF do Windows 2000 IFS API. Použití 0x0C nebo 0x0E by způsobilo, že systémy založené na DOSu zobrazí tento oddíl jako FAT, i když by byl naformátován jako UDF. Oddíly s MBR id 0x07 jsou na těchto systémech skryté. Nepodporují UDF, proto je lepší volba jako 0x0C nebo 0x0E.
GPT:
Rozvržení oddílu GPT nepřichází v úvahu, ale má podobný problém jako MBR. Pro UDF není přiřazen žádný GUID oddílu (ekvivalent GPT pro MBR id). Protože Windows XP x64 podporuje UDF a dokáže rozpoznat datový oddíl GPT pouze s GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Basic Data Partition), je to jediná možná volba pro GPT.
Zdroje:
- 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/Partition_type
- https://en.wikipedia.org/wiki/Installable_file_system
- Soubor Ntdddisk.h (součást WinDDK)
- Soubor WinIoCtl.h (součást WinSDK)
(*) Existuje jedna výjimka:ID MBR 0x05, 0x0F a 0x85 se používají pro detekci rozšířených oddílů MBR.
(**) Definice těchto dvou volání lze nalézt v souboru WinIoCtl.h, protože jsou deklarovány jako C makra.
(***) Rozšíření BIOS INT 13h znamená použití LBA místo CHS.