Respuesta1
GNU ddrescue
primero copia rápidamente bloques buenos usando un tamaño de bloque grande y luego, opcionalmente, intenta recuperar más datos leyendo bloques más pequeños dentro de los bloques que fallaron en la primera pasada. Esto requiere un archivo de registro que registre qué áreas aún faltan y el resultado debe ir a un archivo o disco que permita el acceso aleatorio. Si se ejecuta nuevamente con el archivo de registro presente, ddrescue
intentará nuevamente leer solo las partes que faltan.
Kurt Garloff dd_rescue
copia los datos en orden secuencial, lo que permite capturarlos en la salida estándar, por ejemplo, para comprimirlos antes de escribirlos en un archivo. Cuando se encuentra un error de lectura, dd_rescue
cambia temporalmente a un tamaño de bloque más pequeño para intentar recuperar datos del área problemática antes de continuar con el resto del disco.