Questo post vuole essere un tutorial per coloro che si ritrovano nella mia situazione, nella disperata ricerca di recuperare i propri dati da una partizione ext4
21:15 Un paio di amici di Frafra arrivano a casa, si piazzano in camera, e iniziano a guerreggiare a bzflag. Frafra prende il suo Aspire One con moblin alpha2 e capisce che è meglio installare una distro qualsiasi per giocare col suo caro bzflag.
21:25 Frafra trova sul proprio hd esterno, l’immagine di archlinux che cercava. Ora bisogna trasferirla con un dd if=archlinux.img of=/dev/sdb (dove sdb è la pennetta usb).
21:26 Frafra si accorge che il led della pennetta non lampeggia e interrompe subito l’operazione con un bel ctrl+c.
21:27 Frafra impallidisce: la pennetta era /dev/sdc, e non sdb. sdb *era* il suo hd, con tutti i suoi dati, le foto di quando era piccolo, del suo 18esimo compleanno, con circa cinquantamila righe di codice sorgente python dei suoi programmi, qualche tonnellata di documenti, pdf, iso, musica… e il film di Ratman preso da youtube
Non vi sto a spiegare il seguito, ma vi mostrerò come ho risolto
Risoluzione
Primo punto: non farsi prendere dal panico
Secondo punto: fare una copia dell’intero hd con:
dd if=/dev/sdb of=/home/frafra/hd.img
Attenzione: questa operazione dura mooolte ore con dischi grossi, e l’immagine creata sarà di dimensioni pari a quelle dell’hd (e non dello spazio occupato). Se non disponete di sufficente spazio, potete creare una immagine compressa, con:
dd if=/dev/sdb | gzip > /home/frafra/hd.img.gz
Se dovrete ripristinare il disco, basterà dare:
dd if=/home/frafra/hd.img of=/dev/sdb
…oppure (se avete creato una immagine compressa)…
gzip -dc /home/frafra/hd.img.gz | dd of=/dev/sdb
Punto 2 e mezzo (opzionale): recuperare i file cancellati con photorec
Vedere: www.cgsecurity.org/wiki/PhotoRec_Step_By_Step
Terzo punto: ripristinare la tabella delle partizioni originaria
Qui utilizzeremo testdisk. Da superutente (quindi dopo aver digitato su [invio] o sudo -c [invio]) lanceremo il comando:
testdisk # (chi se lo sarebbe mai aspettato? ;D)
Premiamo invio, selezioniamo il nostro disco rigido, selezioniamo Intel, premiamo su Analize, Quick Search, se abbiamo creato partizioni sotto vista premiamo Y (altrimenti N), premete nuovamente invio, selezionate Deeper Search, e aspettate. Ora, dovremo scegliere quale/i partizione/i far tornare alla luce. Nel mio caso era la seconda scelta (la partizione più grossa), allora l’ho selezionata, e con le frecce sinistra/destra, l’ho fatta diventare P (ovvero primaria). Per procedere: invio, y, Ok. Ora che abbiamo rimesso in sesto la tabella delle partizioni è consigliabile riavviare.
Maggiori informazioni su questa procedura su:
www.cgsecurity.org/wiki/TestDisk_Step_By_Step
Quarto punto: riparare il filesystem
Nel mio caso si trattava di un ext4. Se trattiamo di ext2/3/4, bisogna trovare un superblocco non danneggiato, che possiamo ottenere con Testdisk, andando nel menù principale, selezionando Advanced, selezionare la partizione e scegliere Superblock. Appuntiamoci il risultato 
Ora lanciamo il nostro fsck (da superutente) in questa maniera:
fsck -vyf -t [fs] -b [blocco] -B [dimensione del blocco]
Al posto di “fs” mettiamo il nostro filesystem (nel mio caso ext4), al posto di “blocco” il numero del blocco, e al posto di “dimensione del blocco” la dimensione del blocco (di solito 1024 o 4096). Ora non ci resta che aspettare e sperare.
Maggiori informazioni su questo passaggio reperibili su:
www.cgsecurity.org/wiki/Advanced_Find_EXT2_EXT3_Backup_SuperBlock
Quinto punto: montare la partizione e recuperare i files
Dopo aver riavviato il pc, proviamo ad entrare nella partizione. Se tutto va bene dovremmo essere in grado di montarla, e di vedere il contenuto di lost+found (che però è visibile solo per il superutente). Se tutto è andato a buon fine, dovremmo avere svariate cartelle coi nostri tanto amati files
Con un:
cd /media/partizione; mkdir /home/frafra/backup; cp \#*/ /home/frafra/backup
….(da root) dovremmo avere tutti i nostri dati nella home (ovviamente /media/partizione e /home/frafra possono variare come parametri).
Spero di esservi stato utile
Comunque nulla è meglio di un buon backup
frafra Disastri, Frafra dd, fsck, recovery, testdisk