Quante volte ci sarà capitato di ritrovarci con una pendrive o una memory che non funziona più, contenente magari le foto con i nostri ricordi più cari o i file di lavoro. Questo è il caso più tipico ma il programma consente il recupero anche di CD, DVD o Hard Disk. Se il danno non è fisico (tipo ci siete passati sopra) ma dovuto a un problema logico la memoria può essere recuperata.
Vediamo ora come risolvere il problema delle memorie non funzionanti e cercare di recuperare quanti più dati possibile. 
Per fortuna se siamo su ambiente GNU/Linux (ma anche windows) non abbiamo di che disperarci e potremo ricorrere ad un programma gratuito chiamato Photorec.
Per la descrizione del programma cito testualmente la pagina ufficiale:
PhotoRec è un programma di recupero dati progettato per recuperare file persi, inclusi video, documenti ed archivi da Hard Disk e CD Rom. Il nome deriva dall'inglese Photo Recovery ed indica il fatto che è assai efficace anche nel recupero di fotografie dalla memoria di macchine fotografiche digitali. Poiché PhotoRec ignora il formato di formattazione del supporto e va alla caccia diretta dei dati registrati, funziona anche nel caso di supporti gravemente danneggiati o riformattati.
PhotoRec è multi-piattaforma, gratis e libero, essendo distribuito secondo la licenza GNU General Public License. PhotoRec è abbinato a TestDisk, un'applicazione per recuperare partizioni perse su diversi sistemi di formattazione e per ripristinare dischi non più avvianti (bootable). Li puoi scaricare da questo link.
Il funzionamento del programma è molto semplice e richiede pochi settaggi.
In questa guida vi mostrerò come installare Photorec su Ubuntu e derivate nonché come far funzionare il programma. Gli screenshot che vedrete sono reali e si riferiscono ad un caso pratico, questo pomeriggio ho dovuto recuperare la SD di mio fratello che ha smesso improvvisamente di funzionare l'altro giorno mentre era nella macchinetta fotografica impedendone il recupero dati con i mezzi tradizionali.

Be cominciamo!

Per prima cosa occorre installare PhotoRec che è presente nei repository di Ubuntu assieme a Testdisk.
Da terminale diamo

sudo apt-get install testdisk

Ora non ci resta che lanciare il programma; sempre da terminale e con finestra massimizzata lanciamo un bel

sudo photorec

Comparirà la seguente schermata


dove troverete i le varie memorie collegate al pc. Nel mio caso l'unità da recuperare è la sdb ovvero la memory SD corrotta. Selezioniamo l'unità da recuperare e facciamo Proceed.
Ci verrà ora chiesto di selezionare il tipo di partizione:

 
lasciamo Intel perché è quella comune, selezioniamola e diamo invio.
Verrà ora mostrata dal programma la memoria selezionata.


Adesso come vedete abbiamo due opzioni, Search che ci consentirà di avviare il processo e procedere con lo step successivo lasciando le impostazioni predefinite, oppure selezionare Options che ci consentirà di specificare i diversi parametri per la ricerca.


come vedete potremo abilitare alcune funzioni particolari come ad esempio scegliere di salvare anche i file corrotti e non soltanto quelli salvabili. Personalmente ho lasciato le impostazioni base.

Cliccando invece su  File Opt


sarà possibile indicare al programma quali tipi di file dovranno essere recuperati


se vogliamo recuperare, ad esempio, solo file jpg basterà lasciare spuntato nella lista solo quel tipo di file e premere b per salvare i settaggi. Così facendo il programma provvederà al recupero dei soli file immagine con estensione jpg.
Questa opzione è utile nel caso in cui dobbiamo recuperare magari solo delle foto (o altri file specifici) da una memoria grande e non vogliamo perder tempo e spazio per recuperare anche file che non ci interessano (grazie a Gianni per avermi fatto ricordare di questa opzione che inizialmente non avevo spiegato nella guida :P)

Ora ci verrà chiesto il tipo di filesystem. La SD della macchinetta è naturalmente in FAT quindi selezioniamo Other che è la seconda opzione e premiamo invio.


Ora basterà selezionare la cartella dove fare il salvataggio. Di default può salvare nella home, io ho fatto una cartella per avere tutto sotto controllo.


Confermiamo premendo Y


Ora non ci resta che stare ad aspettare che finisca la scansione.


Nel mio caso ci ha messo 39 minuti con un Centrino Duo 1,8 Ghz e 2 GB di RAM per una memory SD da 2 GB. Ho fatto una prova con un programma commerciale solo per ambiente windows e ha impiegato circa 2 ore. Photorec vince e convince.


Alla fine sono riuscito a recuperare 1959 immagini, 4 file di testo, 3 file mov video e un file riff. Sono più che soddisfatto anche perché i file che più mi premeva recuperare ci sono tutti.


Il programma ha disposto i file in 4 cartelle. Un'ultima cosa. Il programma salva i file con permessi di scrittura e rimozione abilitati per il solo utente di root. Per spostare le cartelle o i file dovrete cambiarli i permessi. Potete fare da terminale o per i più pigri come me lanciare nautilus da terminale con

sudo nautilus

navigare fino alla cartella contente i file e cambiare i permessi graficamente.


Puristi di GNU/Linux non picchiatemi :D
Spero con questa guida di esser stato utile a molti.