domingo, 17 de enero de 2016

Recuperar archivos con Photorec

En abril de 2012 publicaba yo en este Blog (qué barbaridad, cómo pasa el tiempo…) una entrada sobre cómo recuperar archivos borrados. Entonces hablaba de herramientas como el Foremost, o el Scalpel, e incluso añadía que había otra, el Photorec, que (decía) '… me parece bastante compleja para los novatillos, así que de momento lo dejo para ver si, en alguna ocasión, puedo profundizar en ella'

Con el tiempo, y tras 165 entradas, y cerca de 100.000 visitas (98 mil y pico) a este Blog, se me ha ocurrido darle 'una vuelta' al tema y descubro que, qué tontería, lo complejo era aquello del Scalpel y del Foremost porque, quitado el 'miedo escénico' a la consola, Photorec es una herramienta muy cómoda y sencilla para recuperar archivos borrados.
Y es hora de dedicarle una entrada.
Aunque antes de meterme con ello, es bueno recordar lo que siempre se ha dicho: que, cuando borras un archivo, en realidad no lo borras, sino que solo se cambia la 'cabecera' del sector que ocupa, de 'reservado' a 'libre', así que cuanto menos escribamos en el disco a recuperar menos posibilidades hay de que se sobre-escriba el sector o sectores que ocupa el archivo borrado, que, al borrar, quedan marcados como 'disponibles', y 'machaque' (sustituya) su contenido… y más posibilidades habrá de poder recuperar 'completo' el archivo que habíamos borrado.

Pero vamos, ya, al asunto 
Photorec es una utilidad basada en Testdisk, que es una herramienta muy potente. Yo no se si ya viene instalada 'por defecto' pero, si no lo fuese, basta hacer un 'sudo aptitude install testdisk' para tener instalado ese Tesdisk… y el Photorec.  
Con Photorec puedes (...intentar) recuperar archivos en casi cualquier tipo de memoria de almacenamiento: discos duros, pendrives, tarjetas SD, compact flash, etc y, lo que es más importante, no solo porque los hayas borrado, sino que también puedes hacerlo en el caso de que el soporte esté formateado, o dañado. Y reconoce los formatos más habituales de ofimática, imagen, multimedia, etc.  Bueno, de momento, estos

El procedimiento es muy sencillo. Hay que decir que Photorec no tiene (al menos, de momento) interfaz gráfica, y hay que trabajar desde consola. Así que, conectado el soporte del que quieres recuperar algo, abres una consola, escribes
photorec
y te sale una primera pantalla como ésta:
(Hombre, está todo en inglés, pero es facilisimo: en mi caso, había insertado un pendrive Kingston, del que quiero ver qué archivos borrados puedo recuperar, y que ahí me aparece (junto con mi disco duro). Así que no tengo más que seleccionarlo (con las flechas del teclado), marcar, lo de 'Proceder' y darle al Enter).

En la pantalla siguiente se presenta el soporte elegido, con sus particiones, para poder seleccionar de cual de ellas voy a tratar de recuperar archivos borrados. Siguiendo con el ejemplo, en este caso solo tiene una, en FAT32, así que la selecciono, selecciono 'Search' y doy a Enter.

IMPORTANTE: si hubiese varias particiones, y quisiera buscar por todas ellas, eligiría la opción 'No partition' (Whole (o sea, 'todo') disk)

En la siguiente pantalla nos pregunta por el tipo de particionado del soporte. Solo tenemos que decirle que es o bien EXT (ext2, ext3, ext4) o bien OTRO (FAT, NTFS, ReiserFS...)

Continuamos. Ya no voy a poner más 'pantallazos', por no ser pesado.  
La siguiente pantalla nos pregunta de donde queremos recuperar los archivos, dándonos otras dos posibilidades:
a) FREE (solo recuperará alchivos del espacio que no está ocupado), o
b) WHOLE, es decir, recuperará de todo el espacio del soporte. 
Esto, por supuesto, sería lo mejor… pero tardas, evidentemente, más, y corres el riesgo que decía al principio, de encontrarte muchos archivos 'machacados', e inservibles. También se podría empezar por FREE, donde tendrás más garantías de éxito.

