Ddrescue
# Ddrescue

GNU Ddrescue es una herramienta de recuperación de datos que puede utilizarse para copiar datos desde un dispositivo de almacenamiento (disco duro, CD-ROM, etc.) a otro, con el fin de rescatar la información en caso de errores de lectura. GNU ddrescue es un programa escrito en C++, publicado inicialmente en 2004, y que actualmente está incluido en la mayoría de las distribuciones de GNU/Linux.

## Descripción

GNU ddrescue no es un derivado de dd, ni está relacionado con dd de ninguna forma excepto en que ambos pueden ser usados para copiar datos de un dispositivo a otro. La diferencia es que ddrescue usa un algoritmo sofisticado para copiar datos de discos con errores causándoles tan poco daño adicional como sea posible.

GNU ddrescue tiene el algoritmo de cambio de tamaño de bloques más sofisticado disponible en un programa libre,

es considerado una herramienta esencial en la recuperación de datos,

y es utilizado incluso por profesionales.

Si se usa el fichero de anotaciones (logfile) de ddrescue, los datos son recuperados muy eficientemente, (sólo se leen los bloques necesarios). Además se puede interrumpir el rescate en cualquier momento y reanudarlo después en el mismo punto.

Ddrescue no escribe ceros en la salida cuando encuentra errores en la entrada, ni trunca el fichero de salida si no se le pide. De este modo cada vez que es ejecutado sobre el mismo fichero de salida, intenta rellenar los huecos sin borrar los datos ya recuperados.

## Otros usos

Fusión automática de copias de seguridad: Si se tienen dos o más copias dañadas de un mismo fichero, cdrom, etc, y se ejecuta ddrescue en todas ellas, una cada vez, sobre el mismo fichero de salida, se obtendrá probablemente un fichero completo y libre de errores. Esto es así porque la probabilidad de tener la misma área dañada en todas las copias es baja. Usando el fichero de anotaciones (logfile), sólo se leen los bloques que se necesiten de la segunda copia y sucesivas.

Ddrescue recomienda lzip para comprimir copias de seguridad porque el formato lzip está diseñado para el almacenamiento de datos a largo plazo y proporciona capacidades de recuperación de datos que complementan muy bien las de ddrescue. (Ddrescue rellena los sectores ilegibles con datos de otras copias, mientras que lziprecover corrige los sectores corruptos con datos de otras copias). Si la causa de la corrupción del fichero es un soporte físico dañado, la combinación ddrescue + lziprecover es la mejor opción para recuperar datos a partir de varias copias dañadas.

Ddrescue también proporciona un "modo de llenado" (fill mode) capaz de sobreescribir selectivamente partes del fichero de salida, lo que tiene algunos usos interesantes como borrar datos, marcar áreas defectuosas o incluso, en algunos casos, "reparar" sectores dañados.

