systemrescuecd e ddrescue.
Isso criará uma imagem, por exemplo digamos que você chame de blah.a
Você precisará usar algum conhecimento de linux ... como fdisk -l
para ver quais unidades são detectadas ... Você pode conectar a unidade a USB ou conectá-la internamente. Não é necessário montá-lo, nem mesmo montá-lo, provavelmente é melhor não montá-lo. Então você pode dizer ao ddrescue para copiar a partir dele, para uma imagem de arquivo de destino.
Depois de ter uma imagem, você pode executar o testdisk nessa imagem. testdisk blah.a
Pode levar, por exemplo, algumas horas para a imagem, porque ela tem que fazer todo o disco. É muito mais lento do que, por exemplo, macrium.