Y la siguiente pantalla nos pregunta donde queremos guardar los archivos recuperados.
Aquí conviene matizar algo. Primero, que amplíes la 'pantalla' que te sale, así verás mejor los directorios (por defecto, en la /home del usuario) donde puedes guardarlos
Y segundo, que siendo precavido, lo ideal es haber creado previamente una carpeta de nombre 'Recuperaciones Photorec', o similar, para guardarlos ahí. Pero tampoco es tanto problema si indicas que los guarde en alguna carpeta actual poco ocupada, como puede ser 'Plantillas', 'Publico', etc. porque los identificarás muy fácilmente, vienen en 'subcarpetas' llamadas 'recup_dir.#'.

El caso es que, una vez seleccionado el destino, se pulsa (como ahí se indica) la tecla 'C'… y empieza a funcionar la recuperación. Aquí se ve un pantallazo 'durante el proceso'
 Y una vez acabado el proceso de recuperación, ves esas carpetas 'recup_dir.#, cada una con 500 archivos recuperados, en la ruta donde le has indicado.

NOTA FINAL: por supuesto, recuperado 'todo lo recuperable', tendrás que elegir aquellos archivos que te interesen, y copiarlos donde te parezca. El resto, puedes borrarlo. Pero hay que decir un par de cosas:
Una, que no siempre te saca el archivo recuperado con su nombre, puede llamarlo, por ejemplo, 'f0593879.doc', así que tendrás que abrirlo para ver de qué va. Normalmente, los archivos 'bien recuperados' (DOC, PDF, JPG, ZIP, etc, etc) aparecen con su 'icono identificativo', así que es relativamente fácil.
Y otra, que puede que veas muchos archivos con la extensión *.ELF que, primero, no tengo ni idea de qué son, y lo que dice la Wikipedia no me aclara nada y segundo, que aunque se pueden investigar (por ejemplo) con
readelf -a archivo.elf
tampoco me da muchas ideas así que, como tampoco se pueden abrir con ninguna aplicación conocida... lo mejor el olvidarse de ellos, y borrarlos.

8 comentarios:

  1. Muchas gracias crack, me ha servido de mucho, ahora mismo estoy recuperando todos lo archivos de un disco duro que no había forma de abrirlo eres un maquina y explicando muy bueno sigue así ;)

    ResponderEliminar
  2. me alegra que te haya servido.
    Y te agradezco el comentario, es una buena información, en realidad yo nunca (¡toco madera...!) he tenido la necesidad de probar, en 'serio', el photorec.

    ResponderEliminar
  3. Muchas gracias. Ya he recuperado las fotos que borré por error. Ahora tengo una duda, ¿cómo borro las carpetas que ha creado photorec? Me da un error al intentar borrarlas.

    ResponderEliminar
  4. pues la verdad es que no lo he usado tanto como para saber cómo se hace pero se me ocurre pensar que, si para lanzar la aplicación, lo has hecho como root ('sudo photorec'), a lo mejor es que hay que borrar los archivos también como root
    OJO, y vaciar, posteriormente, la papelera de Root, como decía aquí: http://comoserdebianitaynomorirenelintento.blogspot.com.es/2012/04/borrar-archivos-de-la-papelera-trash.html

    ResponderEliminar
  5. Sin rodeos, me has salvado la vida (literalmente). Había perdido fotos de la familia, desde 2002 (incluyendo primeros pasos de mis hijas, momentos especiales...) y, parece, lo estoy recuperando todo.

    ResponderEliminar
  6. pues no sabes lo que me alegra. Además, como ya he dicho, por el momento no he tenido la oportunidad de probar 'en mis propias carnes' el funcionamiento de photorec ante un 'desastre catastrófico'... y es una confirmación de que los 'apuntes teóricos' que pongo, a veces, en el Blog, para que me sirvan de recordatorio... pueden ser válidos.

    ResponderEliminar
  7. Yo me uní recientemente a un curso de data recovery que ha resultado sumamente interesante...es un tema delicado y un servicio bastante rentable.

    ResponderEliminar
  8. pues si... si es tu futuro profesional. Pero, en mi opinión, para un usuario que no tenga esa intención de vivir de ello, no creo yo que le compense gastarse su dinero en recibir un curso para saber recuperar, eventualmente, sus propios archivos (o los de su novia, o los de algún amigo).

    ResponderEliminar