In principio...
La struttura di molti dispositivi di memorizzazione e il formato in cui i dati sono scritti in essi sono estremamente complessi, e lo diventano sempre più con la sofisticazione e la maggiore capacità di archiviazione. E' pur vero che i moderni sistemi operativi nascondono all'utente quasi del tutto questa complessità, ma l'intelligenza di questi software (per chi non lo avesse ancora realizzato, un sistema operativo è un software come tutti gli altri) è limitata, ed a volte di fronte a situazioni impreviste, seppur banali, scelgono di seguire una via sbagliata.
In questi casi solo l'intervento umano può riportare la situazione sotto controllo. Ovviamente parliamo di umani competenti.
Le tecniche qui presentate sono derivate in gran parte dalla mia personale esperienza e dalla disciplina denominata Informatica Forense. Per forza di cose, si richiede da parte del lettore di possedere due requisiti fondamentali: un cervello perfettamente funzionante e una approfondita conoscenza di Linux nella sua struttura, nel suo funzionamento e nelle sue caratteristiche migliori (vedi shell e strumenti per la manipolazione a basso livello dei filesystem).
Per questo motivo, il presente testo non è alla portata di un principiante, né contiene ricette da seguire passo passo per arrivare al risultato, tanto care a molti normali utenti di computer. E' piuttosto un testo di livello avanzato, del tutto inadatto ad un utente medio. Se decidete di proseguire lo fate a vostro rischio e pericolo.
Inoltre, non tutti i possibili casi sono "trattabili" con le tecniche qui descritte. In molte situazioni, innumerevoli, i dati sono persi. Solo un backup ci può salvare.
Un elenco di situazioni di disastro da cui in qualche modo è possibile recuperare parte o tutto il contenuto del supporto "capriccioso", con gli strumenti e le procedure atte a minimizzare il danno e massimizzare la quantità di dati recuperati.
Ad oggi il numero di casi che mi si è presentato è abbastanza esteso da poter trattare alcuni di essi inquadrandoli in categorie ben precise, dato che il tipo di "guasto" è chiaramente identificabile. Ma la quantità e l'estrema variabilità dei fattori presenti è talmente ampia da rendere possibile l'inquadramento in categorie ben precise solo per una percentuale di casi. Per i restanti non c'è altro da fare che rivolgersi ad un centro specializzato per il recupero dei dati, ovviamente senza pasticciare con programmini automagici che di solito peggiorano il danno.
Quindi non troveremo trattate tutte le possibili varianti, ma solo alcune di esse. E, come già spiegato nella note iniziali, l'esposizione non sarà destinata ai principianti, per forza di cose. Niente ricette magiche, spiacente.
Per quanto sia stata posta ogni attenzione nella stesura di questo testo, l'errore è sempre in agguato. Quindi, per forza di cose, nessuna garanzia di alcun tipo accompagna questo scritto. Se le cose non funzionano non posso farci niente. Basta avere una vaga idea di quante cose possono andare storte durante una procedura di recupero dati per capire quanto sia delicata e quanto siano incerti i risultati.
Le operazioni possono comportare rischio di perdita di dati o compromettere la funzionalità del computer, quindi occorre prendere le eventuali contromisure per evitare che succeda, o alla peggio per evitare che il disastro si trasformi in cataclisma. Consigliato un backup dei dati importanti conservati sul computer che andremo ad usare come laboratorio di recupero.
Per correttezza riporto qui le principali avvertenze:
Se abbiamo fretta, siamo nel posto sbagliato. Qui si offre non solo un manuale per il recupero di dati, ma anche un complesso di consigli e regole da seguire, derivanti soprattutto dall'esperienza di chi scrive. Se vogliamo la ricetta rapida da seguire senza capire il perché delle cose, è meglio cambiare subito guida, questa non fa per noi.
Installare Linux per poi poter sfruttare questa guida, senza aver nessuna esperienza di Linux è un pessima idea. Oltre alla bassissima probabilità di riuscire a cavare qualcosa di utile dal vostro pen drive illeggibile, potreste perdere i dati che avete nel computer. Sono le operazioni in sé ad essere di livello specialistico. Capisco che tutti ci sentiamo al di sopra della media, ma occorre riconoscere i propri limiti, qualche volta.
Ho usato ed uso Linux perché in queste situazioni ho a disposizione tutti gli strumenti necessari per un lavoro specialistico, senza spendere nulla, e senza usare software pirata.
Se qualcuno ha l'impressione che tutto questo venga detto per scoraggiare chi vuole tentare un recupero dati senza le necessarie conoscenze, confermo che l'impressione è giusta.
Nel presente documento sono trattati i seguenti casi:
Caso A: pen drive apparentemente vuoto, che segnala però spazio occupato. Il pen drive, esaminato con Windows Explorer o con un qualsiasi file manager risulta vuoto, niente file o directory, ma lo spazio libero risultante non corrisponde alla dimensione attesa del pen drive e parte dello spazio viene mostrato come occupato.
La probabile causa del problema, che si verifica quasi esclusivamente su supporti con filesystem FAT, è che per qualche motivo i dati riguardanti la directory principale vengono totalmente persi. Rimane indicazione dello spazio occupato e della posizione che occupa, ma niente rimane dei nomi dei file e directory. Il contenuto è ancora tutto al suo posto, ma non è raggiungibile.
Caso B: drive che presenta directory e file, ma che alla lettura segnala errori che ne rendono illeggibile il contenuto. Comparsa di file e directory con nomi strani o composti da caratteri improbabili. Con le memorie flash il supporto può risultare protetto da scrittura (secondo il sistema operativo), anche se non ha questa funzione disponibile, o è disattivata. Peggio ancora, può diventare "congelato", ossia formattazioni e scritture falliscono tutte, ed il contenuto del supporto non è più modificabile.
La causa è un guasto al supporto, che per le memorie flash è causato anche dal normale uso. Molti produttori di memorie di questo tipo garantiscono un numero limitato di scritture sulla memoria stessa, oltre il quale dichiarano terminata la vita utile del supporto. Tradotto: il supporto può guastarsi da un momento all'altro. Nel 2007 il valore tipico garantito dai produttori era di 100.000 scritture. Attenzione che non significa che ci possiamo scrivere 100.000 file prima del guasto: per come funzionano i filesystem, scrivere un file implica più operazioni di scrittura, quindi il limite reale è molto più basso.
C'è anche da tener presente che nel momento in cui compaiono problemi di questo tipo, anche se limitati a pochi file, il supporto, quale che sia, si sta avviando verso il guasto definitivo, ed ogni operazione che comporti letture o scritture avvicina il momento del disastro. Per come funzionano i dischi, quando cominciano ad apparire settori rovinati vuol dire che il disco è già da un po' che sta perdendo pezzi: nell'elettronica di controllo di tutti i dischi moderni vi è un meccanismo che agisce costantemente nel momento in cui vengono scritti dati nuovi, controllando che siano stati scritti correttamente. Se rileva che uno dei settori è illeggibile, riscrive immediatamente i dati in un altro settore preso da uno spazio normalmente non accessibile, e scrive da qualche parte al suo interno che ha reindirizzato un settore. Lo spazio riservato a queste operazioni è limitato, e si esaurisce rapidamente se il disco sta per guastarsi. L'effetto è che per un bel pezzo il disco funziona senza apparenti problemi, poi, esaurito questo spazio, improvvisamente pare popolarsi di settori illeggibili, perdendo dati a valanga. In realtà il processo era in atto da un po' di tempo, ma veniva nascosto dal meccanismo di reindirizzamento. Esiste un metodo per evitare questa "sorpresa", utilizzando la tecnologia S.M.A.R.T, che avverte quando questo meccanismo entra in funzione e su Linux è gestito dai servizi del demone smartd e dalle utility smartmontools.
Caso C: drive che all'inserimento risulta non formattato. Il drive contiene dati e funzionava fino ad un attimo prima. Inserito in un computer provoca la comparsa di un messaggio di errore che avverte che il drive non è formattato.
L'origine del problema può essere all'inserimento del pen drive nella presa, o al momento dell'estrazione: qualcosa nei meccanismi di protezione dai disturbi di alimentazione fallisce ed alcune aree fondamentali del filesystem vengono distrutte. Il risultato è che sparisce la tabella delle partizioni o parte delle strutture del filesystem, per cui il sistema operativo rileva il supporto come vergine.
Queste sono le situazioni che troveremo trattate in questo documento.
Prima di iniziare:
Nessuna procedura, nessuna utility, nessun marchingegno astuto e veloce può sostituire l'unica salvezza reale: un completo e regolare backup dei propri dati, su differenti supporti, conservati in luoghi differenti. Ripetete con me:
NIENTE può sostituire un backup.
NIENTE può sostituire un backup.
NIENTE può sostituire un backup.
NIENTE può sostituire un backup.