ddrescue --generate-mode produjo un archivo de mapas para el currículum, pero ¿faltan bloques no recortados?

ddrescue --generate-mode produjo un archivo de mapas para el currículum, pero ¿faltan bloques no recortados?

Comencé ddrescue para recuperar una unidad WD de 2 TB defectuosa de mi NAS. Aunque especifiqué un archivo de registro, desafortunadamente estaba ejecutando ubuntu en modo de prueba desde una unidad flash de arranque y no escribí el archivo de registro en una unidad montada por separado, por lo que cuando se cortó la energía alrededor del 11%, descubrí que había perdido mi archivo de registro.

En el capítulo 14 del manual, parecía que el modo de generación podría funcionar, así que ejecuté:

ddrescue --generate-mode infile outfile mapfile

La unidad que estoy recuperando es una unidad nueva, por lo que tenía la esperanza de que funcionara ya que no había datos antiguos en la unidad.

Ahora estoy ejecutando Ubuntu instalado en un ssd, así que usé el archivo de mapa generado para ejecutar ddrescue nuevamente con:

ddrescue -f -n -r1 /dev/sda /dev/sdb /tmp/ddrescue.log

Esto parece haber funcionado en su mayor parte, ya que el proceso de recuperación se reinició alrededor del 11,5%, justo donde lo dejó. Sin embargo, mi preocupación es que antes del bloqueo, ddrescue había identificado un error de lectura y había mostrado alrededor de 20 MB de bloques no recortados, pero al iniciar el proceso con el nuevo archivo de mapa, había 0 errores de lectura marcados y 0 bloques no recortados. Ahora, después de ejecutarse durante 8 horas, muestra 2 errores y 29696B de bloques no recortados, pero supongo que se trata de nuevos errores de lectura porque ddrescue no analiza las partes de datos antiguas que ya estaban marcadas como rescatadas.

¿Descubrirá ddrescue el error de lectura original en una pasada posterior, o ese error desapareció para siempre y la única manera de encontrar y volver a intentar esos bloques sería comenzar todo desde cero con un nuevo archivo de mapa?

Quiero recuperar tanto como sea posible del disco anterior, si no todo, así que estoy dispuesto a empezar de nuevo si es necesario.

gracias por cualquier ayuda en esto.

Respuesta1

Acerca de --generate-mode:

En algunos casos, Ddrescue puede generar una copia aproximada mapfiledesde infiley (parcial) en outfile, que es casi tan buena como una exacta mapfile. Lo hace simplemente asumiendo que los sectores que contienen todos ceros no fueron rescatados.

(fuente)

En el primer intento, no se escribió en el sector del disco de destino correspondiente al sector erróneo del disco de origen. De manera similar, no se escribieron los sectores correspondientes a lo que se omitió. Suponiendo que el disco de destino devuelve todos los ceros de los sectores aún no escritos, este último ddrescue --generate-modeclasificó todos estos fragmentos como "no rescatados".

--generate-modeno puedo saber si un sector está lleno de ceros porque corresponde a un sector no probado de un disco de origen, no recortado, no raspado o un sector defectuoso; o un sector saludable que ha sido copiado pero que contenía todos ceros. Lo único que sabe es que si hay un sector lleno de ceros, es outfileposible que no haya sido leído, mientras quetal vezse puede leer. --generate-modesimplemente clasifica dicho sector como no probado al crear un aproximado mapfile, por lo que un futuro ddrescueque realmente use mapfileintentará (o volverá a intentar) leer el sector.

Lo último ddrescuepuede releer algunos sectores innecesariamente; sectores que se han leído pero que contenían todos ceros y, por lo tanto, parecían --generate-modesectores no probados. Esto suele ser un inconveniente menor, si lo hay.

No es necesario reiniciar desde cero, a menos que hubiera sectores distintos de cero en el disco de destino cuando comenzó. Tales sectores harían --generate-modecreer que son datos rescatados, aunque no lo sean. Cree que su disco de destino (como un disco nuevo) solo contenía ceros. Si tu creencia es correcta entonces no necesitas empezar desde cero.

Si su creencia es correcta, el sector erróneo del primer intento fue clasificado como --generate-mode"no rescatado" y su versión definitiva (aún en ejecución) ddrescueintentó o está a punto de intentar leerlo nuevamente.

información relacionada