Como copio um arquivo maior que 4 GB para uma unidade flash USB?

53

Estou tentando copiar um arquivo de 6 GB para uma unidade flash USB, mas ele não será copiado.

VJ Ranga
fonte
23
A unidade USB está formatada com o FAT32? Esse sistema de arquivos não suporta arquivos maiores que 4 GB. Você precisa formatá-lo de maneira diferente, por exemplo, como NTFS. Cuidado que a formatação exclui todos os dados na unidade.
Byte Commander
14
Você pode colocar mais detalhes na pergunta sobre o "não será copiado"? Quais comandos você tentou? Que mensagem de erro você recebe? (Estes são muito úteis no caso de alguém tem o mesmo problema no futuro e está à procura de uma resposta ...)
psmears
2
Google por "não é possível copiar arquivos maiores que 4 GB" e você vai receber toneladas de respostas em Stackexchange
phuclv
5
Também pode ser útil incluir o tamanho do USB
George Tian,
3
@Nukeface Você pode incluir uma resposta com instruções sobre como fazer isso? Deixar uma meia resposta como comentário pode causar mais mal do que bem. Obrigado.
Eliah Kagan

Respostas:

109

Isso ocorre devido à limitação do FAT32. Arquivos maiores que 4 GB não podem ser armazenados em um volume FAT32. A formatação da unidade flash como exFAT ou NTFS resolverá esse problema.

AVISO: Faça backup dos seus dados. A formatação excluirá todos os dados do seu dispositivo.

Russo
fonte
20
Aliás, a formatação da unidade de flash como ext3também é uma opção
Basile Starynkevitch
18
@BasileStarynkevitch sim, mas não é muito útil em alguns sistemas operacionais proprietários;)
Ruslan
11
@Ruslan: Eu apóio isso. O uso do ext3 / 4 no Windows foi mais doloroso do que o exFat e NTFS no Linux.
JIV 5/09
13
Mesmo sendo uma criação da Microsoft, há muito a ser dito sobre o exFAT. Como outros observaram, ele é tratado pelos três sistemas operacionais de desktop, portanto, você tenderá a maximizar sua interoperabilidade. Além disso, foi projetado para uso em grandes unidades flash. Citação: en.wikipedia.org/wiki/ExFAT Em particular, como pode marcar um arquivo como contíguo e, assim, evitar ter que tocar no FAT, ele funciona de maneira extremamente eficiente no caso de uso dos OPs: manipulando um arquivo muito grande.
dgnuff
8
@dgnuff você quer dizer, todos os três principais do desktop OSs :)
dn3s
91

Se você não quiser reformatar sua unidade USB ou precisar que ela seja FAT32, basta dividir seu arquivo grande em partes. A maioria dos gerenciadores de arquivos vem com a opção split e, para a linha de comando, existe split, por exemplo, para o seu caso:

split -b4294967295 /path/to/input.file /path/to/pen/drive/output.file.

Veja man splitpara a documentação completa. Isso criará os seguintes arquivos:

4,0G output.file.aa
1,6G output.file.ab

O tamanho do arquivo output.file.aacorresponde exatamente ao tamanho máximo do seu drive USB formatado em FAT32, que é de 4 Gibibyte (GiB, que não é o mesmo que Gigabyte GB) menos 1 Byte .
Agradecemos a Gilles por esta importante adição.


Antes de poder acessar o arquivo novamente, você precisa mesclar suas partes primeiro. Nos sistemas Linux, você pode fazer isso com:

cat output.file.* > input.file

Se você tem medo de que isso possa classificar os arquivos com a leitura incorreta no Bash, as expansões de curingas estão em ordem?
O comando correspondente nos sistemas Windows é:

copy /b output.file.aa+output.file.ab input.file

Juntamente com muitos outros utilitários GNU úteis, também splitpodem ser instalados no Windows, consulte Utilitários GNU para Win32 .

sobremesa
fonte
2
Aposto que metade dos votos que recebo aqui são apenas por causa de GiB vs. GB. ;)
dessert
2
Eu teria votado splitmesmo sem a distinção entre GiB e GB. Mas eu vou enviar uma attaboy para isso ...
Zeiss Ikon
11
@dessert Eu esperaria que você recebesse apenas cerca de 7,4% de votos a mais.
Eliah Kagan
11
Eu votei porque a reformatação da unidade apenas para poder mover um arquivo grande é uma resposta horrível quando splitexiste precisamente para esse fim e não é necessária para o recebimento. O FAT32 é a língua franca das unidades USB por um motivo.
Monty Harder
Eu acho -b 4095Mque seria muito mais simples e alcançaria o mesmo que o bccomando. Em Bash pode-se também usar shell aritmética: $(((4<<30)-1)).
David Foerster
39

