Archivos perdidos, como recuperarlos.

Cuantos de uds. alguna vez perdieron información de disquettes, discos rígidos, pendrive’s, flash memory’s, etc.
Muchas veces no nos importa ya que eran mp3 o fotos de las cuales teníamos copias o podíamos volver a conseguir. Ahora que sucede cuando la información que perdimos era sensible, aquel trabajo que nos tomó una semana realizar y que era urgente entregar.
Tenemos 3 opciones:
1-Acudir a un centro especializado en recuperación de datos. Muchas veces cobran en euros o en dolares por mega recuperado o por horas trabajadas. Esta opción suele ser costosa y no se justifica para un usuario común.
2-Comprar una licencia de algún soft, cosa que no se justificaría por un caso esporádico. O acaso nos pasamos perdiendo información todo el tiempo?.
3-Utilizar lo que la comunidad libre desarrollo y que se encuentra disponible a todo el mundo.

Empecemos por los que a mi entender son los mejores en el rubro:

Photorec
Es conocido por su efectividad en la recuperación de memorias SD de las cámaras digitales. Se encuentra bajo licencia GPL y es multiplataforma. Actualmente soporta:
* DOS/Win9x
* Windows NT 4/2000/XP/2003
* Linux
* FreeBSD, NetBSD, OpenBSD
* Sun Solaris
* Mac OS X
Los tipos de particiones soportados son:
* FAT,
* NTFS,
* EXT2/EXT3 filesystem
* HFS+
según la pagina web del proyecto se probó recuperar información con éxito de las siguientes cámaras:
* Canon EOS300D, 10D
* HP PhotoSmart 620, 850, 935
* Nikon CoolPix 775, 950, 5700
* Olympus C350N, C860L, Mju 400 Digital, Stylus 300
* Sony DSC-P9
* Praktica DCZ-3.4
* Casio Exilim EX-Z 750

Foremost
Muy efectivo para recuperar diferentes tipos de archivos. La técnica que utiliza es el método de lectura RAW en busca de cabeceras, finalización y estructura interna de archivos. El propio soft tiene una base de datos de estructura de archivos bastante amplia entre las que se destacan:
jpg (Soporte para JFIF y Exif incluidas en las camaras digitales modernas), gif, png, bmp, avi, mpg (soporta la mayoria de MPEG’s (comenzando con la cabecera de archivo 0x000001BA)), exe (Windows PE executables), rar, wav, riff, wmv, wma, mov, pdf, ole (Incluye powerpoint, Word, Excel, Access, y Star Writer) ,zip, htm y cpp


dd

Esta utilidad existe desde hace tiempo dentro de las coreutils de cualquier sistema *nix. Se encuentra también bajo licencia GPL.
Cual es la utilidad?. Nos permite copiar bloque a bloque información. Por ejemplo si deseamos hacer una imagen de un cd deberíamos hacer lo siguiente:
dd if=/dev/cdrom of=/home/usuario1/imagen.img
Pero el problema recide si el cd o medio donde se encuentra la información esta dañado.
Para poder solventarse este problema dio origen a una serie de forks de dd con ciertas mejoras para estos casos:

dd_rescue
Este este programa nació al poco tiempo de dd. El funcionamiento es simple: tratará de copiar toda la información por más que existan errores en el dispositivo. Se lo puede ejecutar varias veces y no volverá a empezar de cero, sino que tratara de completar la operación hasta conseguir la información completa.
Ejemplo:

# dd_rescue –e 7 –l /tmp/resultado.log –r –d /dev/hdc /var/tmp/cd.img

Se lee el contenido de /dev/hdc y se escribe en cd.img
–e 7 es el parámetro que indica el numero de veces que se lecturas reiteradas
–l luego esta el archivo en el cual se guardan los registros de la lectura
–r es para el sentido de la lectura hacia atrás o hacia delante

El defecto del dd_rescue es que puede tomar mucho tiempo en las lecturas, por la cantidad de veces que le pediremos pasar sobre el sector defectuoso y también por el tamaño de la información a recuperar.

Myrescue
Este programa es una mejora a dd_rescue y trata de encontrar la mejor manera de enfrentar el problema. Por ejemplo primero leer la información sana para continuar donde esta el problema.

DD_rhelp
En este caso prueba diferentes métodos de lectura.

DDrescue
Abarca todas las funciones de los programas anteriores y de dd_rescue.
Utiliza el método de leer primero lo que esta bien y luego utilizar diferentes técnicas sobre los sectores erróneos. Tengan en cuenta que el proceso de recuperación de este programa también es muy lento.

Recoverdm
Util para recuperar CD’s rayados, al encontrar un error baja la velocidad de lectura e intenta copiarlo.

Ejemplo:

# recoverdm –t30 -o /home/user1/recupero.img –n l –r6-i/dev/hdc
-t 30 ajusta el tipo de unidad para DVD
-o el archivo destino
-i el dispositivo a leer
-n el numero de repeticiones para la lectura

gpart
Intenta recuperar la partición primaria en caso de que la tabla de la partición tenga el sector 0 dañado,incorrecto o borrado. Los tipos de particiones soportados son:
* DOS/Windows FAT (FAT 12/16/32)
* Linux ext2
* Linux swap partitions versions 0 and 1 (Linux >= v2.2.X)
* OS/2 HPFS
* Windows NT/2000 FS
* *BSD disklabels
* Solaris/x86 disklabels
* Minix FS
* Reiser FS
* Linux LVM physical volume module (LVM by Heinz Mauelshagen)
* SGI XFS on Linux
* BeOS filesystem
* QNX 4.x filesystem

