Ayer retiré una de mis tarjetas de memoria SD de la cámara para bajar algunas fotos a mi PC y me encontré con que la mayoría estaban desaparecidas. Aparentemente se corrompió el sistema de archivos de la tarjeta (una vez mas...) Malditos adaptadores microSD!!! Por ende este artículo explica cómo recuperar archivos borrados o perdidos, ya sea porque se borraron accidentalmente o porque se corrompió el filesystem.



Al montar la tarjeta sólo quedaban algunas fotos y un archivo "RRaA", síntoma de que se corrompió el filesystem, ya que la cadena "RRaA" coincide con la firma del sector de información de los sistemas de archivos FAT32:

Existen varias herramientas para llevar a cabo la tarea de recuperar archivos perdidos/borrados de un sistema de archivos, pero en este artículo utilizo la herramienta "photorec" que se incluye en el paquete testdisk. PhotoRec está diseñado para recuperar datos de videos, documentos y archivos perdidos desde discos rígidos y CDROM; y fotos perdidas (Photo Recovery) desde tarjetas de memoria. PhotoRec ignora el filesystem y accede directamente a los datos crudos, por lo tanto funciona incluso si el sistema de archivos ha sido severamente dañado o formateado. Además es una herramienta segura de utilizar ya que nunca intenta escribir en el dispositivo o memoria desde la cual se intentan recuperar datos.

Además de utilizarse para recuperar archivos perdidos o sistemas de archivos dañados, esta herramienta es útil en el caso de haber borrado accidentalmente archivos (por ejemplo al utilizar Shift+Del en lugar de sólo Del). ¿Cómo es posible recuperar un archivo borrado permanentemente? Cuando se elimina un archivo, su contenido no es borrado del dispositivo; los bloques que el archivo ocupa en el dispositivo contienen los datos hasta que sean sobreescritos por nuevos archivos. Cuando se borra un archivo por nombre, sólo se elimina la referencia al inodo del archivo, y no al inodo en sí mismo. Para mayor información sobre inodos consultar el siguiente artículo en Wikipedia).

Si te ha ocurrido el caso de haber borrado accidentalmente un archivo, lo recomedable es desmontar inmediatamente el sistema de archivos que lo contiene para prevenir que los bloques de datos (los cuales se consideran "bloques libres" o disponibles lluego de eliminar el archivo) sean sobreescritos con nueva información. Si el sistema de archivos involucrado es el mismo que utiliza el sistema operativo, tal vez la mejor alternativa sea apagar el sistema y reiniciar con un livecd.

El lector perspicaz tal vez se de cuenta de los riesgos de seguridad involucrados al "eliminar" un archivo. Todo sistema operativo deja los bloques intactos y si el dispositivo cae en las manos de un extraño, es capaz de recuperar su contenido, lo cual es algo peligroso si se trata de información sensible. Utilizando herramientas de este tipo es como se recuperan los videos prohibidos de las tarjetas de memoria de los celulares/notebooks/etc. de las "modelos" de la farándula (como por ejemplo a Florencia Peña y otras).

Cuando es necesario eliminar para siempre la información de un dispositivo, la única alternativa segura es la destrucción física del mismo, en otras palabras se debe usar un martillo o alguna herramienta similar. Existen herramientas que utilizan un proceso complejo para recuperar la información de archivos desde discos rígidos inclusive si sus datos han sido sobreescritos varias veces debido a la "huella magnética" que queda en cada bit de datos. En términos convencionales, cuando es un disco se escribe un 1 el dispositivo graba un 1, y cuando se escribe un 0 el dispositivo graba un 0. Sin embargo el efecto es más bien obtener un 0.95 cuando un 0 se sobreescribe con un 1, y 1.05 cuando un 1 se sobreescribe con un 1.

El siguiente video muestra lo que Google le hace a sus discos rígidos cuando llegan al final de su vida útil (minuto 2:56):

Menos charla y más acción

Para instalar PhotoRec en CentOS ejecutar:

# yum install testdisk

A continuación es necesario disponer de un directorio donde se almacenarán los archivos recuperados, creo el directorio "recover_sdb1" dentro de "/tmp" (se debe de disponer de suficiente espacio en disco):

# mkdir /tmp/recover_sdb1

Para comenzar con el proceso de recuperación, en este caso del dispositivo /dev/sdb1, ejecutar:

# photorec /dev/sdb1

Debe ejecutarse como usuario root, ya que accede al dispositivo directamente (pasando por debajo de cualquier tabla de particiones y sistemas de archivos. PhotoRec posee una bonita interfaz de usuario basada en ncurses la cual guía el proceso paso a paso y evita lidiar con parámetros en la línea de comandos. En el primer paso se selecciona el dispositivo a recuperar:

A conitnuación se debe especificar el tipo de partición, en este caso ninguna porque se trata de una tarjeta de memoria no particionada (por defecto estos dispositivos de almacenamiento no contienen particiones, al igual que cualquier pendrive):

Si se trata de un disco rígido convencional de PC se debe utilizar "Intel". Luego se debe seleccionar el sistema de archivos:

...Y el tipo de sistema de archivos, en este caso "Other" ya que se trata de un FS FAT32:

En el siguiente paso se debe especificar que revise todo el sistema de archivos, aunque tiene la opción de sólo recuperar los bloques no asignados:

Finalmente se debe indicar el directorio donde almacenar los archivos recuperados. Utilizar ".." para navegar hasta el directorio deseado, en este caso "/tmp/recover_sdb1" como se observa en la captura:

Comienza el proceso, el cual se realiza de forma rápida. En este caso demora aproximadamente 6 minutos para recuperar una tarjeta de 4GB:

Cuando finaliza informa la cantidad de archivos recuperados:

Presionar [ Quit ] 3 veces para salir de la aplicación.

Listado del directorio destino:

PhotoRec recuperó todas las fotos que encontró en la tarjeta (inclusive aquellas que había borrado intencionalmente).

Conclusión: una de las herramientas más rápidas que existen y muy fácil de utilizar.

Actualización (9-11-2013): En el blog La mirada del replicante la entrada Recuperar archivos borrados con Scalpel explica cómo utilizar la herramienta Scalpel, similar a PhotoRec, para realizar la misma tarea. Es bueno conocer otras alternativas disponibles por si PhotoRec falla o por algún motivo no se puede instalar/utilizar.


Tal vez pueda interesarte


Compartí este artículo