Ejecuté ddrescue hace unos días en mi partición de 180 GB, pero después de 3 días (y 99,91 % de rescate y en la fase 3 la última vez que revisé) el sistema se congeló, así que apago la computadora manteniendo presionado el botón de apagado.
Cuando lo encendí, hice una copia de seguridad del archivo de imagen y del archivo de registro, pero el archivo de registro no se copió por completo, decía que hubo un error al copiar, pero se copiaron 104 kb de 106 kb del archivo de registro (cosa rara ).
Y cuando volví a ejecutar el comando ddrescue, apareció un mensaje que decía "error en el archivo de mapa discoC.Logfile, línea 4092".
dominio:
sudo ddrescue -d -r0 /dev/sdb3 discoC.img discoC.Logfile
Este es miarchivo de registro incompleto en PasteBin, la línea 4092 es la última. Esta es una parte del archivo de registro:
# Mapfile. Created by GNU ddrescue version 1.23
# Command line: ddrescue -d -r0 /dev/sdb3 discoC.img discoC.Logfile
# Start time: 2021-12-15 01:56:33
# Current time: 2021-12-18 20:11:51
# Scraping failed blocks... (forwards)
# current_pos current_status current_pass
0xC5A65E00 / 1
# pos size status
0x00000000 0x00003400 -
0x00003400 0x00000200 +
0x00003600 0x00000800 -
0x00003E00 0x00000800 +
0x00004600 0x00000200 -
0x00004800 0x00000200 +
0x00004A00 0x00000400 -
....... (Lot of - and +)........
0xC564C600 0x00000400 +
0xC564CA00 0x00000600 -
0xC564D000 0x00000200 +
0xC564D200 0x00000200 -
0xC564D400 0x00000800 +
0xC564DC00 0x00000400 -
0xC564E000 0x00000600 +
0xC564E600 0x00000200 -
0xC564E800 0x00001A00 +
0xC5650200 0x00000200 -
0xC5650400 0x00000E00 +
0xC5651200 0x00000200 -
0xC
¿Me podrían ayudar para que el proceso pueda continuar desde allí?
Respuesta1
De acuerdo ahttps://www.electric-spoon.com/doc/gddrescue/html/Mapfile-structure.htmlEl archivo de mapas (archivo de registro) es bastante fácil de interpretar y editar con un editor de texto.
Me inclinaría por hacer una copia y eliminar las líneas 4091 y 4092, lo que espero permitirá que ddrescue continúe desde el último punto que registró.
Parece estar fallando muchísimo. Me pregunto si ejecutarlo desde el final hacia atrás (es decir, agregar el modificador -R) le permitiría capturar una gran cantidad de datos más rápidamente. (No hay nada de malo en intentar hacer esto).
Respuesta2
Perdón por leer la pregunta tan tarde.
Sería fácil restaurar algo válido para la línea 4092 que falta:
0xC5651400 <remaining-size> ?
Dónde:
0xC5651400
es el comienzo del nuevo fragmento de bloques, que se obtiene sumando la posición inicial del fragmento anterior en la línea 40910xC5651200
y el tamaño de ese fragmento de bloques0x00000200
.?
lo que significa que los bloques que comienzan en0xC5651400
no se han probado aún y, por lo tanto, se debe intentar clonarlos.<remaining size>
: vea abajo.
Cómo calcular el valor de <remaining size>
:
- si hay una línea 4093 en su archivo de registro: la diferencia entre el desplazamiento inicial en las líneas 4093 y el desplazamiento inicial calculado mencionado en la línea 4092 (es decir
0xC5651400
), en hexadecimal - o, si no hay una línea 4093: la diferencia entre el tamaño de su
dev/sdb3
partición y el desplazamiento inicial en la línea 4092 (es decir0xC5651400
).
El tamaño de su dev/sdb3
partición se puede conocer mediante comandos de terminal como fdisk -l
o iniciando un proceso de clonación en un archivo de imagen diferente y, sin un archivo de registro, un archivo de registro diferente. ddrescue debería mostrar un mensaje como "A punto de copiar N bytes". Es posible que tengas que dividirlo por tamaño de sector (por ejemplo, 512) y convertirlo a hexadecimal.