O UDF pode e deve ser usado como um formato de disco rígido?

32

Recentemente, vi o UDF sugerido como a solução para um formato de plataforma cruzada para uma unidade usada no Linux, Mac OS X e Windows XP e superior.

Pesquisei aqui e não encontrei a mesma sugestão (a maioria está sugerindo o NTFS-3G, que parece custar dinheiro e não está pré-instalado em um Mac).

Então, minha pergunta é: como isso é feito corretamente, e alguém fez isso? Você preencheu a unidade e excluiu alguns arquivos para obter espaço, descobrindo que tudo funciona como um formato real de r / w, embora pareça ter sido principalmente um formato de gravação única?

Chame-me de louco, mas eu realmente gostaria que o sistema UDF também fosse automaticamente montado e gravável pelo usuário conectado. O que eu tentei até agora (formatação udftools, como mencionado pelo kicsyromy) não atende a esse desejo.

dlamblin
fonte
11
Um esclarecimento: ntfs-3gé grátis. Seu código fonte é gratuito (ou seja, disponível sem nenhum custo). Também é livre como em liberdade . ntfs-3gé o driver NTFS no Ubuntu! É um pouco técnico criar / instalar manualmente no OS X, e a Tuxera (seu desenvolvedor) oferece uma versão proprietária de payware que é essencialmente o ntfs-3gdriver gratuito criado e empacotado para facilitar a instalação e o uso no OS X. Sem um driver complementar, o SO O X lerá apenas (não gravará) volumes NTFS; portanto, você deve considerar outro sistema de arquivos.
Eliah Kagan
@EliahKagan Então, se o NTFS-3G é "gratuito", por que a Apple não o incluiu para permitir o suporte de r / w para NTFS?
precisa saber é o seguinte
@ user29020 Não sei enquanto a Apple opta por não incluí-lo, mas você pode verificar se é gratuito fazendo o download do código-fonte (atualmente esse arquivo ), extraindo-o e vendo que o COPYINGarquivo é a GNU GPL . Talvez a Apple não quisesse fazer o trabalho integrá-lo, para que ele fosse usado perfeitamente no Finder. Veja também tuxera.com/products/tuxera-ntfs-for-mac e sourceforge.net/projects/catacombae .
Eliah Kagan
11
@ user29020 Custos de suporte (e se for um pouco complicado)? Restrições legais? Gratuito sob a licença GNU GPL significa que ele só pode ser adicionado a fontes / binários existentes que, por sua vez, também estão disponíveis na GPL. (LGPL permitiria que ele fosse usado como uma biblioteca por outro código não GPL). Dado que o código da apple é amplamente proprietário e, de outro modo, sob o APSL, que não é uma licença compatível com GPL, é uma restrição que eles devem cumprir. gnu.org/philosophy/apsl.html
dlamblin

Respostas:

14

Não.

Estamos em 2015 no momento desta resposta. Estou usando o OSX Yosemite, Ubuntu 14.10 e a visualização técnica do Windows 10 para empresas em uma máquina Mactel (Macmini 7,1).

Eu tentei tanto UDF e exFat. Eu uso o Ubuntu para desenvolvimento e preciso de permissões no estilo Unix.

Todos os guias anteriores não se aplicam mais: os drivers UDF evoluíram e todos os sistemas operacionais aceitam uma partição UDF, com mais problemas e instabilidades do que posso imaginar.

  • Unidade UDF formatada no Mac OS: não pode ser montada no Windows 10.
  • Unidade UDF formatada no Linux: não pode ser montada no Windows 10.
  • Unidade UDF formatada no Windows 10: monta leitura / gravação no Linux, somente leitura no OSX.

No entanto, o Windows não permite que você especifique um tamanho de bloco ao formatar um volume UDF e, como resultado, o tamanho do seu bloco lógico pode diferir do tamanho do bloco físico da partição.

Não estou claro se isso tem a ver com as dificuldades que tive para montá-lo de leitura / gravação no OSX, mas depois de excluir um certo número de arquivos usando o Linux, nunca consegui montar a unidade novamente no OSX.

O sistema entra em pânico no kernel e trava vergonhosamente.

Isso, e uma variedade de respostas sobre o assunto, indicam suporte inconsistente para esse formato neste momento.

Parece que existem maneiras de usar um volume NTFS para obter um equilíbrio entre os recursos de um sistema de arquivos moderno, as permissões no estilo Unix - talvez eu possa defini-las - e a montagem de leitura / gravação em todos os sistemas operacionais.

