Recuperare contenuti disco rigido

Cosa direste se aveste fatto un favore al vostro datore di lavoro, lasciando il suo portatile a fare un defrag (utilizzando JkDefrag) e lui vi dicesse che non funziona più nulla? Beh, quello che ho detto io quando mi è successa questa cosa, meglio non scriverlo 🙂 Per qualche motivo il portatile si è riavviato mentre il defrag era in corso e tutti i dati sono andati persi. I sintomi?

  • Niente boot Windows Vista dopo il POST
  • Impossibilità montare (linux) la partizione NTFS danneggiata

Resistendo alla tentazione di avviare il recovery disk di Windows per usare chkdsk, mi sono imbattuto in una favolosa distribuzione live chiamata Trinity Rescue Kit (a cui da ora in poi mi riferirò con la sigla TRK) che mi ha aiutato a contenere i danni.

Attenzione! Non mi ritengo responsabile di eventuali danni ai vostri software/hardware/dati provocati o derivati dall’uso di questa procedura. Continuate a vostro rischio e pericolo!

“Perchè non usiamo chkdsk potreste chiedere. Come ho detto prima, ero tentato dal percorrere subito questa strada. Ma i dati del mio datore di lavoro erano troppo preziosi per permettermi un tentativo così rischioso, dato che chkdsk avrebbe potuto semplicemente eliminare parte dei dati corrotti o marcare alcuni settori come danneggiati. Avevo bisogno di recuperare quei dati. Il metodo che sto per illustrarvi vi permetterà di clonare l’intero disco in una cartella condivisa di un computer remoto, in modo da poterla elaborare con il programma di recupero dati che più preferite (Get Data Back, etc.). Per questo motivo è necessario che abbiate un altro computer perfettamente funzionante, connesso in rete con quello danneggiato, con abbastanza spazio sul disco da permettere una copia del disco danneggiato.

Cominciamo. Per prima cosa, dovete condividere una cartella sulla vostra rete locale in modo da potervi copiare l’immagine del disco danneggiato. Se state usando Windows XP sul PC funzionante, seguite questo tutorial preso dalla Microsoft KB. Fate solamente attenzione ad assegnare i permessi sia di lettura che di scrittura alla condivisione e che vi sia spazio sufficiente a contenere la copia del disco danneggiato.

Adesso scaricate e masterizzate l’immagine del disco di TRK. Ecco il link diretto alla pagina dei download:

http://trinityhome.org/Home/index.php?wpid=5&front_id=12

Appena avete fatto, inserito il disco nel computer con il drive danneggiato e riavviatelo: dopo il POST, TRK dovrebbe avviarsi. Se non lo fa, probabilmente bisogna cambiare l’ordine di boot nel BIOS del vostro PC. La procedura per effettuare questa operazione molto semplice è presente nel manuale della vostra scheda madre o del vostro portatile.

Dal menu di boot TRK, selezionate “Run Trinity Rescue Kit (default)” e premete INVIO. TRK si avvierà e proverà ad auto configurare la vostra scheda di rete (richiede che un server DHCP sia attivo sulla vostra rete). Se dovesse fallire (è molto probabile che accada!) non andate in panico. Quando il sistema è avviato completamente, eseguite “setip eth0” dalla riga di comando (assumiamo che abbiate una sola scheda di rete e che si chiami eth0) e rispondete alle domande riguardo l’indirizzo ip, la netmask, il gateway ed il server DNS. Per verificare il corretto funzionamento della rete, provate ad interrogare il computer che condivide la cartella usando il comando ping. Assumendo che abbia l’IP 192.168.0.1, il comando da usare è ping 192.168.0.1 . Cercate di non saltare questo passaggio, dato che per il corretto funzionamento di questa procedura, la rete deve funzionare alla perfezione. In caso aveste bisogno di un accesso Internet da questo computer, specificate una rotta per il gateway usando il comando route add default gw GATEWAY_IP. Se, per qualunque ragione, il comando ping dovesse fallire risultando in timeout, ricontrollate la configurazione di rete ed i cavi.

Prima di poter clonare il disco, dobbiamo far vedere a TRK la cartella condivisa, utilizzando il comando smbmount, che è parte della suite SAMBA. Sostituite a SHARE_SERVER_IP l’IP del server su cui è presente la cartella condivisa, XXX con l’username per accedere alla condivisione e YYY con la relativa password.

smbmount //SHARE_SERVER_IP/share_name /mnt0 -o username=XXX,password=YYY,lfs

E’ fondamentale che non saltiate la parte finale lfs, altrimenti potreste aver problemi a copiare file di dimensioni superiori a 2GB. Ora passiamo alla clonazione. In caso non sapeste il nome che Linux ha assegnato al vostro disco, digitate mountallfs e verificate quale disco non riesce ad essere montato. Diciamo che il disco non funzionante si chiami hda1. Il comando da eseguire risulterà:

ddrescue -r3 /dev/hda1 /mnt0/rootfilesystem.img logfile-hda1

Questa operazione potrebbe richiedere molto tempo ma, alla fine, il file risultante si troverà nella cartella che avete condiviso sul vostro PC. Ora provate ad aprirla con il programma di recupero dati di cui avete fiducia (io consiglio GetDataBack, mi ha salvato il **** più di una volta). Se non siete riusciti a recuperare i dati che vi interessavano, non disperate. Provate uno degli altri metodi presenti nella pagina delle procedure di recupero di TRK, linkata in fondo a questo post. Una volta recuperati i vostri dati, inserite il disco di recovery di Windows e provate con chkdsk… 🙂

References

TRK Procedures: Dying disk – How to recover files from damaged disk from best to worst scenario
Windows XP: sharing a folder – Articolo sulla Microsoft Knowledge Base che spiega come condividere una cartella sulla rete locale
Ubuntu: sharing a folder – Articolo su UbuntuGuide su come condividere una cartella sul SO Ubuntu