Cómo recuperar cualquier fichero eliminado por accidente (fotos, vídeos, documentos, etc.) de un disco duro, tarjeta de memoria flash, pendrive, lápiz de memoria, etc. Para ello usaremos un software gratuito u open source (con código fuente) llamado PhotoRec, Digital Picture and File Recovery. La ventaja de PhotoRec es que permite recuperaciones para usuarios expertos con conocimientos avanzados de sistemas de archivos.

Consideraciones IMPORTANTES antes de recuperar ficheros eliminados por accidente

Antes de hacer cualquier paso para recuperar ficheros eliminados o borrados por accidente de cualquier unidad, lo más importante y recomendable es que no se deben copiar nuevos ficheros ni realizar modificaciones de ningún tipo en la unidad donde se hayan eliminado accidentalmente los ficheros. Si es posible, no se debe realizar ningún cambio en la partición o unidad pues de hacerlo, es muy probable que los datos eliminados se pierdan para siempre.

Por lo tanto, tras detectar que se han borrado o eliminado datos por accidente, es recomendable seguir los pasos de este manual y no copiar nuevos ficheros ni crear carpetas, ni ejecutar utilidades de desfragmentación, ni nada por el estilo. El motivo lo explicamos aquí.

Y, repetimos, cuantos más cambios se hayan hecho en la unidad donde se encuentran los ficheros eliminados menor será la posibilidad de recuperarlos.

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Para recuperar ficheros eliminados de una unidad de disco, tarjeta de memoria, pendrive, lápiz de memoria o cualquier otro medio de almacenamiento usaremos un software gratuito y open source (con código fuente en C disponible), en concreto usaremos PhotoRec. Existen muchos programas o software de recuperación de fotos y ficheros eliminados pero la gran parte son de pago, suelen permitir analizar la unidad en busca de los ficheros eliminados y, cuando los encuentran, no dejan recuperarlos hasta que no se obtenga la versión completa, previo pago. Así pues, mostramos aquí un software que funciona muy bien, es gratuito y open source. El único «inconveniente» que presenta es que no es en modo gráfico sino en modo texto, este inconveniente lo hace un poco menos amigable que, por ejemplo, Recuva, pero también es más avanzado en cuanto al uso, nos permitirá cambiar parámetros para usuarios expertos.

Descargaremos PhotoRec accediendo a la URL:

http://www.cgsecurity.org/wiki/TestDisk_Descargar

En nuestro caso descargaremos la versión para Windows (testdisk-6.11.3.win.zip de 1,5MB):

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Antes de ejecutar la aplicación PhotoRec (puesto que no necesita instalación), si tenemos que recuperar algún fichero o archivo eliminado de alguna unidad extraíble (pendrive, tarjeta de memoria, memoria flash, etc.) la conectaremos previamente al puerto USB del equipo:

AjpdSoft Cómo recuperar fotos borradas de tarjeta de memoria, pendrive, lápiz de memoria, memoria flash

Una vez descargado el fichero comprimido, lo descomprimiremos y ya tendremos disponible la aplicación PhotoRec y la aplicación TestDisk (permite recuperar particiones eliminadas, recuperar sectores de arranque, etc.). Ejecutaremos con doble clic el fichero «photorec_win.exe», si estamos en Microsoft Windows 7 lo ejecutaremos como administrador pulsando con el botón derecho del ratón sobre el fichero y seleccionando «Ejecutar como administrador»:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Pulsaremos «Sí» en el Control de cuentas de usuario de Microsoft Windows 7:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

