Algumas coisas aqui. Primeiro, o comando que você listou provavelmente não funcionará como você está esperando. Parece que você está tentando acertar 150 GB, mas precisa levar em conta tanto o tamanho do bloco quanto a contagem (a contagem é o número de blocos do tamanho do bloco). Portanto, se você quiser 150 GB, poderá fazer bs=1GB count=150
. Você poderia então continuar de onde parou adicionando um skip=150
para pular 150 blocos (cada um com 1 GB) na segunda corrida. Além disso, para que o gzip envie sua saída para o padrão, você precisa passar a opção -c
.
No entanto, antes de fazer isso, algumas outras perguntas. Você está usando o dd aqui porque o sistema de arquivos está corrompido / danificado / etc e você precisa de uma cópia exata da imagem de disco bit-a-bit dele? Ou você está apenas tentando tirar os dados? Uma ferramenta com reconhecimento de sistema de arquivos pode ser mais eficaz. Particularmente se o sistema de arquivos de origem não estiver cheio. As opções incluem tar ou talvez você queira procurar algo como Clonezilla , Partclone , Partimage , ou para uma opção mais específica do Windows para acessar diretamente um sistema de arquivos do Windows, Linux-NTFS (note que as ferramentas mencionadas anteriormente também podem lidar com sistemas de arquivos do Windows em vários níveis).
Se você estiver configurado para operar na partição com um programa que não seja compatível com sistema de arquivos, então, usar sua linha dd (conforme a modificação acima para estar correta) provavelmente funcionará. É difícil dizer quão bem ele será compactado, mas deve ser menor que o sistema de arquivos original. Se você tiver acesso de leitura / gravação ao sistema de arquivos original, valeria a pena preencher o espaço livre com um arquivo gravado de / dev / zero para zerar o espaço não utilizado antes de salvá-lo com dd. Isso aumentará a capacidade do gzip de compactar o espaço livre na imagem do disco.
Para operar no segundo fragmento, basta adicionar um skip=XXX
bit à sua segunda invocação dd, em que 'XXX' é igual ao valor count=
que você forneceu na primeira vez. Se você quisesse fazer 150 GB em seu primeiro e 40 em seu segundo, você poderia fazer:
sudo dd if=/dev/sdf1 bs=1GB count=150 | gzip -c > img1.gz
seguido por:
sudo dd if=/dev/sdf1 bs=1GB skip=150 count=40 | gzip -c > img2.gz