Quando copio o conteúdo de uma unidade, a cópia ocupa menos espaço. Por que?

Quando copio o conteúdo de uma unidade, a cópia ocupa menos espaço. Por que?

Estou tentando copiar o conteúdo de um disco rígido para outro disco rígido.

Mas uma vez concluída a cópia, ela ocupará menos espaço do que os arquivos originais.

Portanto, nem todos os arquivos estão sendo copiados.

Suspeito que isso ocorra porque, após um certo número de pastas, os arquivos não estão sendo copiados.

Isso está correto? E se sim, como posso evitar que isso aconteça?

SO: Windows 8.1 Pro


DESCULPE, QUIS SIGNIFICAR 700GBNÃOMB!!


Estou experimentando no Linux agora e vou ver se acontece o mesmo.

Responder1

Resposta curta:
Não necessariamente. Pode ser apenas o tamanho diferente do cluster entre os dispositivos.

Mais algumas palavras:
Ao copiar um arquivo de um dispositivo para outro (de um HDD para outro), você deve considerar até mesmo os diferentes tamanhos de cluster. Sem entrar muito fundo nozoológico do tipo de sistema de arquivosbasta dizer aqui que uma partição é organizada como um caderno de aritmética, os bytes são agrupados em setor de forma semelhante a que no caderno você pode dizer que os quadrados estão agrupados em páginas. O índice do espaço livre e utilizado (FAT) é feito considerando apenas aquelesgrupos. Os setores podem ser livres ou completos,tertium não datur.

Portanto, um arquivo tem um tamanho para os bytes efetivos usados ​​(se for um arquivo de texto e contiver apenas a palavra "Oi"será 2Bytes), e um tamanho para espaço utilizado no dispositivo (se um setor for de 4kB será um múltiplo de 4kB, se em outro dispositivo o setor for de 512 bytes será um múltiplo de 512B).

Por outro lado é possível que ao copiar um grande número de arquivos você possa ter erros nas operações de escrita ou leitura, você pode não ter direito de acesso a algum arquivo, ou algum arquivo pode ser deletado entretanto se a operação for longa e o arquivo é temporário.

Isso geralmente é notificado pelo programa que você está usando com alguma mensagem de erro e um código de saída de erro. No Linux, por exemplo, você pode capturar o código de saída escrevendo no shell echo $?. Se retornar um valor diferente de 0 significa erro. Se você não captou essas mensagens com antecedência, você deve verificara posteriori.

Depois disso, você copiou um grande número de arquivos que pode verificar,rapidamente, se o número dos arquivos e ototal eficazcorrespondências de contagem de bytes. Uma verificação mais eficaz pode ser feita computando e comparando osmd5sumpara cada arquivo em ambas as cópias. Se corresponder, todo o conteúdo está OK. Pelo menos você pode querer verificar a permissão e a data.

Muitas vezes é confortável confiar em ferramentas específicas comorsyncpara Linux,robocopypara Windows ou uma das muitas outras ferramentas disponíveis.

informação relacionada