短い回答:UDFパーティションにはMBR id 0x07を使用することをお勧めします。
長い答え:
LinuxはMBRパーティションIDを無視し、無視します(*)。
Windows 2000以降では、IsRecognizedPartition(PartitionType)がtrueの場合にのみ、PartitionTypeがidのいくつかのパーティションにドライブ文字を割り当てることができます。さらに、非FTパーティションでは、IsFTPartition(PartitionType)がfalseである必要があります(そうでない場合、そのパーティションはFTとして検出され、通常のFAT / NTFS / UDF / ...として検出されません)。
条件IsRecognizedPartition(PartitionType)&&!IsFTPartition(PartitionType)は、これらのMBRパーティションIDに適用されます:0x01、0x04、0x06、0x07、0x0B、0x0C、0x0E(**)。つまり、MBRパーティションIDがその1つである場合、Windows 2000(および新しい)はUDFパーティションを認識して使用できます。おそらく他の制限はなく、サポートされているファイルシステムは、これらのMBR IDのいずれかを持つパーティションを受け入れます。つまり、これらのMBR IDはファイルシステムの検出に使用されません。
ただし、特定のPartitionTypeを使用する必要がある場合は、Microsoftによるいくつかの推奨事項があります。
- 0x01-FAT12プライマリパーティションまたは論理ドライブ(ボリューム内の32,680セクター未満)
- 0x04-FAT16パーティションまたは論理ドライブ(32,680〜65,535セクターまたは16 MB〜33 MB)
- 0x06-BIGDOS FAT16パーティションまたは論理ドライブ(33 MB–4 GB)
- 0x07-インストール可能なファイルシステム(NTFSパーティションまたは論理ドライブ)
- 0x0B-FAT32パーティションまたは論理ドライブ
- 0x0C-BIOS INT 13h拡張機能を使用したFAT32パーティションまたは論理ドライブ(***)
- 0x0E-BIOS INT 13h拡張機能を使用したBIGDOS FAT16パーティションまたは論理ドライブ(***)
また、Microsoftの意味:
- 0x01-12ビットのFATエントリを持つパーティションを指定します。
- 0x04-16ビットFATエントリを持つパーティションを指定します。
- 0x06-MS-DOS V4の巨大なパーティションを指定します。
- 0x07-IFSパーティションを指定します。
- 0x0B-FAT32パーティションを指定します。
- 0x0C-Windows 95/98:拡張INT 13サービスを使用するパーティションを指定します。
ウィキペディアでいくつかの推奨事項も見つけることができます:
- 0x01-CHS / LBA-DOS 2.0+-最初の物理32 MBのディスクのプライマリパーティションとしてFAT12 ...(または、代わりに0x06を使用)
- 0x04-CHS / LBA-DOS 3.0+-65536セクター(32 MB)未満のFAT16 ...(それ以外の場合は0x06を使用)
- 0x06-CHS / LBA-DOS 3.31+-65536以上のセクターを持つFAT16B。最初の物理的な8 GBのディスクに存在する必要があります...(または、代わりに0x0Eを使用してください)。また、最初の物理的な32 MBのディスクに存在しない場合、プライマリパーティションのFAT12およびFAT16ボリュームにも使用されます。
- 0x07-CHS / LBA-OS / 2 1.2 +、Windows NT / CE-IFS / HPFS / NTFS / exFAT / QNX
- 0x0B-CHS / LBA-DOS 7.1+-CHSアドレス指定のFAT32
- 0x0C-LBA-DOS 7.1+-LBAを備えたFAT32
- 0x0E-LBA-DOS 7.0+-LBAを備えたFAT16B
IDのリストを完成させるために、UDFフォーマットのハードディスクパーティションをサポートしていない古いシステムに関する情報を以下に示します。
Windows NT 4.0以前は、MBR IDが0x01、0x04、0x06、0x07のパーティションにのみドライブ文字を割り当てることができます。
DOSベースのWindows(95、98、およびME)は、MBR IDが0x01、0x04、0x06、0x0B、0x0C、0x0Eのパーティションにのみドライブ文字を割り当てることができます。MS-DOS自体は、MBR IDが0x01、0x04、0x06のパーティションのみにアクセスできます。これらのシステムは、ファイルシステムの検出にMBRパーティションIDを使用することに注意してください。MBRパーティションIDは、パーティション上のファイルシステムと一致する必要があります。
結論:
パーティションサイズを確認します。0x01および0x04は、最初の32MBのディスクのパーティションにのみ使用する必要があります。ディスクの最初の8GBのみ0x06。0x0Bは、8 GBのディスクに制限があるCHSアドレス指定用です。したがって、そのような制限がないのは、IDのみです:0x07、0x0Cおよび0x0E。FATパーティションには0x0Cと0x0Eが使用されるため、0x07を選択することをお勧めします。これはIFS(インストール可能ファイルシステム)パーティションの意味であり、Wikipediaによると、MicrosoftはWindows 2000 IFS APIにUDFのサポートを追加しました。0x0Cまたは0x0Eを使用すると、パーティションがUDFとしてフォーマットされていても、DOSベースのシステムはそのパーティションをFATとして表示します。MBR id 0x07のパーティションは、これらのシステムでは非表示になっています。これらはUDFをサポートしていないため、0x0Cまたは0x0Eを選択することをお勧めします。
GPT:
GPTパーティションレイアウトはこの問題から外れていますが、MBRと同様の問題があります。UDFに割り当てられたパーティションGUID(MBR idに相当するGPT)はありません。Windows XP x64はUDFをサポートし、GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft Basic Data Partition)でのみGPTデータパーティションを認識できるため、これがGPTの唯一の可能な選択肢です。
出典:
(*)例外が1つあります。拡張MBRパーティションの検出には、MBR ID 0x05、0x0F、および0x85が使用されます。
(**)これら2つの呼び出しの定義は、Cマクロとして宣言されているため、WinIoCtl.hファイルにあります。
(***)BIOS INT 13h拡張は、CHSではなくLBAの使用を意味します。