Cuando se borran archivos con los métodos habituales (como el
comando rm)
a veces pueden recuperarse ya que lo que se borra realmente es el
inodo
(la tabla de asignación de archivos). El ordenador simplemente marca el espacio como
sin uso, permaneciendo el contenido del archivo en el disco hasta que sea sobreescrito
por otros archivos.
Veamos cómo recuperar datos 'borrados'. Lo más normal cuando un disco duro falla es que
tenga sectores dañados o corruptos en los que no se puede leer ni escribir. Para recuperar los
datos lo mejor es hacerlo en dos pasos:
- primero copiamos la unidad dañada en otro disco:
# dd if=/dev/old_disk of=/home/recovery.img conv=noerror
# mount -t ntfs -o loop /home/recovery.img /home/recover_src
- después intentaremos recuperar los datos con alguna herramienta de
recuperación de datos.
Existen diversas utilidades para recuperación de datos en Linux:
- The Sleuth Kit
(sleuthkit.org, paquete sleuthkit):
herramientas para la línea de comandos que permiten examinar filesystems y recuperar archivos perdidos.
Se utiliza normalmente con Autopsy (paquete autopsy), un frontal con interfaz
web que incorpora un servidor web al que se accede en la dirección http://localhost:9999/autopsy.
- gddrescue
(gnu.org/software/ddrescue/ddrescue.html,
paquete gddrescue): herramienta de recuperación de datos del GNU para la línea
de comandos. Para recuperar los datos lo haremos en dos pasos:
- primero, copiamos las áreas libres de errores en otro disco:
# ./ddrescue -n /dev/old_disk /dev/new_disk rescued.log
- después, intentamos recuperar todo lo que se pueda de las áreas dañadas:
# ddrescue -r 1 /dev/old_disk /dev/new_disk rescued.log
- The_Coroner's_Toolkit
(porcupine.org/forensics/tct.html, paquete tct):
herramientas para la línea de comandos que permiten recuperar filesystems.
- TestDisk
(cgsecurity.org/wiki/TestDisk/,
paquete testdisk): herramienta para la línea de comandos que permite recuperar
archivos borrados y particiones perdidas en todo tipo de filesystems (FAT, NTFS, Ext2, Ext3 ,
RAID, LVM, etc.). Además del comando testdisk trae el comando photorec
que reconoce 80 tipos de archivos (especialmente formatos gráficos) al escanear el disco
en busca de datos borrados.
- magicrescue (jbj.rapanden.dk/magicrescue/,
paquete magicrescue): herramienta para la línea de comandos que permite recuperar
archivos borrados en todo tipo de filesystems buscando cabeceras conocidas (magic bytes).
- foremost (foremost.sourceforge.net,
paquete foremost): herramienta de recuperación de datos para la línea de
comandos basada en cabeceras conocidas.
- e2undel (e2undel.sourceforge.net,
paquete e2undel): herramienta para la línea de comandos que permite recuperar
archivos borrados en filesystems Ext2 (no trabaja en filesystems con journals como Ext3).
- recover
(recover.sourceforge.net/linux/recover/,
paquete recover): herramienta para la línea de comandos que permite recuperar
archivos borrados en filesystems Ext2 (no trabaja en filesystems con journals como Ext3).
- DVDisaster
(dvdisaster.sourceforge.net, paquete dvdisaster):
herramienta para prevenir fallos en CDs y DVDs que permite recuperar datos de discos dañados.
Previamente (cuando el disco está ok) debemos generar el fichero de corrección de
errores que permitirá posteriormente reconstruir los sectores ilegibles.
- Dares (paquete dares): herramienta con interfaz ncurses que permite
recuperar datos de CDs y DVDs dañados. Dispone también de un frontal con interfaz Qt
dares-qt (paquete dares-qt).