Recuperare file cancellati

Senza-titolo-4

 

Vi è mai capitato per sbaglio di formattare una chiavetta o una memory card, e successivamente accorgervi di aver cancellato dei file importanti senza averne fatto prima una copia? Ahimè a me si, ma non è stato un problema in quanto Linux, (e non solo), mette a disposizione delle utils che permettono di recuperare dati cancellati dai dispositivi di memoria.

FILE CANCELLATI
Ma cosa succede quando un file viene cancellato dalla memoria secondaria (come ad esempio hard disk esterni o chiavette usb)?

Partiamo dalla creazione del file. Quando esso viene creato, viene messo all'interno del dispositivo di memoria, e ad esso viene associato un collegamento fisico, ossia un riferimento su dove trovare il file in memoria.
Quando un programma va ad aprire un file, chiede al sistema operativo, tramite le opportune chiamate di sistema, di aprirlo, ma il sistema operativo non va a scansionare l'intero file system alla sua ricerca, perché ci metterebbe troppo tempo, ma prende direttamente il collegamento fisico, e da esso è in grado di accedere al file.

Quindi quando si cancella un file, in sostanza si va a rimuovere quel collegamento fisico, lasciando intatto il file all'interno del file system, e lo spazio che era usato dal file diventerà disponibile per altri nuovi file.

Quindi possiamo intuire che questo file cancellato rimarrà nel file system per un tempo indeterminato, fino a quando un nuovo file non andrà a sovrascrivere il suo spazio.

Se noi allora per sbaglio abbiamo cancellato un file, non perdiamoci d'animo, perché con gli strumenti giusti possiamo recuperarlo, andando a cercare quella porzione di spazio che era usata da esso!

 

TESTDISK
Lo strumento open source messo a disposizione su Linux, e anche su altri sistemi operativi, si chiama testdisk. Esso permette inoltre un accurata analisi del file system. Insomma se abbiamo problemi con i nostri dischi, testdisk sicuramente ci darà una mano!

All'interno di testdisk, c'è un altro programma molto interessante che si chiama photorec che è quello che andremo ad utilizzare per recuperare i file che abbiamo perso.

 

INSTALLAZIONE
Il programma lo troviamo già nei repository, per installarlo diamo il seguente comando:

 

sudo apt-get install testdisk

 

Lo troviamo anche su Fedora:

 

sudo yum install testdisk

 

E su archlinux:

 

pacman -S testdisk

 

Ora recuperiamo i file dalla nostra chiavetta usb.

Ovviamente come prima cosa inseriamo la chiavetta nel computer, e creiamo una directory dove saranno salvati i file recuperati.

Apriamo il terminale e digitiamo:

 

photorec -d /directory_recupero 

 

dove /directory_recupero è la directory precedentemente creata.

In alternativa possiamo anche omettere la directory, e la impostiamo dopo aver eseguito il comando photorec.

Una volta partito il programma, ci verranno mostrati i dispositivi di memoria da cui possono essere recuperati i file, come nell'esempio qui sotto


selectDisk

Selezioniamo il dispositivo di nostro interesse usando le frecce e clicchiamo “invio”.

Una volta cliccato invio, ci mostrerà le partizioni da cui possiamo recuperare i file:

selectPartition

 

Selezioniamo quella che vogliamo esaminare e clicchiamo nuovamente “invio”.

Nella schermata successiva, ci farà scegliere il tipo di file system utilizzato dalla partizione

SelectTypeFS

 

Selezioniamo il file system della partizione da esaminare e clicchiamo “invio”.

Ora dobbiamo scegliere se far esaminare solo lo spazio libero nella partizione, o se esaminare l'intero disco

freeWhole

 

Se decidiamo di esaminare solo lo spazio libero, allora selezioniamo free e diamo “invio”, in alternativa selezioniamo whole.

Bene ora attendiamo, e una volta che la procedura avrà finito, troveremo tutti i file recuperati, nella directory impostata da noi durante l'avvio di photorec.

 

PRECAUZIONI
Come avrete notato, è molto semplice recuperare file da un qualsiasi dispositivo di memoria, come chiavette, hard disk e memory card. Capita molto spesso che questi dischi, se non utilizzati, vengono venduti su internet, e una volta acquistati è molto semplice recuperare i file del precedente possessore del disco! Se si tratta poi di una memory card del telefono, è possibile che essa contenga foto scattate e magari qualche backup dei numeri di telefono.. e di certo noi non vogliamo che queste informazioni vadano a terze persone!

Quindi se dovete dare via dei dischi, noi di Tux Maniacs vi consigliamo di fare una bella formattazione completa del disco.
Non è difficile farla, ad esempio su Linux c'è l'utility dd, basta dare il seguente comando:

 

dd if=/dev/zero of=/dev/sdx

 

Dove /dev/sdx è il disco che vogliamo formattare.

In questo modo andremo a scrivere ogni parte della memoria con il contenuto del file /dev/zero, sovrascrivendo quindi ogni tipo di file.

Se invece vogliamo rimuovere completamente un file dal nostro dispositivo, su Linux, c'è il comando srm, che sta per "secure remove", funziona esattamente come il solito rm, ma con la differenza che rimuove completamente il file dal disco.
Per installarlo diamo il seguente comando:

 

sudo apt-get install secure-delete

 

È disponibile anche su Fedora:

 

sudo yum install srm

 

E anche su Arch Linux:

 

pacman -S srm

 

 

CONCLUDENDO
Vi abbiamo mostrato un potente comando open source, messo a disposizione per ogni sistema operativo, quindi se per caso vi sbagliate a cancellare qualche file, non dovrete più preoccuparvi!

 

FONTI:
- Immagini Joel Garia;
- Testdisk;
- File nel file system;
- Comando dd ;

Dottore in Informatica. Da sempre appassionato di Linux, reti informatiche, sicurezza e, in modo amatoriale, all'elettronica. Il mio intento è quello di trasmettere le mie conoscenze ad altri appassionati.

Lascia un commento