Recuperare i dati da un hard disk danneggiato con Linux
Poco tempo fa, mi è capitato di avere sotto mano due hard disk danneggiati, e di dover (cercare) di recuperare i dati.
Se siamo su Linux, abbiamo molteplici alternative.
Quella che mi ha funzionato meglio è stata usando ddrescue.
Se siamo su Debian:
# aptitude install gddrescue
Su Archlinux:
# pacman -Sy ddrescue
Questo comando, al contrario di dd, non si ferma in caso di errori.
Oltre a questo vi servirà un hard disk di almeno pari dimensione per fare la copia di quello danneggiato.
Ed ovviamente, se l'hard disk danneggiato è quello del pc, vi servirà fare tutto da live (oppure smontarlo e collegarlo ad un altro pc tramite usb).
Il comando da lanciare è il seguente:
# ddrescue -v /dev/sda1 /mnt/hd2/hd1.img /mnt/hd2/hd1.log
Così salviamo anche i dati del recupero in un file di log apposito.
Finita la procedura, la cui durata dipende dalla dimensione dell'hard disk da recuperare, avremmo una copia 1:1 dentro al file IMG.
Su questo file possiamo lavorare come se fosse una partizione; quindi possiamo provare a riparare eventuali errori del filesystem con fsck:
# fsck -f /mnt/hd2/hd1.img
Se conoscete il tipo di filesystem, potete anche specificarlo direttamente (sarebbe meglio):
# fsck.ext4 -f /mnt/hd2/hd1.img
Una volta finito, possiamo provare a montare l'immagine per recuperare i file:
# mkdir /mnt/hd1
# mount -o loop /mnt/hd2/hd1.img /mnt/hd
Ovviamente non è detto che riesca; ad esempio, questa procedura ha funzionato solo uno di quei hard disk che vi dicevo.
Evidentemente l'altro era troppo danneggiato.
Enjoy!
linux dd ddrescue gddrescue fsck
Commentami!