Data Recovery su partizioni ReiserFS
Piu` spesso di quanto si possa immaginare capita (almeno al sottoscritto) di cancellare file di importanza vitale.
Dopo anni alle prese con questo problema ho dovuto iniziare a cercare di capire come fare a recuperare suddetti file e la soluzione, benchè rozza, è decisamente funzionale.
IMPORTANTE: BISOGNA FARE UN BACKUP DELLA PARTIZIONE CONTENENTE I DATI DA RECUPERARE CON TOOL COME DDRESCUE IN QUANTO, DURANTE IL RECUPERO, MOLTI FILE ESISTENTI POTREBBERO VENIR CANCELLATI O CORROTTI
Seppur non si direbbe, il recupero dei file è molto semplice. Non è altrettanto semplice il ritrovamento dei file persi, in quanto durante il recupero difficilmente si potrà riavere anche il nome originale del file, e ci si troverà davanti ad una serie di file con il nome formato da una serie di numeri.
Prima di tutto, bisogna smontare immediatamente la partizione su cui risiedono - o meglio, risiedevano - i dati cancellati.
Premetto che tutti i comandi che seguono sono da eseguirsi con i privilegi di root.
Più tardi lo si fa, maggiori saranno le possibilità di perdere definitivamente i dati cancellati. Se i dati risiedono sulla directory root, ovvero la /, è meglio spegnere il computer e riavviare il sistema in single mode (ovvero, aggiungere la parola single ai parametri da passare al kernel).
Assumiamo che i dati persi fossero dentro /home/utente/work che risiede su /dev/sda2. Ovviamente il nome del device cambia a seconda del tipo di hard disk utilizzato. Per hard disk Serial ATA sara` /dev/sdaX, per quelli di tipo parallel ATA (i “normali” ide), il device sarà /dev/hdaX dove X sta per il numero di partizione.
Se non sapete qual è il device giusto, date un’occhiata in /etc/fstab.
Essendo i dati persi nella /home, smontiamola subito con il comando:
umount /home
Una volta smontata alla partizione,
fate il backup con tool come ddrescue perchè quasi sicuramente alcuni file esistenti sulla partizione andranno persi. Insisto su questo punto perchè, seppure potrete recuperare file importanti, ne potreste perdere altri ancor piu` importanti.
Probabilmente a questo comando riceveremo un errore del tipo: umount: /home: device is busy. Questo perchè ci puo` essere qualche programma che sta usando la /home. Conviene, quindi, uscire dall’ambiente grafico e chiudere tutti i programmi aperti, fino a quando non si riesce a smontare la partizione.
Per una lista dei processi che usano la /home al momento, potete usare questo semplice comando:
lsof /home | awk '{print $1}' | grep -v COMMAND | uniq | sort | egrep -v '\[awk|grep|uniq|sort|]'
Una volta smontata la partizione, si può procedere col data recovery.
Sempre da root, digitiamo:
reiserfsck --rebuild-tree -S -l /root/recovery.log /dev/hdaX
Dopo di questo, che puo` durare diverso tempo a seconda della grandezza della partizione (circa 30 minuti su una partizione da 80Gb serial ATA), avremo un log file dentro /root.
A questo punto possiamo rimontare la nostra partizione con:
mount /home
Ora, alla sua radice (per esempio, nel caso di /home, in /home/lost+found), troveremo una cartella chiamata lost+found che conterrà tutti i file che abbiamo cancellato e che sono stati recuperati. Sfortunatamente, per molti di essi non sarà possibile ricostruire il nome, ma meglio di niente.
--
IvanGiuliani - 21 Aug 2005
Inizio pagina