Procure nas mensagens de log do kernel ( dmesg
ou /var/log/kern.log
) mensagens mais detalhadas dos drivers SATA, se houver um erro de hardware. Também é útil: smartctl -x /dev/sda
. Se fosse apenas uma tentativa de ler após o final de uma partição ou algo assim, isso também poderia aparecer no log do kernel.
Para que o dd continue após um erro de E / S, para ler as partes legíveis que seguem o erro, use
dd if=... of=... conv=noerror bs=128k # it doesn't get any faster beyond about 128k, because of L2 cache size
(Como mencionado nos comentários sobre o OP, ddrescue
tem isso e mais. conv=noerror
foi adicionado ao GNU dd depois que ddrescue
existiu, IIRC.)
Se você quiser continuar de onde parou, use as opções seek
e skip
, com conv=notrunc
.
Se você realmente quiser ver o quão longe o dd está, veja a posição do arquivo de seu stdin:
cat /proc/$(pidof dd)/fdinfo/0 # dd opens its infile as fd #0
(ou ls -lh
do tamanho do arquivo de saída). Copiar um disco rígido inteiro de dados 2 vezes extras, passando-o por algo, parece bobo para mim, como se ele apenas tornasse seu computador um pouquinho mais lento do que o necessário para as horas que a cópia levaria.
Ou pelo menos:
dd if=... conv=noerror bs=128k | pv > Storage.img