Acontece que o uso da opção /q
no Windows foi o culpado: ela permite o 'formato rápido', ou seja, o processo de formatação continua em segundo plano com cada gravação feita no disco. Assim que terminar, a unidade é manipulada pelo Linux bem.
(Esta é uma continuação de " O que é o ID da partição / tipo de sistema de arquivos para UDF? ")
Eu conheço duas maneiras de formatar um disco rígido como UDF:
format x: /fs:UDF
" (não use /q
!) mkudffs --media-type=hd --blocksize=512 /dev/sdx
" O problema é que o sistema operacional "outro" não reconhece o disco como formatado: ele simplesmente se recusa a montá-lo, não importa quais comandos eu tente.
Como posso formatar um disco rígido como UDF para que tanto o Windows quanto o Linux possam usá-lo?
EDIT: atualizou os comandos, agora o resultado deve funcionar em qualquer sistema operacional.
Acontece que o uso da opção /q
no Windows foi o culpado: ela permite o 'formato rápido', ou seja, o processo de formatação continua em segundo plano com cada gravação feita no disco. Assim que terminar, a unidade é manipulada pelo Linux bem.
Ao formatar a UDF, uma coisa que não pode ser sublinhada é quão importante é usar o tamanho de bloco adequado ao formatar a UDF. Conforme explicado aqui , usar um tamanho de bloco configurado que não corresponde ao tamanho físico do setor provavelmente significa que alguns sistemas operacionais não poderão para detectar a unidade como UDF válida.
Inspirado na resposta acima (e em minhas outras pesquisas / testes), escrevi um script para automatizar o processo de formatação em UDF - usando o tamanho do setor corretamente detectado. Veja format-udf no GitHub . Recursos notáveis:
Por causa do último ponto, esse script que eu escrevi não pode ser usado no Windows. No entanto, o script será executado no OS X e no Linux. Depois de fazer isso, o Windows deve poder detectar magicamente a unidade UDF recém-formatada.
Para responder diretamente às perguntas postadas, o format-udf irá:
mkudffs
no Linux) blocksize
) Como você reconciliou sua descoberta na questão anterior (que o sistema de arquivos UDF deve ser criado em todo o disco, não em uma partição) com o comando do Windows ("format x: / fs: UDF")? Em minhas tentativas, o Windows fornece apenas letras de unidade para partições.
No que diz respeito à formatação para compatibilidade, acho que a chave está no tamanho do bloco. Como a maioria dos discos rígidos e pen drives têm um tamanho de bloco de 512 bytes, eu tive a maior compatibilidade quando criei o FS que bloqueia o tamanho. Eu acho que o formato.com está usando esse tamanho de bloco, e o mkudffs tem um interruptor de comando para alterar o tamanho do bloco. Eu só consegui obter o OS X e o Windows para montar o sistema de arquivos quando usei blocos de 512 bytes. Versões mais antigas do Linux assumiram um tamanho de bloco de 2048, mas você pode sempre montar com "-o bs = 512".
O problema de todo o disco versus partição ainda causa problemas de compatibilidade. O Windows não é montado quando eu formato todo o disco, e o OS X não olha além do número de 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 do 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 .