Recuperación de datos y particiones: Perdí todo y ahora que hago?

Recuperación de datos: Perdí todo y ¿ahora
que hago?

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 dólares 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 desarrolló 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 página 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 cámaras digitales
modernas), gif, png, bmp, avi, mpg (soporta la mayoría de MPEG’s
(comenzando con la cabecera de archivo 0×000001BA)), exe (Windows PE
executables), rar, wav, riff, wmv, wma, mov, pdf, ole (Incluye
powerpoint, Word, Excel, Access, y Star Writer) ,zip, htm y cpp

Copiaremos el pendrive entero con dd : la unidad donde tienes tu
informacion que se borro

  dd if=/dev/sdb1 of=/home/servomac/info.dd

Ahora usaremos Foremost, una aplicación de Informática forense
pensada para recuperar ficheros borrados en GNU/Linux que puede con
todo. En nuestro caso, nos interesa recuperar ficheros .doc, así que
usaremos los siguientes parámetros :

  sudo foremost -v -t doc -i info.dd

-o para el directorio de salida, y parámetro –t all para todo tipo de
archivo

Esto nos creará un directorio output, con un subdirectorio
llamado doc, dónde encontraremos todos los ficheros que ha sido capaz de
recuperar. Obviamente soporta muchos otros tipos de fichero, como jpg, y
tiene otras opciones que podreis descubrir con un simple man foremost.

Magicrescue

Magicrescue es un programa de línea de comandos capaz de recuperar
datos de cualquier sistema de ficheros. Para ello utiliza los magic
numbers (que son combinaciones binarias que tienen los ficheros según de
qué tipo sean que los identifica de forma única) y llama a otros
programas para recuperar los trozos reconocidos. No es tan efectivo como
una recuperación manual, pero si lo suficiente en la mayoría de los
casos. Este software no funciona demasiado bien en sistemas de ficheros
demasiado fragmentados, pero esto no suele ser un problema ya que es
poco común.
Para aprender a utilizarlo el mejor manual es su página man, pero
gracias a grescue no será necesario.

Para instalarlo nos descargamos el .deb para Ubuntu/Debian y luego en una consola hacemos:

  sudo apt-get install magicrescue
sudo dpkg -i /ruta/descarga/grescue_0.1.2~welemski1_i386.deb

Una vez hecho esto tendremos un icono en “Aplicaciones >>
Herramientas del sistema >> GRescue”.

Pincharemos en el botón inferior derecho que dice “Start Rescue” o
“Comenzar Rescate” y nos aparecerá una ventana donde configurar los
parámetros que queremos recuperar.

para recuperar todas las imágenes png de una partición home que
haya borrado y que las ponga en el directorio /home/usuario. Ahora
bastará con darle al start y esperar, puede que tu máquina se ralentice
un poco, es normal piensa que está barriendo el dispositivo a nivel de
bloque.
Si salta algún error, deberás estudiarlo, puede que necesite otras
aplicaciones que no tengas instaladas para recuperar el fichero que haya
encontrado. Por ejemplo, para recuperar .avis tendremos que tener
instalado mencoder.

  sudo apt-get install mencoder

Cuando acabe, aparecerá todo lo que ha recuperado que encaje con la
descripción en el directorio que hayamos especificado.

lsof

lsof es más que un simple comando de Linux es una herramienta que
permite ver todos los archivos abiertos por un determinado proceso,
tiene muchos usos pero en este caso vamos a ver como utilizar lsof para
recuperar archivos que hayamos borrado accidentalmente.

Un poco de teoría un archivo en Linux es un apuntador a un inode,
este inode es el que contiene los datos del archivo como permisos,
propietario y donde está ubicado en el disco. Cuando borramos archivos
en Linux removemos es el link pero no el inode como tal, si otro proceso
tiene abierto el inode no es liberado hasta que el proceso termine con
el.

Nota: Este método solo funciona si el archivo está abierto
por algún proceso, si el proceso que usaba el archivo ya finalizó este
método no sirve de nada.

Muchos después de leer la última línea se preguntarán para que
sirve entonces si lo tiene que tener algún proceso abierto, supongamos
que estás editando un archivo de audio y tienes archivo1.mp3 y
archivo2.mp3, estás editando en este momento el archivo1.mp3 y decides
que quieres borrar el 2 porque el 1 está perfecto, ejecutas por
equivocación rm archivo1.mp3 y a llorar se ha dicho, esto es un simple
ejemplo de cosas que suceden y creanme que hay muchos casos.

Este tutorial sirve para cualquier distribución de GNU/Linux.

Para este Tip vamos a realizar los siguientes pasos:

Paso 1. Crea un archivo llamado texto.txt de prueba (no intentes
esto con un archivo que sea importante no me hago responsable por
ninguna pérdida), escribe lo que quieras dentro de este archivo.

Paso 2. Ejecuta:

  less texto.txt

Vas a ver el contenido del archivo que editaste ahora presiona Ctrl-Z
para suspenderlo o abre otra ventana de terminal.

