Skip to content

5.1. ddrescue

ddrescue es una herramienta de recuperación de datos en Linux, diseñada para realizar copias de seguridad de discos dañados o recuperaciones de datos de dispositivos de almacenamiento que presentan fallos de lectura. La principal ventaja de ddrescue sobre herramientas similares es que puede realizar copias de seguridad mientras maneja errores de lectura de manera eficiente, lo que es útil cuando se intentan recuperar datos de discos con sectores defectuosos.

¿Para qué sirve ddrescue?

  • Recuperación de datos: Si un disco está dañado y algunos sectores son ilegibles, ddrescue intenta copiar los datos de las áreas legibles mientras salta sobre los sectores defectuosos para no perder tiempo en ellos.
  • Creación de imágenes de discos: Puede crear una copia exacta de un disco, partición o archivo de imagen de disco, que luego se puede restaurar en caso de que el disco original falle por completo.
  • Recuperación de datos en sesiones: Mantiene un registro del progreso, por lo que puedes interrumpir y reanudar el proceso sin perder lo que ya se ha copiado.

¿Cómo se usa ddrescue?

Instalación:

En una distribución basada en Ubuntu, puedes instalar ddrescue usando el siguiente comando:

sudo apt install gddrescue

Sintaxis básica:

ddrescue [opciones] fichero_entrada fichero_salida [fichero_log]
  • fichero_entrada: El disco o la partición de origen (por ejemplo, /dev/sda).
  • fichero_salida: El archivo o dispositivo donde se volcarán los datos (puede ser una imagen de disco, como un archivo .img).
  • fichero_log: Archivo opcional donde se guardará un registro del proceso de recuperación. Esto permite reanudar el proceso desde donde se quedó si es interrumpido.

Ejemplo de uso básico:

Supongamos que quieres hacer una copia de seguridad de un disco dañado /dev/sdd a un archivo de imagen llamado rescate.img:

ddrescue /dev/sdd /ruta/del/archivo/rescate.img /ruta/del/log/recuperacion.log

Opciones útiles:

  • --no-scrape o -n: No intentar recuperar los sectores problemáticos, saltándolos para acelerar el proceso.
  • --retry-pass=<num> o -r <num>: Especifica cuántos intentos se harán en los sectores problemáticos (el valor por defecto es 0).
  • -b <tamaño>: Define el tamaño de los bloques de datos (útil en situaciones específicas donde se requiere control sobre los bloques de lectura).

Uso con discos dañados:

Si el disco tiene errores y quieres evitar que se detenga en cada error, puedes usar el siguiente comando para continuar con el proceso sin detenerse en sectores defectuosos:

ddrescue -n /dev/sdd /ruta/del/archivo/rescate.img /ruta/del/log/recuperacion.log

Una vez que ddrescue haya copiado la mayor parte posible del disco, puedes intentar recuperar los sectores defectuosos con el siguiente comando:

ddrescue -d /dev/sdd /ruta/del/archivo/rescate.img /ruta/del/log/recuperacion.log

El proceso puede repetirse, y cada vez se realizarán más intentos para recuperar los sectores problemáticos.

Ventajas de usar ddrescue:

  • Eficiencia: Recupera los datos rápidamente, saltando sectores defectuosos.
  • Recuperación por etapas: Permite reanudar la recuperación sin perder lo avanzado.
  • Compatibilidad: Funciona con discos duros, unidades SSD, dispositivos RAID y otros medios de almacenamiento.
  • Registro detallado: El archivo de log proporciona un seguimiento completo del proceso de recuperación.