Skip to content

Práctica 5.1. ddrescue

Uso de ddrescue para la recuperación de datos en Ubuntu 24.04

Objetivo:

Aprender a usar ddrescue para realizar una copia de seguridad de un disco o partición dañada y cómo manejar errores durante el proceso de recuperación.

Requisitos previos:

  • Una máquina virtual o equipo con Ubuntu 24.04.
  • Un dispositivo de almacenamiento (puede ser un disco duro o una partición virtual) simulado con fallos o sectores defectuosos.
  • La herramienta ddrescue instalada en Ubuntu.

Material necesario:

  • Una imagen de disco o una partición dañada (puedes crear una imagen de un disco o partición existente, o simular un fallo de disco con herramientas como badblocks).
  • Un dispositivo de almacenamiento o archivo de imagen para guardar los datos recuperados.

Paso 1: Instalación de ddrescue

  1. Abre una terminal y ejecuta el siguiente comando para instalar ddrescue:
sudo apt update
sudo apt install gddrescue

Paso 2: Preparación del entorno de trabajo

  1. Crea una partición simulada (si no tienes un disco físico dañado):

  2. Si ya tienes un dispositivo con fallos, puedes saltarte este paso.

  3. Si deseas simular una partición con fallos, puedes crear un archivo de imagen para ello.

Ejemplo:

dd if=/dev/zero of=/tmp/fichero.img bs=1M count=100
mkfs.ext4 /tmp/fichero.img
mount -o loop /tmp/fichero.img /mnt
  1. Crear archivos dentro de la partición: Crea algunos archivos para simular una estructura de directorios con datos:
mkdir /mnt/practica
touch /mnt/practica/archivo1.txt
touch /mnt/practica/archivo2.jpg
touch /mnt/practica/archivo3.pdf
  1. Simula la pérdida de datos: Elimina algunos archivos de la partición para simular la pérdida de datos:
rm /mnt/practica/archivo1.txt
rm /mnt/practica/archivo2.jpg

Paso 3: Realizar la recuperación de datos con ddrescue

  1. Crear una imagen de la partición dañada:

    • Utiliza ddrescue para crear una copia de la partición dañada.
    sudo ddrescue /dev/loop0 /tmp/rescate.img /tmp/logfile.log
    
    • En este caso, /dev/loop0 es el dispositivo de la partición que contiene los datos. Asegúrate de reemplazarlo por el dispositivo correcto en tu sistema.
    • /tmp/rescate.img es el archivo de imagen donde se guardarán los datos recuperados.
    • /tmp/logfile.log es el archivo de registro que almacena el progreso y los sectores que fueron saltados o recuperados.
  2. Revisar el estado del proceso:

    • ddrescue continuará ejecutándose y puedes ver el progreso al revisar el archivo de registro o simplemente consultar la terminal.
  3. Intentar recuperar los sectores defectuosos:

    • Una vez completada la primera fase, puedes intentar recuperar más datos de los sectores defectuosos con el siguiente comando:
    sudo ddrescue -d /dev/loop0 /tmp/rescate.img /tmp/logfile.log
    

    La opción -d activa la recuperación de sectores defectuosos de manera más profunda.

Paso 4: Verificación y análisis

  1. Montar la imagen recuperada:

    • Una vez finalizado el proceso de recuperación, puedes montar la imagen de disco creada y verificar si los archivos eliminados han sido recuperados.
    sudo mount -o loop /tmp/rescate.img /mnt
    
  2. Verificar los archivos recuperados:

    • Navega a /mnt y verifica si los archivos eliminados están presentes:
    ls /mnt/practica
    

Paso 5: Conclusión y análisis

  • ¿Qué problemas encontraste durante el proceso?
  • ¿Qué tan efectivos fueron los métodos de recuperación de ddrescue?
  • ¿Qué ventajas tiene ddrescue frente a otros métodos tradicionales de copia de seguridad?

Opciones adicionales:

  • Recuperación selectiva: Puedes intentar usar la herramienta foremost para recuperar tipos de archivos específicos (por ejemplo, .jpg o .pdf) de la imagen de disco.
  • Reintentos: Experimenta con diferentes configuraciones de ddrescue usando las opciones -r <número> o --retry-pass para controlar el número de intentos de recuperación.