Краткий ответ: я бы предложил использовать MBR id 0x07 для разделов UDF.
Длинный ответ:
Linux не заботится об идентификаторах разделов MBR и игнорирует их (*).
Windows 2000 и новее могут назначать букву диска некоторому разделу с идентификатором PartitionType, если и только если IsRecognizedPartition (PartitionType) имеет значение true. Более того, для не-FT разделов должно быть указано, что IsFTPartition (PartitionType) имеет значение false (в противном случае этот раздел определяется как FT, а не как обычный FAT / NTFS / UDF / ...).
Условие IsRecognizedPartition (PartitionType) &&! IsFTPartition (PartitionType) применяется для следующих идентификаторов разделов MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). Это означает, что Windows 2000 (и новая) может распознавать и использовать раздел UDF, если ID раздела MBR является одним из них. Вероятно, нет никаких других ограничений, и любая поддерживаемая файловая система принимает раздел с любым из этих идентификаторов MBR. Это означает, что эти идентификаторы MBR не используются для обнаружения файловой системы.
Но есть некоторые рекомендации от Microsoft, когда следует использовать конкретный PartitionType :
- 0x01 - основной раздел FAT12 или логический диск (менее 32 680 секторов в томе)
- 0x04 - раздел FAT16 или логический диск (32 680–65 535 секторов или 16–33 МБ)
- 0x06 - раздел BIGDOS FAT16 или логический диск (33–4 ГБ)
- 0x07 - устанавливаемая файловая система (раздел NTFS или логический диск)
- 0x0B - раздел FAT32 или логический диск
- 0x0C - раздел FAT32 или логический диск с использованием расширений BIOS INT 13h (***)
- 0x0E - раздел BIGDOS FAT16 или логический диск с использованием расширений BIOS INT 13h (***)
А также значение 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+ - FAT12 в качестве основного раздела на первых физических 32 МБ диска ... (вместо этого используйте 0x06)
- 0x04 - CHS / LBA - DOS 3.0+ - FAT16 с менее чем 65536 секторами (32 МБ) ... (вместо этого используйте 0x06)
- 0x06 - CHS / LBA - DOS 3.31+ - FAT16B с 65536 или более секторами. Он должен находиться на первых физических 8 ГБ диска ... (вместо этого используйте 0x0E). Также используется для томов FAT12 и FAT16 в основных разделах, если они не находятся на первых физических 32 МБ диска.
- 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
- 0x0B - CHS / LBA - DOS 7.1+ - FAT32 с адресацией CHS
- 0x0C - LBA - DOS 7.1+ - FAT32 с LBA
- 0x0E - LBA - DOS 7.0+ - FAT16B с LBA
Чтобы завершить список идентификаторов, вот некоторая информация о старых системах, которые не поддерживают раздел жесткого диска в формате UDF.
Windows NT 4.0 и старше может назначать букву диска только разделам с идентификатором MBR: 0x01, 0x04, 0x06, 0x07.
Windows на базе DOS (95, 98 и ME) может назначать букву диска только разделам с идентификаторами MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. Сама MS-DOS может получить доступ только к разделам с идентификаторами MBR: 0x01, 0x04, 0x06. Обратите внимание, что эти системы используют идентификатор раздела MBR для обнаружения файловой системы. Идентификатор раздела MBR должен соответствовать файловой системе раздела.
Вывод:
Посмотрите на размер раздела: 0x01 и 0x04 следует использовать только для разделов на первых 32 МБ диска. 0x06 только в первых 8 ГБ диска. 0x0B для CHS-адресации, которая имеет ограничение на 8 ГБ дисков. Таким образом, без таких ограничений только идентификаторы: 0x07, 0x0C и 0x0E. Поскольку 0x0C и 0x0E используются для разделов FAT, я бы предложил выбрать 0x07 . Он предназначен для разделов IFS (устанавливаемая файловая система) и, согласно Википедии, Microsoft добавила поддержку UDF в Windows 2000 IFS API. Использование 0x0C или 0x0E приведет к тому, что системы на базе DOS будут показывать этот раздел как FAT, даже если он будет отформатирован как UDF. Разделы с идентификатором MBR 0x07 в этих системах скрыты. Они не поддерживают UDF, поэтому лучше выбрать 0x0C или 0x0E.
GPT:
О разметке разделов GPT не может быть и речи, но она имеет ту же проблему, что и MBR. Для UDF не назначен GUID раздела (эквивалент GPT для идентификатора MBR). Поскольку Windows XP x64 поддерживает UDF и может распознавать раздел данных GPT только с GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft Basic Data Partition), это единственный возможный выбор для GPT.
Источники:
(*) Существует одно исключение: идентификаторы MBR 0x05, 0x0F и 0x85 используются для обнаружения расширенных разделов MBR.
(**) Определения этих двух вызовов можно найти в файле WinIoCtl.h, поскольку они объявлены как макросы C.
(***) Расширения BIOS INT 13h означают использование LBA вместо CHS.