Test disk
Infaltable, es multiplataforma, actualmente soporta:
* DOS
* Windows (NT4, 2000, XP, 2003),
* Linux,
* FreeBSD, NetBSD, OpenBSD,
* SunOS
* MacOS
Soporta los siguientes file systems:
* BeFS ( BeOS )
* BSD disklabel ( FreeBSD/OpenBSD/NetBSD )
* CramFS, Compressed File System
* DOS/Windows FAT12, FAT16 and FAT32
* HFS and HFS+, Hierarchical File System
* JFS, IBM’s Journaled File System
* Linux Ext2 and Ext3
* Linux Raid
o RAID 1: mirroring
o RAID 4: striped array with parity device
o RAID 5: striped array with distributed parity information
o RAID 6: striped array with distributed dual redundancy information
* Linux Swap (versions 1 and 2)
* LVM and LVM2, Linux Logical Volume Manager
* Mac partition map
* Novell Storage Services NSS
* NTFS ( Windows NT/2K/XP/2003 )
* ReiserFS 3.5, 3.6 and 4
* Sun Solaris i386 disklabel
* Unix File System UFS and UFS2 (Sun/BSD/…)
* XFS, SGI’s Journaled File System
Ideal para recuperar particiones perdidas por el mal uso de fdisk o en los casos de pendrives o flash memory que perdieron la partición por ser retirados sin ser desmontados correctamente.
De la wiki de Testdisk pueden obtener ejemplos de como utilizar esta herramienta para recuperar particiones:
http://www.cgsecurity.org/wiki/Ejemplos_de_recuperacion_de_datos

Sleuthkit + autospy Browser
Cuando todo lo anterior falla tenemos a estas dos herramientas bastante complejas y no aptas para novatos. Sleuthkit es un conjunto de herramientas para realizar análisis del tipo forense. Solamente esta disponible para ambiente *nix (Linux, OS X, FreeBSD, OpenBSD y Solaris). Autospy es una interfaz que facilita la utilización de sleuthkit.
Soporta las siguientes particiones:
– FAT12 FAT16 FAT32
– Linux EXT2/EXT3
– Linux SWAP (version 1 and 2)
– NTFS (Windows NT/W2K/XP)
– BeFS (BeOS)
– UFS (BSD)
– Netware
– ReiserFS

Distros lives:

RIP
La mejor, hasta ahora nunca me defraudó, incluye la mayoría de los programas descriptos anteriormente. Si necesitan mayor información revisen el completo informe que realice sobre ella.

SuperGRUB
Realmente espectacular, probado con éxito contra una imagen de windows 2000 que al bootear simplemente se quedaba la pantalla en negro. Ocupa menos de 1MB. Se puede bajar la imagen de disquette o cd.
Las posibilidades son las siguientes:

Gnu/Linux:

* Restorear Grub al MBR automaticamente
* Restorear LILO al MBR (BETA)
* Arrancar Linux
* Activar la particion de Linux

Windows:

* Arreglar el arranque de Windows
* Arrancar Windows
* Arrancar Windows de un segundo disco
* Arrancar Windows de una particion secundaria

* Arrancar otros sistemas operativos como GNU Hurd

* Activar partiticiones
* ocultar particiones
* desocultar partiticiones

Trinity Rescue Kit
Todo lo necesario para rescatar info de Windows dañados. NTFS Undelete, antivirus que trabaja con cuarto motores principales, y demás herramientas.

System rescue CD
Compuesto por:
* GParted, con mayores prestaciones que la competencia de pago, Partition Magic. Merce un informe aparte.
* GNU Parted, útil para editar particiones.
* Partimage, para clonar discos.
* Herramientas para diferentes sistemas de archivos (e2fsprogs, reiserfsprogs, reiser4progs, xfsprogs, jfsutils, ntfsprogs, dosfstools): que nos permite formatear, hacer un resize, debug de cualquier tipo de partición exitente en el disco rígido.
* Ntfs3g: nos permite montar una partición NTFS con derechos full lectura/escritura.
* Sfdisk, para hacer un backup o restore de la tabla de particiones.
* Test-disk, el cual ya describí.

Ultimate boot CD
Live cd con la mas completa recopilación de disk Managers, soft de diagnóstico de discos rígidos, software de destrucción segura de información (disk wiping), editores de sectores de discos, editores de partición, herramientas para manejo de particiones NTFS y mucho más.
Nota: el cd contiene varias herramientas que poseen Copyright, no son GPL.

Como reflexion final, cuiden su información. Hagan backups. Cada tanto utilicen SMARTmon tools para hacer un diagnóstico del disco. No crean que nunca les va a pasar porque cuando les pase lo van a lamentar.

Referencias:
Photorec (http://www.cgsecurity.org/wiki/PhotoRec)
dd_rescue (http://www.garloff.de/kurt/linux/ddrescue/)
Foremost (http://foremost.sourceforge.net/)
myrescue (http://www.garloff.de/kurt/linux/ddrescue/)
dd_rhelp (http://www.garloff.de/kurt/linux/ddrescue/)
ddrescue (http://www.gnu.org/software/ddrescue/)
recoverdm (http://www.vanheusen.com/recoverdm/)
Testdisk (http://www.cgsecurity.org/wiki/TestDisk)
gpart (http://www.stud.uni-hannover.de/user/76201/gpart/#help)
Sleuthkit (http://www.sleuthkit.org/)
RIP Linux (http://www.tux.org/pub/people/kent-robotti/looplinux/rip)
SuperGRUB (http://supergrub.forjamari.linex.org/)
Trinity Rescue Disk (http://trinityhome.org)
System Rescue CD (http://www.sysresccd.org)
Ultimate Boot CD (http://www.ultimatebootcd.com/)

ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

Más detalles y texto legal de la licencia en: http://creativecommons.org/licenses/by-nc-sa/2.5/ar