Delirium Coder
Por que nunca antes fue ahora y otras obviedades…[HowTo] Recuperar archivos borrados de una partición ext3/ext4
El otro día me llamó un compañero preguntándome si podía recuperar un archivo borrado de forma accidental de una partición ext4 en su Linux Mint. En ese momento pequé de ignorante y pensé que al ser ext4 un sistema de archivos con journaling la cosa estaba difícil ya que debugfs no funciona con sistemas de archivos con journaling:
delirium@coder ~ # lvcreate --size 200M --name undeletetests gentoo-vg
The link /dev/gentoo-vg/undeletetests should had been created by udev but it was not found. Falling back to direct link creation.
Logical volume "undeletetests" created
delirium@coder ~ # mkfs.ext4 /dev/gentoo-vg/undeletetests
mke2fs 1.41.12 (17-May-2010)
/dev/gentoo-vg/undeletetests alignment is offset by 57344 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=1024 (bitácora=0)
Tamaño del fragmento=1024 (bitácora=0)
Stride=64 blocks, Stripe width=320 blocks
51200 nodos-i, 204800 bloques
10240 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=1
Número máximo de bloques del sistema de ficheros=67371008
25 bloque de grupos
8192 bloques por grupo, 8192 fragmentos por grupo
2048 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
8193, 24577, 40961, 57345, 73729
Escribiendo las tablas de nodos-i: hecho
Creating journal (4096 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho
Este sistema de ficheros se revisará automáticamente cada 25 montajes o
180 días, lo que suceda primero. Utilice tune2fs -c o -i para cambiarlo
delirium@coder ~ # mkdir -p /mnt/tests
delirium@coder ~ # echo "Archivo de texto con contenido que va a ser eliminado." > /mnt/tests/archivo.txt
delirium@coder ~ # cat /mnt/tests/archivo.txt
Archivo de texto con contenido que va a ser eliminado.
delirium@coder ~ # rm -rf /mnt/tests/archivo.txt
delirium@coder ~ # umount /mnt/tests
delirium@coder ~ # debugfs
debugfs 1.41.12 (17-May-2010)
debugfs: open /dev/gentoo-vg/undeletetest
debugfs: lsdel
Inode Owner Mode Size Blocks Time deleted
0 deleted inodes found.
debugfs: ls
2 (12) . 2 (12) .. 11 (1000) lost+found
debugfs: quit
Por curiosidad más que otra cosa me ha dado por buscar información sobre el asunto y he encontrado una aplicación que no conocía llamada extundelete en sourceforge y que funciona a las mil maravillas con sistemas de archivos ext3 y ext4 con journaling:
delirium@coder ~ # extundelete --restore-all /dev/gentoo-vg/undeletetests WARNING: Extended attributes are not restored. Loading filesystem metadata ... 25 groups loaded. Loading journal descriptors ... 35 descriptors loaded. Writing output to directory RECOVERED_FILES/ Searching for recoverable inodes in directory / ... 1 recoverable inodes found. Looking through the directory structure for deleted files ... Restored inode 13 to file RECOVERED_FILES/archivo.txt 0 recoverable inodes still lost. delirium@coder ~ # ls RECOVERED_FILES delirium@coder ~ # ls RECOVERED_FILES archivo.txt delirium@coder ~ # cat RECOVERED_FILES/archivo.txt Archivo de texto con contenido que va a ser eliminado.
¡Et voilà!, el archivo que creímos haber borrado para siempre resulta que no estaba tan borrado como creíamos. Para recuperar un archivo borrado en una partición ext4 lo primero que tenemos que hacer es desmontar la partición en cuestión (si es la raíz pues deberemos de utilizar una distro live o similar) y utilizar extundelete –restore-all sobre el dispositivo del que queremos recuperar los datos, aunque supongo que quizás recuperemos bastante basura junto a aquello que queramos recuperar.
Si sois fanáticos de la seguridad informática y estáis también un poco paranoicos, deberéis buscar métodos mas efectivos de borrar vuestros datos, se me ocurren varias formas así a bote y pronto. Por ejemplo podemos utilizar la herramienta shred incluida en la mayoría de distribuciones de Linux:
delirium@coder ~ # shred -u -z -n 30 <archivo>
También tenemos la posibilidad de utilizar el conjunto de herramientas secure-delete que incluye la herramienta de borrado seguro srm:
delirium@coder ~ # srm <archivo>
O con la opción -r para directorios
Perdona @davidogs por no haberlo sabido el lunes :S
3 Comentarios en “[HowTo] Recuperar archivos borrados de una partición ext3/ext4”
Añadir Comentarios (+)-
Is it ok if I cite a few of your articles if I provide credit and sources back to deliriumcoder.
com? My website is on the exact same subject
as yours and my visitors would certainly benefit from some of the information
you offer here. Feel free to let me know if this is okay with you.Regards
-
Hi, the whole thing is going fine here and ofcourse
every one is sharing facts, that’s actually good, keep up writing.



I’m not that much of a internet reader to be honest but your sites really nice, keep it
up! I’ll go ahead and bookmark your website to come back later. Many thanks