“dd” Utillity copiado mais que o esperado

0

Acabei de comprar um ssd para mudar com o disco rígido atual. Então, decidi copiar partições inteiras de 750 gb (claro que usei parte dela que é aproximadamente 76 GBs) usando o utilitário "dd". No entanto, eu digitei este comando:

sudo dd if=/dev/sda5 of=/dev/sdb1

(desde que a partição que eu mencionei foi definida como "sda5" ...) Eu estava esperando copiar estes 76 GBs completamente, mas acabou de copiar essa parte; Além disso, ainda é mantido copiando outros 674 GBs null :) Não posso ser considerado um expert usando o comando linux ou "dd", aposto que não esperava esse resultado. Quando eu digito o comando sudo pkill -USR1 -n -x dd , ele diz: "505029097 + 0 registros em 505029096 + 0 registra 258574897152 bytes (259 GB) copiados, 39871,3 s, 6,5 MB / s " Então, se alguém puder explicar essa situação para mim, eu ficaria muito satisfeito.

    
por Konko 29.12.2016 / 11:09

2 respostas

2

Se você não especificar as opções bs e count, o dd copiará a partição inteira /dev/sda5 . Isso ocorre porque o dd é uma ferramenta de nível muito baixo e não tem meios de distinguir entre arquivos e espaço vazio. Portanto, para copiar apenas a parte integral da partição, o dd não é a ferramenta de que você precisa, porque mesmo você especifica o tamanho, não há motivo para os dados reais estarem no início do espaço disponível.

Se você deseja copiar apenas os dados usados, redimensione a partição /dev/sda5 . Comece redimensionando a partição 750 para uma outra partição de pouco mais de 76 GB que está quase cheia. Para redimensionar a partição, você pode usar o comando gparted ou fdisk . Após o redimensionamento, você pode usar o dd da maneira padrão na nova partição.

Você também pode compactar a partição /dev/sda5 executando-a através do gzip. depois disso, você pode copiar a imagem copered usando dd como segue

dd if=/dev/sda5 | gzip > sda5.gz

então

dd if=sda5.gz | gunzip > /dev/sdb1 
    
por 29.12.2016 / 12:17
4

The dd utility shall copy the specified input file to the specified output file with possible conversions using specific input and output block sizes.

link

Portanto, dd faz uma cópia completa de seus arquivos ou unidades e não pode detectar quais segmentos são usados e quais não são. Para isso eu recomendaria algo como (G) Parted .

    
por 29.12.2016 / 11:12