Paso 3. Ahora el momento de la verdad ejecuta:

  rm texto.txt

Archivo borrado, puedes ejecutar ls texto.txt para comprobar que el
archivo se borró.

Paso 4. Ahora vamos a ver lsof en acción ejecuta:

  lsof | grep texto.txt
less 2422 tribulinux 4r REG 8,5 59 252900 /home/tribulinux/texto.txt (deleted)

Debe aparcerte algo similar (con algúnos números distintos), lo
importante de la segunda línea es el PID ó número de proceso que es en
este caso 2422 y el descriptor del archivo que es la cuarta columna es
decir 4.

Ahora con estos datos podemos ver dentro del directorio proc
donde todavía estará la referencia a nuestro archivo.

Paso 5. Ejecuta:

  ls -l /proc/2422/fd/4
lr-x—— 1 tribulinux tribulinux 64 2009-06-01 16:18 /proc/2422/fd/4 -> /home/tribulinux/texto.txt (deleted)

Te aparecerá algo como en la línea de arriba aquí ya empezamos a
respirar un poco porque aún hay esperanzas de recuperar el archivo.

Paso 6. Recuperar el archivo ejecutando simplemente:

  cp /proc/2422/fd/4 texto.txt.recuperado

Colocale el nombre que quieras

Finalmente puedes ver tu archivo recuperado:

  ls -l texto.txt.recuperado
  -rw-r–r– 1 tribulinux tribulinux 59 2009-06-01 16:27 texto.txt.recuperado

Y listo ya tienes de vuelta tu archivo

Espero que esto le salve el día a alguien alguna vez y que les
sea de utilidad aunque sea para comprender un poco más a Linux.

lsdel

Esto te dará una lista de inodos borrados

Como superusuario desmonta la unidad:

  1.- umount /dev/hda1)
2.- debugfs -w /dev/hda1
3.- lsdel

Mira un poco las fechas, sino puedes hacer:

  4.- stat

Y te dirá información sobre cada inode. Quizás eso te sirva para
saber lo que quieres recuperar.
Una vez que lo sepas

  5.- dump (nombre del fichero donde lo quieras guardar.)

Una cosa mas. debugfs -f fichero ejecuta los comandos que le pongas
en el fichero. asi puedes hacerlo mas rapido. te haces un fichero con
todos los dumps que quieras hacer y luego lo ejecutas de una vez.

Aquí suponemos que la partición donde serán guardados los datos
está correctamente formateada (incluso en FAT32) y montada.
Montar la partición en sólo lectura

Si no está montada:

  mount /dev/partition /punto/de/montaje –r

Si ya está montada, habrá que desmontarla luego volverla a montar:

  mount /dev/partition /punto/de/montaje -o remount,ro

Si la raíz (/) es la que debe ser recuperada, agregar la opción –n
para ya no escribir nada más en /etc/mtab
En caso de error de mount

Utilizar el comando fuserpara encontrar qué proceso utiliza esta
partición:

  fuser -v -m /punto/de/montaje

Para eliminar el proceso molestoso:

  fuser -k -TERM -v -m /punto/de/montaje

Recuperación de los datos

Buscar los bloques que han sido recientemente liberados
utilizando el comando lsdel.
Ejemplo:

  echo lsdel | debugfs /dev/hda3 > lista.txt

Imprimir la lista.

Recuperar los archivos con debugfs. En realidad, se debe de
inicio utilizar el comando dump luego dd.
Ejemplo:

  dd count=1 if=/recup/000 of=/correct/000 bs=6065

El archivo “000” (en la carpeta/correct)entonces debe ser correct
ahora.

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 reside si el cd o medio donde se encuentra la
información está dañado.
Para poder solventarse este problema dió 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 número de veces que se lecturas
reiteradas
–l luego está 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 está 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 está 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 número 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
  • RAID 1: mirroring
  • RAID 4: striped array with parity device
  • RAID 5: striped array with distributed parity information
  • 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:
Testdisk

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 libres

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 realicé 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 partición secundaria
  • Arrancar otros sistemas operativos como GNU Hurd
  • Activar particiones
  • ocultar particiones
  • desocultar particiones

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 existente 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 más 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.

¿Te resultó interesante? Compártelo ...



GUTL

Publicado por GUTL

Forma parte de GUTL desde el 6 diciembre, 2011.

Este artículo tiene 4 comentarios

  1. Hola me gustaria saber si existe alguna herramienta o comado, que me permita borrar de la MFT por ejemplo de una memoria usb, toda la información que ha sido borrada, que esta alojada en la MFT del dispositivo lista para recuperar o escribir nuevos datos encima de ella, lo que quiero es que al intentar recuperar esa info, me salga que no existe (que no hay nada borrado), eso lo podria hacer copiando el contenido y dandole formatendo completo a la usb, pero eso es mucho trabajo tiene como 190.005.678 archivos muchos de ellos de KBs y se demoraria mucho al copiarlos de nuevo al usb, recuerdo que en windows uno podia vaciar esa información de la MFT creo que con el ccleaner y el undelete.

Los comentarios están cerrados.