Generar imágenes de disco parciales

Tengo un disco duro externo que

  • produce fallas de lectura aleatorias (y luego mostraría errores para todos los accesos de lectura posteriores hasta que lo apague/encienda nuevamente)
  • La información SMART muestra que la cantidad de sectores dañados está aumentando (y debería reemplazar el HDD por uno nuevo)

Ahora mi problema es que quiero generar un buen .imgarchivo de imagen RAW desde este HDD y dado que mi HDD está generando "fallas de sector de lectura" aleatorias, quiero encontrar un programa que pueda generar imágenes de disco RAW parciales (que puedo concatenar más tarde a una completa buena imagen).

He intentado hasta ahora:

  1. Acronis True Image 2017 (versión comercial)

    • Esto permite generar imágenes (también divididas en, por ejemplo, paquetes de 100 GB)
    • Pero no me permitirá detener/continuar después de una falla de lectura (y un ciclo de encendido del HDD)
    • Puedo volver a intentarlo (no ayuda) o ignorar cada "fallo de lectura del sector" después
    • La próxima vez comenzaría nuevamente desde el sector 0 (por lo que nunca obtengo más del primer 30-40% de los datos del disco)
  2. Herramienta de copia sin formato HDD

    • Anuncia la copia de "bajo nivel", pero los resultados fueron los mismos que los anteriores

Con solo mirar herramientas de línea de comandos como Linuxdd o algunos clones para Windows , probablemente sea factible, pero preferiría algo con una GUI en Windows que me brinde algún tipo de control visual/visión general de lo que estoy haciendo.

Alternativamente, estoy buscando una herramienta que permita "continuar" después de una imagen de disco fallida en la posición de falla (como con una descarga en mi navegador después de perder contacto con el servidor).

Respuestas (1)

Después de una larga búsqueda y algunas pruebas y errores, por ejemplo dd, terminé arrancando Linux para una memoria USB y usando ddrescuela herramienta de línea de comandos.

Para mi caso, estaba particularmente interesado en un ejemplo de los manuales :

Ejemplo 5: al rescatar una partición en /dev/sda1 al archivo hdimage, /dev/sda1 deja de responder y comienza a mostrar errores de lectura, lo que hace que ddrescue marque el resto de la partición como no borrado.

ddrescue -f -n /dev/sda1 hdimage mapfile     <-- /dev/sda1 fails here
  (restart /dev/sda or reboot computer)
ddrescue -f -n -A -i<pos> /dev/sda1 hdimage mapfile
  (if /dev/sda1 fails again, restart /dev/sda or reboot computer and
   then repeat the above command as many times as needed until it
   succeeds. <pos> is the position of the last block marked as
   non-scraped in the mapfile)
ddrescue -d -f -r3 /dev/sda1 hdimage mapfile

Acabo de reemplazar la opción innecesaria -f(forzar sobrescritura) para archivos con la opción -v(detallada).

Mi archivo de mapas después de varios segundos pasos repetidos (y aproximadamente 6 horas para 1 TB más tarde) se veía así:

# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -v -n -A -i0xCCF9C10000 /dev/sda2 hdimage mapfile
# Start time:   ...
# Current time: ...
# Finished
# current_pos  current_status
0xE8D8BF0000     +
#      pos        size  status
0x00000000  0x59FAA45000  +
0x59FAA45000  0x0001B000  ?
0x59FAA60000  0x02B6A000  +
0x59FD5CA000  0x00016000  ?
0x59FD5E0000  0x5D600000  +
0x5A5ABE0000  0x00020000  ?
0x5A5AC00000  0x0CDB2000  +
0x5A679B2000  0x0001E000  ?
0x5A679D0000  0x2EDA9B000  +
0x5D5546B000  0x00015000  ?
0x5D55480000  0x3B5AB1000  +
0x610AF31000  0x6BE3F000  ?
0x6176D70000  0x8761E90000  +

Y después de la última llamada para volver a intentarlo y llenar los espacios, terminé con solo un sector no recuperable y el siguiente archivo de mapas:

# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -d -v -r3 /dev/sda2 hdimage mapfile
# Start time:   ...
# Current time: ...
# Finished
# current_pos  current_status
0x59FD5CA400     +
#      pos        size  status
0x00000000  0x59FD5CA400  +
0x59FD5CA400  0x00000200  -
0x59FD5CA600  0x8EDB635A00  +

Referencias