Problema: O FAT32 possui um limite de 4GiB para o tamanho do arquivo

Diferentes cenários e sistemas de arquivos são examinados, procurando alternativas levando em consideração

  • o problema do tamanho do arquivo
  • quais sistemas operacionais devem ler / gravar a unidade USB

Apenas Linux

Se você pretende usar a unidade apenas com o Ubuntu (e outras distribuições linux), é uma boa idéia usar um sistema de arquivos linux , por exemplo ext4 . Dessa forma, você poderá obter maior velocidade de leitura / gravação (dependendo de qual processo é o gargalo) e maior flexibilidade em relação à propriedade e permissões.

  • Você pode usar o programa GUI gpartedpara criar o sistema de arquivos ext4 .

Total compatibilidade com Linux, Windows e MacOS

O Windows tem problemas com os sistemas de arquivos linux, e acho que o MacOS tem problemas com os sistemas de arquivos linux e o NTFS . Portanto, se você deseja 'compatibilidade total' para leitura e gravação, apenas FAT32 , UDF e exFAT permanecem.

  • O FAT32 possui um limite de 4GiB (gibibyte, base 2) para o tamanho do arquivo.

    • Pode ser criado nos três sistemas operacionais.
    • Manter (reparar) no Windows, se você tiver acesso ao Windows.
    • Pode ser mantido no Ubuntu com dosfsck, que acompanha o pacote dosfstools,

      sudo apt-get install dosfstools
      
      sudo dosfsck -a /dev/sdxn  # least destructive option
      sudo dosfsck -r /dev/sdxn  # more powerful option
      

      onde x é a letra /dev/sdb1da unidade en é o número da partição, por exemplo, para a primeira partição na unidade b.

  • O UDF provavelmente não possui ferramentas para reparar o sistema de arquivos,

    • FOSS
    • Talvez seja possível encontrar ferramentas de reparo no Windows através deste link: fsck tools for UDF , e existe alguma ferramenta disponível como código fonte
    • Pode ser criado no Ubuntu
    • Compatível com links no estilo linux.
    • Compatível com permissões de estilo linux. Você pode criar e modificar permissões de arquivos individuais (o que não é possível com o FAT e NTFS).
    • Uma partição UDF não será solicitada para formatação no Windows 10 (enquanto o sistema de arquivos linux ext4 for afetado e pode ser destruído por engano).
    • Como criar e usar UDF: Usando o UDF como sucessor do FAT para pen drives

      Portanto, para usá-lo, assumindo que o seu pendrive é /dev/sdx:

      1. Instale o pacote udftools

        sudo apt-get install udftools
        
      2. Crie uma tabela de partição e uma partição com gpartedougnome-disks

      3. Limpe o primeiro mibibyte da partição de destino com o risco dd(verifique duas vezes a linha de comando!)

        sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
        
      4. Run mkudffs,

        sudo mkudffs -b 512 --media-type=hd --lvid=my-label /dev/sdx1
        

      Limpe o primeiro mibibyte da partição para apagar as informações anteriores do sistema de arquivos (ou outros dados restantes), para impedir que o pendrive seja detectado como um FAT depois de formatado com UDF.

      Isso -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.

      Depois disso, seu pendrive será utilizável para leitura e gravação com o GNU / Linux e outros sistemas operacionais gratuitos, é claro, mas também com as versões atuais do Windows (somente leitura com a versão desatualizada XP) e com o MacOS.

  • exFAT é outra opção. É novo em comparação ao FAT32 e UDF e alegou funcionar bem

    • nativamente com o Windows
    • com MacOS
    • com Linux

Mais sobre exFAT

Comecei a testar o exFAT no Ubuntu. Pretendo editar esta resposta, quando tiver mais experiência em usá-la. Vamos começar com os seguintes links ,

e esta linha de comando para instalar o suporte [leitura / gravação] para exFAT no Ubuntu

sudo apt-get install exfat-utils exfat-fuse
  • Pode ser criado no Windows e MacOS e no Linux com a seguinte linha de comando

    sudo mkfs.exfat -n YOUR-LABEL /dev/sdxi
    

    onde xé a letra da unidade e ié o número da partição, por exemplo /dev/sdb1.

  • Pode ser mantido no Windows.

