viernes, 16 de octubre de 2015

Recuperación de ficheros eliminados en partición ext3

En este post voy a explicar la forma de recuperar ficheros eliminados de una partición ext3 usando la aplicación ext3grep, que se puede obtener desde los repositorios oficiales de Ubuntu (y supongo que de otras muchas distribuciones).
Lo primero de todo, y muy importante, es desmontar la partición que contenía los ficheros eliminados accidentalmente. De lo contrario, cuanto más tiempo pase la partición montada y en uso, menores serán las probabilidades de recuperar la información que nos interesa.

A modo de prueba, vamos a crear un fichero de 1 GB con contenido vacío:
dd if=/dev/zero of=imagen.img bs=1M count=1024
Con esto obtenemos un fichero llamado imagen.img lleno de ceros de 1024 bloques de 1 MB = 1 GB. A continuación vamos a darle el formato ext3 al fichero, como si de una partición real se tratase:
mkfs -t ext3 imagen.img
Llegados a este punto, podemos montar la partición ext3 recién creada:
mkdir /mnt/prueba
mount -t ext3 imagen.img /mnt/prueba
Podemos comprobar que disponemos de la partición montada con el comando:
df -h
A continuación crear o copiar ficheros dentro de /mnt/prueba y borrar los que se deseen.
Tal como se ha dicho al principio de este post, al detectarse el borrado de ficheros lo recomendable es desmontar la partición. Vamos a ello:
umount /mnt/prueba
Instalamos la aplicación ext3grep:
aptitude install ext3grep
Y la probamos:
ext3grep imagen.img --restore-all
Se creará un directorio llamado RESTORED_FILES que contendrá todos los ficheros recuperados.
ext3grep dispone de muchas opciones para modificar su comportamiento. Por ejemplo, se puede acotar el listado de ficheros recuperados indicando una fecha mínima y/o máxima en la que los ficheros fueron borrados:
ext3grep imagen.img --restore-all --after date -d '2015-10-16 19:16:00' '+%s' --before `date -d ‘2015-10-16 20:00:00’ ‘+%s’
Os dejo un video demostrativo: