Recuperar archivos borrados en GNU/Linux con FAT, VFAT, EXT2 y EXT3

Lo peor que puede ocurrirle a un administrador de equipos GNU/Linux es borrar accidentalmente un archivo, especialmente si es de configuración, los binarios y programas casi siempre pueden ser reinstalados. No así sus complicadas configuraciones.

Este documento intenta explicar rápida y brevemente como recuperar archivos en 3 sistemas de archivos FAT/VFAT, EXT2 y EXT3.

Siendo el más fácil de recuperar FAT, subiendo la dificultad con EXT2 hasta el más difícil EXT3

Sistema de archivos FAT

FAT es un sencillo sistema de archivos bien conocido y aunque muy viejo aun vigente en el formato default de los USB, Reproductores de MP3 y Cámaras de video y/o fotográficas. Por lo que será excelente poder recuperar fotos o música borra accidentalmente de estos dispositivos.

Cuando se borra un archivo de este sistema de archivo, en realidad solo se borra el nombre del directorio, el contenido aun permanece aunque el espacio que ocupaba queda libre para almacenar otros archivos, el contenido del archivo va a permanecer ahí por tiempo indefinido hasta que sea sobrescrito por nuevos archivos, asi que mientras menos tiempo pase para hacer la recuperación, mayores son las oportunidades de recuperar el archivo.

La herramienta a usar será testdisk, básicamente es un entorno en consola, navegable con las flechas del teclado tan simple como navegar, buscar archivos eliminados y seleccionar undelete, es de licencia libre y puede ser descargado y compilado en las distribuciones de GNU/Linux, algunos veces viene pre compilado para algunos OS como Windows.

Sistema de archivos EXT2

Aunque más complicado que el FAT, el EXT2 también borra el nombre de la lista de directorio, pero su contenido permanece en el disco duro, siempre y cuando no esté activa la función de sobrescribir con nulos la zona que ocupaba el archivo. En servidores de alta seguridad donde la información es muy valiosa se configura para que al borrar el archivo el sistema operativo destruya su contenido sobre escribiendo con datos nulos, afortunadamente por default esta característica viene deshabilitada en la mayoría de las distribuciones de GNU/Linux, asi que la probabilidad de recuperar el archivo siguen siendo altas.

La herramienta a usar es debugFS , se trata de recuperar el inodo del archivo y a partir del inodo recuperar el resto con los comandos lsdel y un delete del debugfs, aunque tedioso es posible recuperar los archivos, si no han sido sobrescrito por otros

Sistema de archivos EXT3

Como evolución del EXT3 aun más complicado que el anterior, este sistema de archivos difícilmente permite la recuperación completa de los archivos, aunque es posible recuperar parte de ellos. Esto es porque al momento de borrar se destruye mas información que la que se destruye con el EXT2, por lo que hay que intentar localizar el inodo como en EXT2 pero solo para ver a qué grupo del disco pertenece, para luego hacer un dump o volcado de ese grupo y con otra herramienta intentar hacer la búsqueda de los fragmentos del archivo, si no se tiene éxito al hacer la búsqueda, se puede recurrir a revisar manualmente el volcado e intentar recuperar parte del archivo de él. Ademas del debugFS se requieren otras que no siempre vienen las distros, aunque las incluiré aquí en un tar.ball

Debugfs localiza el inodo del archivo
Fsstat localiza el grupo al que pertenece el inodo
dls hace un volcado según el rango en el que esta el grupo
foremost intenta recuperar archivos del volcado de dls

Vídeo manual

Aun no intento algún recuperación con EXT4.

9 Comments

Add a Comment

Comment spam protected by SpamBam