Mauro Colella
fonte
11
OSX é baseado em BSD. Então, sim, é o OSX Yosemite (10.10.2) que experimenta um pânico no kernel. Acabei usando NTFS e NTFS 3d para OSX.
Mauro Colella
11
@Argo, a segunda referência afirma: "O -b 512 é forçar um tamanho de bloco do sistema de arquivos igual ao tamanho do bloco físico do pendrive, conforme exigido pela especificação UDF. Adapte-o se tiver a sorte de ter um pendrive com um tamanho de bloco mais apropriado ". Portanto, permite especificar o tamanho do bloco, mas deve ser especificado como sendo o valor necessário.
JDługosz 03/04
11
O Windows 10 não montado pelo OS X / OS X não montado deve-se à diferença na maneira como cada sistema operacional lida com as tabelas de partição. Windows 10: precisa de um. Mac OS X: Precisa que o UDF esteja na unidade vazia, como uma partição completa da unidade.
DrYak
2
Há uma ferramenta de formatação que cuida dos incosistencies: github.com/JElchison/format-udf
velop
15

Alguém fez uma pesquisa sobre como formatar uma unidade flash com udf para que ela possa ser usada no maior número possível de sistemas operacionais. Aqui estão suas descobertas (costumavam estar , agora offline):

  • O Windows 7 tem suporte total até UDF v2.6, mas o tamanho do bloco UDF deve corresponder ao tamanho do dispositivo subjacente (que para pen drives e a maioria dos discos tem 512 bytes; os discos de "formato avançado" são 4096 bytes). Aparentemente, o disco deve ser particionado.

  • O Linux 2.6.30 e superior suportam UDF totalmente, pelo menos até a versão 2.5.

  • O Mac OS X 10.5 suporta UDF totalmente até UDF 2.01, mas somente quando usado em um disco completo, portanto não particionado.

Como explicado acima, para discos rígidos USB, o Windows exige que o disco seja particionado. Por outro lado, o UDF só funciona no OS X quando é usado em um disco completo (não particionado). Surpreendentemente, existe uma solução que funciona para ambos: ter o disco particionado e não particionado ao mesmo tempo.

As tabelas de partição do DOS são armazenadas nos bytes 446-510 do registro mestre de inicialização. Esse registro mestre de inicialização é armazenado no primeiro setor no disco, setor 0. Normalmente, a primeira partição especificada iniciará alguns kilobytes ainda mais. No entanto, parece possível construir uma tabela de partições cuja primeira partição comece no setor 0, portanto o resultado é uma partição que contém a própria tabela de partições. Os programas do editor de partições parecem se recusar a criar essa tabela, mas pelo menos os kernels recentes do Linux e do Windows não parecem incomodar.

O bom é que o UDF (suponho que eu deliberadamente) não use os primeiros kilobytes da partição ou disco em que está colocado, portanto esse local pode realmente ser usado para armazenar uma tabela de partição herdada, referindo-se a uma partição que abrange todo o conjunto disco. Alguns testes mostram que isso realmente funciona no Linux, Windows e Mac OS X:

  • Monta automaticamente a leitura e gravação no Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Pode ser usado somente leitura no Windows XP e após uma montagem de linha de comando no Linux 2.6.0+
  • Suporta arquivos grandes, permissões UNIX, nomes de arquivos Unicode, links simbólicos, links físicos, etc.

Script para formatar o disco corretamente: script Perl ou script Bash

Dan Benamy
fonte
12

Acabei de testar isso em uma VM. Parece que você precisa (re) criar sua partição no Windows, atribua uma letra de unidade, mas não a formate para nenhum sistema de arquivos. Depois disso, inicialize o Ubuntu e siga as instruções e ele deve funcionar para leitura / gravação.

Lembre-se de fazer backup de todos os seus dados!

Primeiro, instale as ferramentas UDF:

sudo apt-get install udftools

Substitua o primeiro bloco por nada na partição que você deseja formatar para UDF ^:

sudo dd if=/dev/zero of=/dev/sdxN bs=512 count=1

E, finalmente, formate para UDF ^:

sudo mkudffs --media-type=hd --blocksize=512 /dev/sdxN

^ em que:

  • x é um espaço reservado para a letra atualmente atribuída ao seu disco rígido

  • N é um espaço reservado para o número da partição

Boa sorte e deixe-me saber se funcionou para você.

kicsyromy
fonte
Obrigado, isso responde a como; Eu ainda estaria interessado em descobrir se funciona bem o suficiente com o cenário acima.
dlamblin
Isso funcionou perfeitamente para mim. O único problema é que tenho que montar manualmente a partição no Windows usando o Gerenciador de disco. Fora isso, posso confirmar que ele também funciona com várias partições no disco rígido (eu estou usando 1udf + 2ext4)
Nemo
A chave aqui parece ser realmente criar uma partição e, em seguida, criar um sistema de arquivos UDF lá. Se você não criar nenhuma partição, ela funcionará no Linux, mas não no Windows (7). Essa é a minha experiência.
21412 DanMan
O @ DanMan Dan parece ter encontrado alguém que resolveu esse problema e fornece um script para formatar um disco inteiro com UDF para Linux, Mac e Windows 7, além de somente leitura no Win XP.
dlamblin
@kicsyromy: formatar uma partição (sdxN) para UDF não funcionou, a execução sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1fornece a seguinte mensagem de erro: trying to change type of multiple extents No entanto, consegui formatar a UDF usando o disco inteiro (sdd), conforme descrito aqui: superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Tim Banchi