Com que ferramenta devo formatar um disco rígido como UDF?

32

(Este é um seguimento de " Qual é o tipo de ID / sistema de arquivos da partição para UDF? ")

Conheço duas maneiras de formatar um disco rígido como UDF:

  • Windows Vista ou posterior: " format x: /fs:UDF" (não use /q!)
  • Linux: " mkudffs --media-type=hd --blocksize=512 /dev/sdx"

O problema é que o 'outro' SO não reconhece o disco como formatado: simplesmente se recusa a montá-lo, independentemente dos comandos que eu tento.

Como posso formatar um disco rígido como UDF para que o Windows e o Linux possam usá-lo?

EDIT: atualizou os comandos, agora o resultado deve funcionar em qualquer um dos SO.

Skolima
fonte
UDF foi projetado para mídia óptica, talvez esse seja o problema?
precisa saber é o seguinte
11
O comando que você dá funciona muito bem no Linux. Formatei no Karmic e posso ler e escrever no Windows 7 e no Karmic.
22330 Matt-Joiner
4
Não esqueça de zerar o MBR primeiro (dd se = / dev / zero de = / dev / sdx bs = 512 count = 1), para evitar confusão com qualquer tabela de partição restante (já que o UDF não usa o primeiro setor).
CesarB
11
Obrigado Skolima, isso é ótimo. Tchau FAT32. Eu só preciso ter cuidado com a versão 2.01 da UDF e com o tamanho de 512 blocos e tenho a partição perfeita do disco rígido compartilhada no Linux e Windows.
MarcH

Respostas:

17

Acontece que o uso do /qcomutador no Windows foi o culpado: ele permite 'formatação rápida', ou seja, o processo de formatação continua em segundo plano a cada gravação feita no disco. Quando termina, a unidade é gerenciada pelo Linux muito bem.

Skolima
fonte
Por outro lado, a formatação com os mkudffs do Linux parece concluir com êxito em segundos.
31911 MarcH
Eu realmente tive que fazer um formato rápido no Win7 depois de criar o sistema de arquivos com mkudffs no Linux. Sem isso, o Windows continuou querendo formatar a unidade. Acabou criando um espaço vazio de 5 MB no final da unidade, por qualquer motivo. Mas pelo menos ele funciona nos dois sistemas operacionais agora.
DanMan #
Em resposta a mim mesmo: esses 5 MB podem ser o bloco de metadados nas versões recentes da UDF.
DanMan
11
Totalmente errado! A formatação rápida NÃO é "formatação contínua em segundo plano". É apenas a inicialização do sistema de arquivos sem formatar faixas.
Anixx 19/09/19
6

Ao formatar UDF, uma coisa que não pode ser sublinhada o suficiente é a importância de usar o tamanho de bloco adequado ao formatar UDF. Conforme explicado aqui , o uso de um tamanho de bloco configurado que não corresponde ao tamanho do setor físico provavelmente significa que alguns sistemas operacionais não poderão detectar a unidade como UDF válida.

Inspirado na resposta vinculada acima (e em outras pesquisas / testes), escrevi um script para automatizar o processo de formatação em UDF - usando o tamanho do setor detectado corretamente. Veja format-udf no GitHub . Recursos notáveis:

  • Formata uma unidade de bloco (disco rígido ou unidade Flash) em Universal Disk Format (UDF)
    • Revisão UDF 2.01 usada para compatibilidade máxima
    • Os primeiros 4096 setores são zerados para apagar qualquer MBR existente (necessário para a detecção UDF adequada)
  • O sistema de arquivos resultante pode ser lido / gravado em várias famílias de sistemas operacionais (Windows, OS X e Linux)
  • É executado em qualquer sistema operacional com um ambiente Bash

Por causa do último ponto, esse script que escrevi não pode ser usado no Windows. No entanto, o script será executado no OS X e Linux. Depois disso, o Windows poderá detectar magicamente a unidade UDF recém-formatada.

Para responder diretamente às perguntas postadas, format-udf irá:

  • escolha a ferramenta apropriada para formatação com base no sistema operacional e no ambiente ( mkudffsno Linux)
  • detecta e preenche automaticamente todos os parâmetros necessários para a formatação (incluindo blocksize)
  • maximizar a compatibilidade do sistema operacional (consulte a página do GitHub para obter o gráfico de compatibilidade)
  • produzir o conjunto máximo de recursos (e limitações mínimas) que o solicitante está procurando
j0nam1el
fonte
5

Como você reconciliou sua descoberta na pergunta anterior (que o sistema de arquivos UDF deveria ser criado em todo o disco, não em uma partição) com esse comando do Windows ("formato x: / fs: UDF")? Nas minhas tentativas, o Windows fornece apenas letras de unidade para partições.

Quanto à formatação para compatibilidade, acho que a chave está no tamanho do bloco. Como a maioria dos discos rígidos e pen drives USB tem um tamanho de bloco de 512 bytes, tive mais compatibilidade ao criar o FS com esse tamanho de bloco. Eu acho que format.com está usando esse tamanho de bloco, e o mkudffs tem uma opção de comando para alterar o tamanho do bloco. Eu só consegui que o OS X e o Windows montassem o sistema de arquivos quando usei blocos de 512 bytes. As versões mais antigas do Linux assumiam um tamanho de bloco de 2048, mas você sempre pode montar com "-o bs = 512".

Todo o problema de disco x partição ainda causa problemas de compatibilidade. O Windows não será montado quando eu formatar o disco inteiro, e o OS X não olhar além do número do tipo da partição ao determinar seu sistema de arquivos, forçando-me a montá-lo manualmente. O Linux não se importava, desde que eu desse o nome de dispositivo apropriado (sda vs sda1).

Em resumo, a configuração mais compatível que encontrei é uma partição simples do tipo 06 (FAT16), formatada com UDF no tamanho de bloco 512. Funciona automaticamente no Windows e um pouco de intervenção manual no Linux e OS X.

Simon
fonte
3
Eu tentei outro experimento. Desta vez, usei um pen drive USB em vez de um disco rígido. Formatado com "mkudffs --media-type = hd --blocksize = 512 / dev / sda", funciona sem problemas no Linux, OS X e Vista. Pena que o Windows parece permitir formatos sem partição em pen drives, mas não em discos rígidos.
Simon
Você definitivamente deseja manter o mesmo tamanho de bloco para evitar o uso prematuro da memória flash, consulte: lwn.net/Articles/428584
MarcH