Qual é o tipo de ID / sistema de arquivos da partição para UDF?

10

Provavelmente é trivial verificar usando o cfdisk em um CD / DVD / Blu-Ray formatado em UDF, mas não tenho nenhum deles em mãos.

Criei uma partição formatada em UDF em um disco rígido USB para compartilhar dados entre computadores Linux e Windows (o FAT não manipula arquivos de 4 GB, o suporte a direitos de acesso NTFS não é estável no Linux). Agora só tenho um problema - o Windows se recusa a montar a partição, pois o ID do tipo de sistema de arquivos está definido como '83' ('Linux'). Eu olhei bastante e não consigo encontrar qual número devo colocar lá?

(acompanhamento: " Com qual ferramenta devo formatar um disco rígido como UDF? ")

Skolima
fonte
2
Eu não acho que você obteria resultados significativos ao executar o cfdisk em um CD, DVD ou Blu-Ray. As partições são definidas por alguns bytes do MBR, que existem em discos rígidos e pen drives, não em disquetes ou mídia ótica.
Juliano

Respostas:

9

A resposta é o tipo de partição 06 (FAT16). Não me pergunte por que, pergunte à Microsoft.


fonte
Mais de 5 anos depois, essa resposta simples me ajudou imensamente. Obrigado "user48160" quem e onde quer que esteja agora!
JakeGould
6

Acontece que não há tabela de partição para UDF e não há um ID de partição atribuído a ela. Este sistema de arquivos precisa abranger todo o disco para que seja reconhecido pelo Windows. A formatação de um disco rígido como UDF não toca na tabela de partição existente (tenha cuidado - ela conterá informações obsoletas e, se você montar sua unidade usando-a, destruirá os dados!).

Como curiosidade - o UDF 2.5 e mais recente cria partições separadas (uma ou duas por disco) para metadados. No entanto, essas partições também não são visíveis na tabela de partições DOS padrão.

Skolima
fonte
1
Apenas formatada como UDF um dos (MBR) partições lógicas no meu disco rígido e Windows 7 não teve nenhum problema com ele
Março
@ MarcH: então, qual ID da partição o Windows ou alguma ferramenta informa a partição como tendo? (teve problemas para formular a pergunta, desculpe se ela está mal formada) #
27312 ata
@ Juaco role para baixo para a resposta. Ou dê uma olhada no BOOTICE.
314 MarcH
Algumas ferramentas de particionamento permitem criar partições sem sistema de arquivos. Exatamente o que você precisa para atribuir uma letra de unidade no Windows e depois formatar UDF.
DanMan
3

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.

Pali
fonte
Esta página indica que as partições 0x0E devem ser menores que 2 GiB. O que significa que, para UDF, deve ser 0x07 ou 0x0C. O último me soa melhor, especialmente quando você lê a página vinculada. Pesquisa impressionante, tiramos o chapéu!
Milind R
2

Nos CDs e DVDs com os quais eu lido, não há tabela de partição. No seu disco rígido USB, você gravou uma tabela de partição na mídia. Eu suspeito que, se você formatar a unidade inteira como um disco UDF sem a tabela de partições, o Windows não terá problemas para montá-lo.

Você não diz qual é o tamanho da sua unidade USB e pode estar relutante em dedicar toda a unidade como UDF; tente definir o tipo de partição com o fdisk como NTFS ou um dos outros tipos 'suportados' da MS.

codeDr
fonte
Também estou inicializando o Linux a partir da mesma unidade, então preciso de uma partição para ter um formato suportado pelo grub. Acabei de descobrir que o grub2 (experimental) pode inicializar o Linux a partir de UDF, então tentarei isso.
skolima
0

Eu tenho o mesmo problema. Meu disco rígido USB tem 320 GB. A tabela de partição fica assim:

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       27963   224612766    c  W95 FAT32 (LBA)
/dev/sda2           27964       38913    87955875    5  Extended
/dev/sda5           27964       33366    43399566    7  HPFS/NTFS
/dev/sda6           33367       38913    44556246   83  Linux

A partição sda5 é uma versão UDF. 1.5 e shoulb podem ser lidos no Windows XP e acima. O Linux lê corretamente, é claro. Windows, no entanto, está confuso. Ele reconhece a partição como NTFS e assume que é uma partição bruta.

Meu experimento com UDF no pendrive me mostrou que os sistemas tendem a confundir UDF com FAT. Eles interpretam UDF como FAT. Deve haver semelhanças bastante grandes porque eu posso ver a estrutura de diretório de caracteres aleatórios. O Linux diz que o disco está corrompido, mas não se recusa a usá-lo.

Eu acho que UDF (pelo menos rev 1.5) não é bem suportado em unidades USB.


fonte
1
Se o meio costumava ter FAT, pode haver restos causando confusão na UDF com FAT. Você deve garantir que o FAT seja limpo / zerado antes de formatar com UDF.
osvein