Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Recuperar archivos borrados en GNU/Linux (undelete ext3/ext4)

Cuando se borran archivos accidentalmente lo primero que hay que intentar es que nada sobre-escriba el espacio que ocupaban.

A veces al instalar el programa que recupera archivos podemos sobreescribirlos. Por eso recomiendo instalar la aplicación en cualquier sistema, sin esperar a necesitarlo.

SI EL ARCHIVO TODAVÍA ESTÁ ABIERTO
Si hemos borrado un archivo que está abierto, hay una copia de él. No cierres la aplicación que lo tiene abierto.
Comprobamos si es el caso, por ejemplo con

 lsof | grep Hank_Mobley
totem     25655         guimi   21u      REG                8,4  5477902   55689957 /home/guimi/Hank_Mobley-Soul_Station/01-Remember_(Irving_Berlin)-Hank_Mobley.mp3

Nos fijamos en que el proceso que tiene abierto el fichero es el 25655 y le ha asignado el número 21.
Recuperamos el fichero con:

cp /proc/25655/fd/21 otra/ubicacion/01-Remember_(Irving_Berlin)-Hank_Mobley.mp3

INSTALACIÓN DE EXTUNDELETE
En este caso la aplicación que vamos a utilizar es extundelete.
Otra herramienta, solo para ext3, es ext3grep.

Como es habitual basta con:

 aptitude install extundelete

USO
Supongamos que tenemos la partición “/dev/sda4” montada como “/home” y que hemos borrado el archivo “/home/guimi/ejemplo.txt”. Por tanto la ruta relativa del fichero en el dispositivo es guimi/ejemplo.txt.

Primero desmontamos la partición implicada:

 umount /dev/sda4

Considera la opción de copiar toda la partición con dd.

Después recuperamos el archivo con:

 extundelete --restore-file guimi/ejemplo.txt /dev/sda4

Si queremos recuperar el contenido de un directorio entero, por ejemplo “/home/guimi/ejemplo/” ejecutamos:

 extundelete --restore-directory guimi/ejemplo /dev/sda4

Otras opciones interesantes son –before y –after.

OTRAS OPCIONES
También se puede probar a usar photorec.

Category: GNU/Linux, Prompt