Verifique o resultado de dd
com echo $?
logo após o término. Tem que ser 0
! Verifique a saída de dd
para erro óbvio. Não vejo o tamanho de /dev/sdb
na pergunta.
A especificação de um arquivo de dispositivo sem o número de partição não copia a partição, mas todo o dispositivo, incluindo a tabela de partição. Ou você sabe qual partição será resgatada, ou seja, especifique /dev/sdaX
como if
argumento de dd
ou crie e imagem de todo o dispositivo (melhor ideia), monte-o em um dispositivo de loop, por exemplo encontre o próximo dispositivo de loop livre com losetup -f
, use-o com losetup /dev/loopY /path/to/image.img
e faça o kernel reconhecer as partições com kpartx /dev/loopYp?
onde ?
deve ser o número da partição que você deseja recuperar da maneira descrita na sua pergunta. / p>
Dependendo de quão gravemente o disco foi quebrado, ou seja, se mais leituras podem danificá-lo mais e quanto espaço você tem em qualquer dispositivo de armazenamento, crie uma imagem do original ou da cópia (o resultado seria a cópia de uma cópia, mas isso pode impedir danos ao original pela leitura).
Acelerar as coisas : quando você usa a cópia de /dev/sdb
on /dev/sda3
(use-a apenas se necessário), você está copiando muitos dados inúteis se /dev/sdb
for apenas 160 GB (a diferença entre o final de /dev/sdb
e o final de /dev/sda3
). Se você quiser ignorar isso, informe dd
para copiar apenas o comprimento de /dev/sdb
com bs
e count
argumento ( man dd
é leitura obrigatória nesse caso).
Talvez haja uma maneira de dizer ao kernel alguns ajustes que o /dev/sda3/
contém uma tabela de partições, mas considero isso bastante complicado e experimental.