Resposta curta: sugiro usar o MBR id 0x07 para partições UDF.
Resposta longa:
O Linux não se importa com os IDs da partição MBR e a ignora (*).
O Windows 2000 e versões mais recentes podem atribuir uma letra de unidade a alguma partição com o ID PartitionType se e somente se IsRecognizedPartition (PartitionType) for verdadeira. Além disso, para partições não-FT, deve-se considerar que IsFTPartition (PartitionType) é falso (caso contrário, essa partição é detectada como FT e não como FAT / NTFS / UDF / ... comum).
A condição IsRecognizedPartition (PartitionType) e&! IsFTPartition (PartitionType) se aplicam a esses IDs de partição MBR: 0x01, 0x04, 0x06, 0x07, 0x0B, 0x0C, 0x0E (**). O que significa que o Windows 2000 (e novo) pode reconhecer e usar a partição UDF se o ID da partição MBR for um deles. Provavelmente não há outras restrições e qualquer sistema de arquivos suportado aceita partição com qualquer um desses IDs de MBR. O que significa que esses IDs de MBR não são usados para detecção do sistema de arquivos.
Mas há algumas recomendações da Microsoft quando PartitionType específico deve ser usado:
- 0x01 - partição primária FAT12 ou unidade lógica (menos de 32.680 setores no volume)
- 0x04 - Partição FAT16 ou unidade lógica (32.680 a 65.535 setores ou 16 MB a 33 MB)
- 0x06 - partição BIGDOS FAT16 ou unidade lógica (33 MB – 4 GB)
- 0x07 - Sistema de arquivos instalável (partição NTFS ou unidade lógica)
- 0x0B - partição FAT32 ou unidade lógica
- 0x0C - Partição FAT32 ou unidade lógica usando extensões BIOS INT 13h (***)
- 0x0E - Partição BIGDOS FAT16 ou unidade lógica usando extensões BIOS INT 13h (***)
E também significado pela Microsoft:
- 0x01 - Especifica uma partição com entradas FAT de 12 bits.
- 0x04 - Especifica uma partição com entradas FAT de 16 bits.
- 0x06 - Especifica uma partição enorme do MS-DOS V4.
- 0x07 - Especifica uma partição IFS.
- 0x0B - Especifica uma partição FAT32.
- 0x0C - Windows 95/98: especifica uma partição que usa serviços estendidos do INT 13.
Na Wikipedia podem ser encontradas também algumas recomendações:
- 0x01 - CHS / LBA - DOS 2.0+ - FAT12 como partição primária nos primeiros 32 MB físicos de disco ... (caso contrário, use 0x06)
- 0x04 - CHS / LBA - DOS 3.0+ - FAT16 com menos de 65536 setores (32 MB) ... (caso contrário, use 0x06)
- 0x06 - CHS / LBA - DOS 3.31+ - FAT16B com 65536 ou mais setores. Ele deve residir nos primeiros 8 GB físicos de disco ... (use 0x0E). Também usado para volumes FAT12 e FAT16 em partições primárias, se não residirem nos primeiros 32 MB físicos de disco.
- 0x07 - CHS / LBA - OS / 2 1.2+, Windows NT / CE - IFS / HPFS / NTFS / exFAT / QNX
- 0x0B - CHS / LBA - DOS 7.1+ - FAT32 com endereçamento CHS
- 0x0C - LBA - DOS 7.1+ - FAT32 com LBA
- 0x0E - LBA - DOS 7.0+ - FAT16B com LBA
Para completar a lista de IDs, aqui estão algumas informações sobre sistemas mais antigos que não suportam partição de disco rígido formatada em UDF.
Windows NT 4.0 e versões anteriores podem atribuir uma letra de unidade apenas a partições com identificação de MBR: 0x01, 0x04, 0x06, 0x07.
O Windows baseado em DOS (95, 98 e ME) pode atribuir uma letra de unidade apenas para partições com IDs de MBR: 0x01, 0x04, 0x06, 0x0B, 0x0C, 0x0E. O próprio MS-DOS pode acessar apenas partições com IDs de MBR: 0x01, 0x04, 0x06. Observe que esses sistemas usam o ID da partição MBR para detecção do sistema de arquivos. O ID da partição MBR deve corresponder ao sistema de arquivos na partição.
Conclusão:
Observe o tamanho da partição: 0x01 e 0x04 devem ser usados apenas para partições nos primeiros 32 MB de disco. 0x06 apenas nos primeiros 8 GB de disco. 0x0B é para endereçamento CHS que tem limite para discos de 8 GB. Portanto, sem esses limites, existem apenas IDs: 0x07, 0x0C e 0x0E. Como 0x0C e 0x0E são usados para partições FAT, sugiro que escolha 0x07 . É uma média para as partições IFS (Sistema de arquivos instaláveis) e, de acordo com a Wikipedia, a Microsoft adicionou suporte ao UDF na API do Windows 2000 IFS. O uso de 0x0C ou 0x0E faria com que os sistemas baseados no DOS mostrassem essa partição como FAT, mesmo que fosse formatada como UDF. Partições com o MBR id 0x07 estão ocultas nesses sistemas. Eles não suportam UDF, portanto, é melhor escolha como 0x0C ou 0x0E.
GPT:
O layout da partição GPT está fora de questão, mas tem um problema semelhante ao MBR. Não há GUID da partição (equivalente ao GPT para ID de MBR) atribuída ao UDF. Como o Windows XP x64 suporta UDF e pode reconhecer a partição de dados GPT apenas com GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Partição de Dados Básicos da Microsoft), é a única opção possível para GPT.
Fontes:
(*) Há uma exceção: os IDs de MBR 0x05, 0x0F e 0x85 são usados para a detecção de partições estendidas de MBR.
(**) As definições dessas duas chamadas podem ser encontradas no arquivo WinIoCtl.h, pois são declaradas como macros C.
(***) Extensões do BIOS INT 13h significa o uso de LBA em vez de CHS.