Meus primeiros resultados de teste :

  • A criação do sistema de arquivos exFAT funcionou bem no Ubuntu (16.04 LTS (64 bits), sistema instalado com a série Xenial kernel (4.4.0-93-generic), atualizada).
  • A gravação e a leitura de um arquivo maior que 4 GiB foram bem-sucedidas. O Ubuntu e o exFAT cooperaram corretamente e rapidamente (verifiquei com md5sume a velocidade foi limitada pelo sistema USB).
  • Ubuntu e Windows podiam ler o que foi criado no outro sistema operacional. (Não tenho MacOS para teste e preciso confiar nos relatórios de outras pessoas.)

janelas

Portanto, se você deseja acesso total de leitura / gravação do Ubuntu e do Windows, sugiro que você use o NTFS , que possui registro no diário e é muito depurado e polido como o sistema de arquivos [proprietário] do Windows. (Também é possível usar exFAT .)

  • No Ubuntu, você pode usar o programa GUI gpartedpara criar um sistema de arquivos NTFS.
  • No Windows, é fácil criar sistemas de arquivos NTFS e exFAT (eles são nativos).

Mac OS

No MacOS, é possível usar o FAT32 , UDF e exFAT .

Você também pode usar ext4 com uma solução alternativa, o Ubuntu Server com um servidor SSH em uma máquina virtual . (Acho que a mesma solução alternativa também funcionaria com o Windows.) Isso pode valer a pena quando você pretende acessar muitos arquivos através da unidade e do sistema de arquivos, mas provavelmente não com um pequeno pendrive USB2.

Veja este link,

Usando ext4 no OS X Yosemite, o caminho longo, mas seguro

sudodus
fonte
3
AFAIR O Windows XP não pode gravar em volumes UDF. Hoje em dia, não é um problema muito grande, mas ainda vale a pena notar.
gronostaj
2
MacOS montagens tudo como somente leitura NTFS por padrão (presumo que a Apple não acredito que o suporte de gravação NTFS é suficientemente confiável.)
gsnedders
11
@gsnedders Espero que eles não acreditem no Windows.
Wizzwizz4
2
@sudodus Pessoalmente, não tive problemas com tudo, desde o gerenciamento pesado de partições NTFS até a manipulação de Streams do Debian, mas eu aprecio estar seguro com os dados. Além disso, eu tenho um backup , portanto, não importa se eu perco dados antigos (posso apenas copiá-los do backup).
Wizzwizz4
2
Nota: você pode usar exfat no MacOS sem problemas (ele pode até formatar a unidade como exfat). O exfat também está se tornando o padrão para discos flash / cartões de memória maiores.
precisa saber é o seguinte
11

Tendo tido um problema semelhante e não estava disposto a reformatar o pen drive, usei apenas um arquivador. Mais ou menos todas as GUIs modernas (como File Roller, 7Zip etc.) ou CLIs permitem dividir o arquivo morto. Defina o limite de divisão abaixo do limite do FAT (que é de 4 GB), para obter velocidade, você pode escolher uma baixa taxa de compactação, até "armazenar", ou seja, não comprimir nada, e pronto!

Oleg Lobachev
fonte
5

Se você tiver acesso a uma máquina Windows, poderá converter seu sistema de arquivos USB-stick sem formatação. Você deve usar a linha de comando do Windows da seguinte maneira: pressione Win + R, digite cmd-> OK, na janela aberta, digite o comando convert X: /FS:ntfsonde X:está a letra do seu pendrive USB montado. Em menos de um minuto está pronto. Desfrutar.

M. Dm.
fonte
2
Este método pode ser útil :-) Mas a conversão de um sistema de arquivos pode ser arriscada, portanto, recomendo fazer backup de tudo o que é importante no pendrive antes de converter. A propósito, você já usou esse método? Mantém os arquivos? Também funciona de / para exfat?
sudodus 5/09
11
Eu usei esse método várias vezes, todos os arquivos ficaram legíveis após este procedimento. Este utilitário funciona apenas para converter em NTFS, não vice-versa.
M. Dm.
2

Reformatar ou usar a divisão são ótimas opções, ou você pode tentar usar o zip para compactar o arquivo, apenas saiba que alguns arquivos já estão compactados, portanto, compactá-los aumentará. (Além disso, você pode perder a propriedade do arquivo, registros de data e hora etc.)

Jebidieah Cornell
fonte