Os arquivos ficam maiores ao copiar

1

Eu fui estúpida o suficiente para esquecer que apaguei um backup antigo para poder criar um novo. Alguns dias após a exclusão, meu Windows caiu.

Agora estou tentando criar um backup através do Debian. Estou copiando minha unidade de 1 TB para uma unidade de 1,5 TB, com a árvore de diretórios do Windows (não como uma imagem). Mas meu 1TB não se encaixa no 1,5TB. Não há outros arquivos no disco de 1,5 TB. Ambas as unidades são NTFS.

O que está acontecendo e como corrijo isso?

    
por hasnieking 06.04.2016 / 23:35

2 respostas

2

Ok, Eu apaguei toda a minha unidade e fui para propriedades. Aqui eu descobri que estava listado como vazio, mas 1TB usado. Eu formatado como NTFS e agora tudo se encaixa!

    
por 07.04.2016 / 20:04
0

Existem vários motivos possíveis pelos quais uma árvore de diretórios copiada pode acabar ocupando mais espaço no destino do que na origem. A maioria dos sistemas de arquivos, incluindo o NTFS, suporta os seguintes recursos que podem contribuir para isso.

Edit: Acabei de ver que você está tentando usar cp para fazer a cópia em vez do Windows Explorer. Não tenho certeza de como cp e ntfs-3g se comportam em relação a esses itens. No entanto, continue lendo porque existe uma segunda parte para a resposta.

  • links simbólicos / hardlinks : Os sistemas de arquivos podem criar uma "cópia" leve de um arquivo que, em vez de ser uma cópia completa do arquivo original, simplesmente aponta para o arquivo original (ou seja, as alterações feitas em uma "cópia" se aplicam ao outro). Eu acredito que o Windows também usa essa funcionalidade, por exemplo, na pasta WinSXS. Quando você tenta copiar um vínculo simbólico / link físico com o Windows Explorer, ele não copia simplesmente o vínculo simbólico / link físico leve. Em vez disso, ele fornecerá uma cópia completa do arquivo original. Por exemplo, digamos que você tenha um arquivo e um link simbólico para esse arquivo e copie ambos para um novo local. Então você vai acabar com duas cópias do arquivo original em vez de uma, ocupando o dobro do espaço usado originalmente.
  • arquivos esparsos : o NTFS permite que as pessoas economizem espaço em arquivos que contenham muitos blocos que são todos de 0. Em vez de salvar o arquivo inteiro, o sistema de arquivos pode ser instruído a salvar apenas os blocos que são diferentes de zero. Ao copiar um arquivo esparso usando o Windows Explorer, a cópia resultante não será mais escassa, portanto, os pedaços de todos os 0s no arquivo ocuparão espaço agora, aumentando o tamanho da cópia.
  • compactação: o NTFS permite que as pessoas peçam para compactar arquivos para economizar espaço. Quando um arquivo é copiado usando o Windows Explorer, a cópia resultante não será compactada, a menos que o diretório em que está sendo copiado seja um diretório compactado. Consulte esta página de ajuda da Microsoft para obter detalhes .

A menos que você esteja pessoalmente fazendo uso extensivo desses recursos, parece improvável que qualquer uma dessas coisas faça com que sua cópia consuma muito espaço. Você pode descobrir de onde vem o espaço extra executando um utilitário de uso de espaço em disco, como WinDirStat , tanto na origem quanto na cópia (incompleta) para veja quais pastas estão ocupando mais espaço na cópia.

No entanto, se você realmente quiser uma imagem do Windows totalmente utilizável que possa ser restaurada, eu não recomendaria usar um utilitário como cp , pois não tenho certeza se copiará corretamente os metadados (por exemplo, ACLs do Windows). Em vez disso, eu recomendaria fazer uma cópia baseada em imagem, como sugerido pelo AFH. Se você quiser clonar o disco ao invés de criar uma imagem dele, você deve ser capaz de seguir essencialmente as mesmas instruções, com pequenas modificações que serão mencionadas no final.

  1. Inicialize no Linux. (Eu acredito que você disse que estava usando o Debian.)
  2. Determine o caminho para o disco rígido que você deseja fazer o backup. Ele deve começar com /dev/ . Eu recomendo fazer backup de todo o disco rígido em vez de apenas uma partição. Vamos nos referir a isso como abaixo.
  3. Monte o disco rígido que você deseja fazer backup e encontre o caminho para o seu ponto de montagem. Vamos nos referir a este como abaixo.
  4. Executar dd if=<path to source> of=<path to destination mount point>/mybackup.bak
  5. Aguarde de 3 a 1,5 dias para concluir. (A velocidade provavelmente será entre 10mb / se 100mb / s). Se a sua origem ou destino for uma unidade externa USB 3.0, você pode se surpreender ao notar que a velocidade de cópia é muito mais lenta do que no Windows. O motivo é que, embora o Linux deva oferecer suporte a UASP , o suporte nem sempre é ativado quando deveria. (Pelo menos, esta tem sido minha experiência.)
  6. Se você precisar restaurar seu backup, execute dd if=<path to destination mount point>/mybackup.bak of=<path to source>

Se você quiser clonar o disco em vez de criar uma imagem, poderá substituir o caminho do disco que deseja copiar. (Deve começar com /dev/ .)

Edit: Como gronostaj aponta, usar o parâmetro bs=<size> com dd pode acelerar as coisas. No entanto, o melhor valor a ser usado depende do seu sistema. Veja esta resposta para detalhes .

    
por 07.04.2016 / 00:33