
Estoy intentando crear una imagen de un disco de 500 GB usando GNU ddrescue
y usando el archivo de registro. Llegué a 420 GB y luego lo detuve con ctrl+c
. Ejecuté el comando nuevamente después de un tiempo y comenzó de nuevo, a pesar de que había un archivo de registro.
El antiguo archivo de registro ha sido sobrescrito por ddrescue
.
Como dije, mi archivo de imagen hasta ahora tiene 420 GB en un disco de 500 GB. ¿Cómo edito el archivo de registro o le digo ddrescue
que se reanude desde aproximadamente 420 GB? Me tomó DÍAS de funcionamiento ddrescue
llegar a 420 GB. No quiero reiniciar este proceso nuevamente.
Aquí está el archivo de registro:
# Mapfile. Created by GNU ddrescue version 1.21
# Command line: ddrescue /dev/sdd /media/myname/New Volume4/backup.dmg /media/myname/New Volume4/logfile.log
# Start time: 2016-05-17 13:08:39
# Current time: 2016-05-17 13:08:48
# Copying non-tried blocks... Pass 1 (forwards)
# current_pos current_status
0x0C770000 ?
# pos size status
0x00000000 0x0C770000 +
0x0C770000 0x7464496000 ?
Esto es lo que sudo fdisk -l
dice para el disco que quiero crear una imagen:
Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disk identifier: 0xeea5da13
Device Boot Start End Blocks Id System
/dev/sdd1 63 976768064 488384001 7 HPFS/NTFS/exFAT
Respuesta1
El 0x0C770000
número hexadecimal en su archivo de registro indica que se leyeron aproximadamente 200 MiB. Esto confirma su afirmación que ddrescue
empezó de nuevo.
Para modificar, primero obtenga el tamaño casi de su imagen en hexadecimal:
printf "%x\n" $(($(wc -c < "/media/myname/New Volume4/backup.dmg")-4096))
(Lo resté 4096
del tamaño real por si acaso. Probablemente sea innecesario; aunque no hará daño).
Luego reemplace cada 0C770000
en su registro con el número resultante (se necesitan tres reemplazos). Tenga en cuenta que hay 0x
un prefijo que no debe tocar. Para hacer esto con sed
:
sed -i 's/0C770000/the_resulted_number_here/' "/media/myname/New Volume4/logfile.log"
Nota: No sé por qué el segundo intento empezó de nuevo en lugar de continuar. El archivo de registro ahora es (casi) lo que era después de su pase interrumpido (si no hubo errores de lectura), por lo que este comportamiento puede reaparecer por el mismo motivo (aún desconocido).
Reanudar ddrescue
:
ddrescue /dev/sdd "/media/myname/New Volume4/backup.dmg" "/media/myname/New Volume4/logfile.log"