26 de març de 2013

Recuperant dades dun disc dur malmès

Feu còpies de seguretat de les vostres dades. Això és la millor garantia de poder recuperar les vostres dades quan el disc dur falli. No si falla. Quan falli.

Feta l'advertència de rigor, vaig a documentar una sessió real de recuperació d'un disc dur d'un portàtil que es va fer malbé per una mala caiguda. Els símptomes inicials eren:
  • El windows (sic, què voleu, el portàtil no era pas meu) no arrenca.
  • Al muntar el disc en una carcassa externa només es pot accedir a la partició de recuperació de fàbrica (típica d'un portàtil), però no a la del sistema i les dades (partició única, ja he dit que el portàtil no era meu!).
Les dades que contenia eren prou valuoses per a la seva propietària, però no prou per portar-lo a una empresa especialitzada. Per sort, tenim grans eines de codi obert amb les quals provar de recuperar les dades en un cas així. En concret, utilitzarem l'eina ddrescue de GNU (compte no confondre amb dd_rescue, que és una eina complement diferent). Això i els consells dels experts. Així que, abans de res, instal·lem l'utilitat esmentada:
$ sudo apt-get install gddrescue
La primera cosa a tenir present a l'hora de recuperar un disc dur malmès, és que aquest pot morir del tot en qualsevol moment. Per tant, és important fer una còpia de les dades que es pugui sobre un altre disc dur, per poder treballar després amb aquesta imatge.

L'aplicació ddrescue ens permet anar recuperant part de les dades del disc dur en diferents sessions i utilitzant diverses estratègies, per anar-les afegint a una imatge que es va completant amb les noves dades. Per això utilitza un fitxer de registre on guarda informació sobre els sectors que ha anat llegint, quins sectors contenen errors, etc...

Per tant, és prioritari llegir de seguida la part corresponent al sistema de fitxers:
$ ddrescue -i0 -s50M /dev/sdc3 hddimage.img recovery.log
Amb aquesta comanda llegim la tercera partició dels disc dur /dev/sdc i creem una imatge hddimage.img i un fitxer de registre recovery.log en el directori actual. En concret llegim 50 MB (-s50M) a partir de l'inici de la partició (-i0).

En cas que es generin errors, cal mirar de salvar com a mínim el primer MB (li deixem fins a tres re-intents de lectura, amb -r3) amb:
$ ddrescue -i0 -s1M -d -r3 /dev/sdc3 hddimage.img recovery.log
En el meu cas vaig poder recuperar aquesta part sense problemes, en qüestió de minuts. A partir d'aquí, cal salvar les dades bones el més ràpidament possible:
$ ddrescue -v -i0 --min-read-rate=1M --no-split \
                           /dev/sdc3 hddimage.img recovery.log
La comanda força una velocitat de lectura mínima de 1 Mbps. És a dir, que es saltarà els sectors malmesos per llegir primer els que són correctes. Si el disc està força bé, anirà ràpid, però en el meu cas, el disc estava "trinxat", amb molts sectors tocats i saltejats, pel que va ser un procés lent. Calculo que ben bé unes 40 hores, que van permetre recuperar un 95% de les dades. Com acostuma a passar, no va poder recuperar els fitxers més preuats.

Tos seguit es llegeix la resta del disc (si encara aguanta):
$ sudo ddrescue -v -i0 /dev/sdc3 hddimage.img recovery.log
$ sudo ddrescue -v -i0 -r3 /dev/sdc3 hddimage.img recovery.log
Les dues comandes proven de llegir la part pendent del disc, la primera directament, la segona amb tres re-intents. Aquest procés va trigar en el meu cas al voltant de 500 hores (més de dues setmanes i mitja, nit i dia funcionant). Creieu-me: feu còpies de seguretat de les vostres dades.

La imatge mostra un moment del procés:

La bona notícia és que es va poder recuperar el 99.9% de les dades, inclosos els fitxers desitjats.

I com que ja m'he allargat molt per un sol article, deixaré per un altre dia com muntar i restaurar imatges, recuperar dades si el sistema de fitxers està malmès i altres cosetes relacionades. Serà aviat. De veritat.

2 comentaris:

  1. Açò funcionaria si el mecanisme que fa rotar el disc dur està trencat?

    ResponElimina
  2. Hola i benvingut, loSUPREMme!

    Si el disc està danyat a nivell del HW bàsic, només el podrà recuperar una empresa especialitzada, que disposa dels recanvis adequats per fer-ho i llegir els plats magnètics.

    En el cas que comento, la caiguda havia fet que el capçal tornés cap a l'inici, colpejant el plat per tot arreu, anant rebotant. Per això hi havia un munt de sectors malmesos, i la lectura va ser tant lenta, ja que segurament el capçal també estava parcialment malmès...

    Això sí, arrencava i mecànicament estava bé. Si no t'arriba ni a fer el "reset" (el clac-clac inicial), poca cosa tens a fer. Però vaja, tampoc no perds molt per provar-ho. Ja comentaràs com ha anat...

    ResponElimina