PhotoRec escaneará el equipo y mostrará todas las particiones que encuentre, tanto de discos rígidos (magnéticos) como discos extraíbles (tarjetas de memoria, memorias flash, pendrives, lápices de memoria, etc.). Identificaremos la partición donde se encuentren los ficheros eliminados a recuperar (o bien por el tamaño, o bien por el número de serie. En nuestro caso recuperaremos los ficheros jpg (imágenes o fotos) de un pendrive marca Kingston DataTraveler, lo seleccionaremos (con las teclas de cursor) y pulsaremos INTRO (Proceed):

Cómo recuperar ficheros eliminados por accidente con PhotoRec

A continuación seleccionaremos el tipo de tabla de partición, normalmente «Intel/PC partition». Una de las ventajas de PhotoRec es que permite intentar recuperar datos eliminados de unidades no particionadas (seleccionando «Non partitioned media». En nuestro caso, puesto que el pendrive donde teníamos las fotos era de tipo FAT32, seleccionaremos «Intel» y pulsaremso INTRO:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Nota: los tipos de tabla de partición que admite PhotoRec son: Intel (Intel/PC partition), EFI GPT ( EFI GPT partition map Mac i386, some x86_64), Mac (Apple partition map), None (non partitioned media), Sun (Sun Solaris partition), XBox (XBox partition).

A continuación seleccionaremos la partición de la unidad en la que se encuentran los ficheros eliminados, en nuestro caso «FAT32» con label (etiqueta) «AJPDSOFT». En la parte inferior, con las teclas de cursor derecha e izquierda, seleccionaremos «File Opt» y pulsaremos INTRO:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

PhotoRec nos permite elegir el tipo de ficheros a recuperar, en nuestro caso, puesto que queremos recuperar unas fotos y sabemos que estaban en formato JPG marcaremos el tipo de fichero «jpg JPG picture». Puesto que PhotoRec muestra todos los tipos marcados, para no ir uno a uno desmarcándolos, pulsaremos la tecla «s», a continuación nos moveremos con las teclas del cursor arriba y abajo y cuando tengamos seleccionado el tipo de fichero a recuperar lo marcaremos pulsando la barra espaciadora. A continuación podremos pulsaremos la tecla «b» para guardar los cambios y pulsaremos INTRO para continuar con el proceso:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Algunos de los tipos soportados por PhotoRec (más de 180): ifo (DVD Video manager or title files), imb (Incredimail), iso (ISO), itu (iTunes), jpg (JPG picture), ldf (Microsoft SQL Server Log Data File), lnk (MS Windows Link), mdb (Access Data Base), ace (ACE archive), aif (Audio Interchange File Format), arj (ARJ archive), asf (ASF, WMA, WMV: Advanced Streaming Format used for Audio/Video), bkf (MS Backup file), bmp (BMP Bitmap image), cab (Microsoft Cabinet archive), dbf (DBase), doc (Microsoft Office Document), dwg (AutoCAD), edb (Exchange Database), exe (MS Windows executable), gif (Graphic Interchange Format), gz (gzip compressed data), ico (Windows Icon), mov (mov, mp4, 3gp), mp3 (MP3 audio), mpg (Moving Picture Exports Group video, psd (Adobe Photoshop Image), rpm, reg, sqlite, swf, tar, tif, txt, tz, wmf, wpd, zip, etc.

Nos mostrará el siguiente mensaje «Settings recorded successfully», pulsaremos INTRO para continuar:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Pulsaremos «Quit» (INTRO) para continuar:

ómo recuperar ficheros eliminados por accidente con PhotoRec

A continuación, otra de las ventajas de PhotoRec frente a otras aplicaciones de recuperación de ficheros eliminados es que permite elegir opciones avanzadas para usuarios expertos. Para ello seleccionaremos (en la parte inferior) «Options» (lo podremos hacer pulsando las teclas de cursor derecha e izquierda, cuando tengamos seleccionado «Options» pulsaremos «INTRO»:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

En esta ventana podremos seleccionar las siguientes opciones:

  • Paranoid: fuerza bruta, podremos activar o desactivar esta opción seleccionándola con las teclas de cursor arriba y abajo, una vez seleccionada pulsando INTRO.
  • Allow partial last cylinder.
  • Expertm mode: en nuestro caso, como ejemplo, activaremos esta opción que viene desactivada por defecto, así nos permitirá elegir más parámetros a la hora de recuperar ficheros.
  • Low memory.
Cómo recuperar ficheros eliminados por accidente con PhotoRec

Al seleccionar «Expert mode», nos mostrará una nueva opción llamada «Geometry»:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Desde la opción Geometry podremos modificar el número de cilindros (Cylinders), cabezas (Heads), sectores (Sectors) y el tamaño del sector (Sector Size):

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Por ejemplo, pulsando INTRO sobre «Cylinders» podremos cambiar el número de cilindros (por defecto 487):

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Tras configurar los parámetros seleccionaremos «Search» (en la parte inferior, con las teclas de cursor derecha e izquierda) y pulsaremos INTRO:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

A continuación nos permitirá elegir el tipo de sistema de archivos (filesystem), las posibilidades:

  • ext2, ext3, ext4
  • FAT, NTFS, HFS+, ReiserFS

En nuestro caso seleccionaremos «Other FAT NTFS HFS+ ReiserFS» y pulsaremos INTRO:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Otra de las posibilidades que permite PhotoRec, a la hora de buscar posibles ficheros eliminados en una unidad es buscar sólo en el espacio marcado como libre (Free Scan for file from FAT32 unallocated space only), o buscar en toda la unidad (Whole Extract files from whole partition). Si elegimos «Whole» el proceso puede ser bastante lento. Lo normal es probar con la primera opción que es más rápida «Free» y si no conseguimos recuperar todos los ficheros eliminados, en este caso, probar de nuevo eligiendo «Whole».

En nuestro caso probaremos con «Free Scan for file from FAT32 unallocated space only», seleccionaremos la opción con las teclas de cursor arriba y abajo y pulsaremos INTRO una vez seleccionada:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

A continuación podremos elegir la unidad y carpeta donde se guardarán los datos: NUNCA EN LA MISMA QUE DONDE SE ENCUENTREN LOS FICHEROS ELIMINADOS A RECUPERAR. Una vez elegida la unidad y carpeta (podremos ir moviéndonos a subcarpetas anteriores seleccionando «..» y pulsando «INTRO». La carpeta de destino de los ficheros eliminados que haya podido recuperar aparecerá en «Do you want to sabe recovered files in». Una vez seleccionada la carpeta de destino pulsaremos «y» para iniciar el proceso de escaneo en busca de ficheros eliminados:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Puesto que hemos activado el modo experto, antes de iniciar la búsqueda de ficheros eliminados y su recuperación si es posible, nos preguntará si la partición actual no está formateada. Otra de las ventajas de PhotoRec es que permite buscar ficheros eliminados (y recuperarlos si es posible) en particiones formateadas. En nuestro caso, puesto que la unidad no está formateada, pulsaremos «n» y continuaremos con el proceso:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

La pregunta: «Try to unformat a FAT filesystem (Y/N)».

Siguiendo con el modo experto, nos preguntará el tamaño de bloque, por defecto dejará marcado el que haya considerado, pulsaremos INTRO (normalmente 4096):

Cómo recuperar ficheros eliminados por accidente con PhotoRec

La pregunta: «Please select the block size, press Enter when done».

La siguiente pregunta también corresponde al modo experto, nos pide ahora que indiquemos la dirección inicial en la que empezará la búsqueda, pulsaremos INTRO para continuar:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Con el texto: «Please select the offset (0 – 3584). Pres Up/Down to increase/decrease it. Enter when done. Offset 0».

A partir de ahora, PhotoRec iniciará la búsqueda y escaneo de la unidad y partición elegida con las opciones seleccionadas. Nos irá mostrando el sector que está leyendo y el número de sectores totales. También nos mostrará el número de ficheros recuperados por tipo, el tiempo transcurrido y el estimado. Podremos parar el proceso pulsando INTRO (Stop):

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Una vez concluido el proceso (si hemos elegido «Whole» y se trata de un disco duro «grande» puede tardar horas) nos preguntará si queremos cerar un fichero de imagen con los datos no reconocidos. Pulsaremos «N»:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Con el texto: «Create a image_remaining.dd file with the unknown data (Answer N if not sure)».

Nos mostrará el número de ficheros guardados (recuperados) y la unidad y carpeta donde los ha recuperado. Pulsaremos INTRO para cerrar PhotoRec:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

A continuación accederemos con el Explorador de Windows a la carpeta elegida para la recuperación de los ficheros eliminados, comprobando si los ha recuperado todos y si son correctos. PhotoRec suele crear varias subcarpetas con el nombre «recup_dir.XXX», iremos buscando los archivos recuperados en estas carpetas:

Cómo recuperar ficheros eliminados por accidente con PhotoRec

Sin duda, PhotoRec es una herramienta excepcional para recuperar ficheros eliminados por accidente. Es muy configurable y avanzada, no necesita instalación y, además, funciona casi en cualquier sistema operativo. Por lo que si nuestra partición NTFS o FAT32 (Windows) se ha corrompido podremos arrancar con un Live CD de Linux, descargar esta utilísima herramienta para Linux y recuperar los datos desde Linux.

Sin duda se trata de la herramienta más sofisticada de las gratuitas y open source que hemos encontrado. Incluso no seleccionando el modo experto la herramienta es de muy sencillo manejo. Como único inconveniente para un usuario inexperto es que no está en modo gráfico, pero es bastante sencilla.

Además, los desarrolladores de PhotoRec, han realizado otra aplicación más específica para recuperar particiones defectuosas o eliminadas así como sectores de arranque NTFS y demás, llamada TestDisk, que se incluye en la misma descarga que PhotoRec.

Por supuesto, existen otras aplicaciones en el mercado, algunas gratuitas como PC Inspector smart recovery, algunas puede que más efectivas, pero la gran parte son de pago: FlashPhoenix Photo Recovery, Easeus Photo Recovery, MediaRecover Image Recovery, MediaRevival, FileRestorePlus, Art Plus Digital Photo Recovery, GetDataBack, Ontrack File Recovery, CnW Data Recovery Software, etc.). PhotoRec es de las pocas que hemos encontrado gratuitas y, además, open source (con código fuente disponible). Funciona bastante bien y su manejo es muy sencillo aunque en modo texto (no gráfico), por lo que es una buena elección a la hora de intentar recuperar ficheros eliminados por accidente.

En el siguiente artículo explicamos cómo recuperar fotos (aunque sirve también para cualquier otro tipo de fichero) usando esta herramienta más sencilla y en modo gráfico, aunque menos avanzada Recuva:

Características principales y funcionamiento de PhotoRec para recuperar ficheros eliminados en Linux como en Windows

Características de PhotoRec para recuperar ficheros eliminados en Linux y Windows

PhotoRec es un software diseñado para recuperar archivos perdidos incluyendo videos, documentos y archivos de los discos duros y CDRoms así como imágenes perdidas (por eso el nombre PhotoRecovery) de las memorias de las cámaras fotográficas, MP3 players, PenDrives, etc. PhotoRec ignora el sistema de archivos y hace una búsqueda profunda de los datos, funcionando incluso si su sistema de archivos está muy dañado o ha sido re-formateado.

PhotoRec es una aplicación gratuita y Open Source multi-plataforma distribuida bajo Licencia Pública General GNU. PhotoRec acompaña a TestDisk, una aplicación para recuperar particiones perdidas en una amplia variedad de sistemas de archivos y que hace que los discos que no son booteables, sean booteables de nuevo.

Para más seguridad, PhotoRec usa un acceso de sólo lectura para manejar el disco o la memoria desde donde recuperará los datos perdidos.

PhotoRec se puede ejecutar en los siguientes sistemas operativos:

  • DOS/Win9x.
  • Windows NT 4/2000/XP/2003.
  • Linux.
  • FreeBSD, NetBSD, OpenBSD.
  • Sun Solaris.
  • Mac OS X.

y puede ser compilado en casi todos los sistemas Unix.

Photorec ignora los sistemas de archivos, por eso puede trabajar incluso en discos o memorias muy dañados. Puede recuperar datos de los siguientes sistemas de archivos:

  • FAT.
  • NTFS.
  • EXT2/EXT3 filesystem.
  • HFS+.

ReiserFS incluye algunas optimizaciones especiales centradas en los finales de archivos, un nombre para los archivos y las porciones finales de los archivos que son más pequeños que los bloques del FileSystem. Para mejorar el rendimiento, ReserFS puede guardar archivos dentro de las hojas mismas de los nodos del árbol binario, en vez de ordenar los datos en otro lugar del disco y apuntar a ese lugar. Desafortunadamente, PhotoRec no puede manejar este tipo de administración, con lo cual no funciona con ReiserFS.

PhotoRec trabaja con HDD, CDRooms, tarjetas de memoria (Compact Flash, Memory Stick, SecureDigital/SD, SmartMedia, Microdrive, MMC…); Pendrives, DD raw image, EnCase EO1 image… PhotoRec ha sido testeado y funciona correctamente con varios medios portables incluyendo el iPod y las siguientes cámaras digitales:

  • Canon EOS300D, 10D.
  • HP PhotoSmart 620, 850, 935.
  • Nikon CoolPix 775, 950, 5700.
  • Olympus C350N, C860L, Mju 400 Digital, Stylus 300.
  • Sony Alpha DSLR, DSC-P9.
  • Praktica DCZ-3.4.
  • Casio Exilim EX-Z 750.

PhotoRec busca extensiones de archivo conocidas. Si no hubo fragmentación de datos, puede recuperar el archivo entero. PhotoRec reconoce numerosos formatos de archivo incluyendo ZIP, archivos de Office, PDF, HTML, JPEG y varios formatos gráficos. La lista entera de formatos que reconoce PhotoRec contiene mas de 180 extensiones (100 familias de archivos).

Como funciona PhotoRec para restaurar archivos eliminados

Los sistemas de archivo FAT, NTFS, ext2/ext3/ext4 guardan los archivos en bloques de datos (también llamados clúster en Windows). El tamaño de clúster ó bloque es constante después de haber sido definido al formatear el sistema de archivos. En general, la mayoría de los sistemas operativos intentan guardar los datos de forma contigua para minimizar el nivel de fragmentación. El tiempo de búsqueda de los discos mecánicos es bastante significante para escritura y lectura de datos, desde y hacia el disco rígido, por eso es importante mantener el nivel de fragmentación en un nivel mínimo.

Cuando un archivo es eliminado, la información sobre este archivo (Nombre, fecha/hora, tamaño, ubicación del primer bloque ó clúster, etc.) se pierden; por ejemplo, en un sistema ext2/ext3, los nombres de los archivos eliminados siguen presentes, pero la ubicación del primer bloque de datos es eliminada. Esto significa que los datos siguen estando presentes, pero solamente hasta que sean sobrescritos en parte o por completo por un nuevo archivo.

Para recuperar estos archivos ‘perdidos’, PhotoRec primero intenta encontrar el tamaño del bloque (ó clúster). Si el sistema de archivos no está dañado, este valor puede ser leído del superblock (ext2/ext3/ext4) ó del Volume Boot Record (FAT, NTFS). Sino, PhotoRec lee el volumen, sector por sector, buscando los primeros diez archivos, de los cuales calcula el tamaño de bloque/cluster de acuerdo a sus ubicaciones. Una vez que el tamaño de bloque es conocido, PhotoRec lee el volumen bloque a bloque (ó clúster a clúster). Cada bloque es revisado contra una base de datos de firmas; la cual viene con el programa y ha estado creciendo en cuanto a tipos de archivos que se pueden recuperar desde que la primera versión de PhotoRec salió.

Por ejemplo, PhotoRec identifica un archivo JPEG cuando el bloque comienza con:

  • 0xff,0xd8,0xff,0xe0
  • 0xff,0xd8,0xff,0xe1
  • 0xff,0xd8,0xff,0xfe

Si PhotoRec ya ha comenzado a recuperar un archivo, detiene la recuperación, si es posible revisa la consistencia del archivo y comienza a grabar el nuevo archivo con la extensión determinada de la firma que encontró.

Si los datos no están fragmentados, el archivo recuperado debería ser o bien idéntico ó posiblemente más grande que el original. En algunos casos, PhotoRec puede inferir el tamaño original, basándose en la cabecera del archivo, así, el archivo recuperado es truncado al tamaño correcto. Sin embargo, si el archivo recuperado termina siendo más pequeño que la especificación de su cabecera, es descartado.

Cuando un archivo es correctamente recuperado, PhotoRec revisa los bloques de datos anteriores para ver si encuentra una firma de archivo, pero si el archivo no pudo ser recuperado correctamente (por ejemplo, el archivo era demasiado pequeño), reintentará el proceso. De esta forma, algunos archivos fragmentados pueden ser recuperados exitosamente.