Você poderia tentar o ddrescue:
GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying hard to rescue data in case of read errors.
Um bom primer para o ddrescue está na ForensicsWiki . Instale-o no Ubuntu executando sudo apt-get install gddrescue
. Em seguida, você recuperará a partição. Citando o artigo:
First you copy as much data as possible, without retrying or splitting sectors:
ddrescue --no-split /dev/hda1 imagefile logfile
Now let it retry previous errors 3 times, using uncached reads:
ddrescue --direct --max-retries=3 /dev/hda1 imagefile logfile
If that fails you can try again but retrimmed, so it tries to reread full sectors:
ddrescue --direct --retrim --max-retries=3 /dev/hda1 imagefile logfile
O imagefile será tão grande quanto a partição que você deseja recuperar, por isso, tenha bastante espaço no disco rígido (obviamente não no mesmo HD que você está recuperando).
Substitua /dev/hda1
pela partição (isto é, / dev / sda2) que você está tentando recuperar. Depois de fazer isso, você pode montar o imagefile assim:
sudo mount -t ntfs-3g -o loop,ro imagefile /mnt
Isto monta a imagem somente leitura no diretório /mnt
.