
Estou tentando criar uma imagem de um disco de 500 GB usando GNU ddrescue
e usando o arquivo de log. Cheguei a 420 GB e parei com ctrl+c
. Executei o comando novamente depois de algum tempo e ele começou tudo de novo, apesar de haver um arquivo de log.
O arquivo de log antigo foi sobrescrito por ddrescue
.
Como eu disse, meu arquivo de imagem até agora tem 420 GB de um disco de 500 GB. Como edito o arquivo de log ou peço ddrescue
para retomar cerca de 420 GB? Levei DIAS de corrida ddrescue
para chegar a 420 GB. Não quero reiniciar esse processo novamente.
Aqui está o arquivo de log:
# 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 ?
Isto é o que sudo fdisk -l
diz para o disco que desejo criar a imagem:
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
Responder1
O 0x0C770000
número hexadecimal no seu arquivo de log indica que houve cerca de 200 MiB lidos. Isso confirma sua afirmação de que ddrescue
recomeçou.
Para modificar, primeiro obtenha o tamanho aproximado da sua imagem em hexadecimal:
printf "%x\n" $(($(wc -c < "/media/myname/New Volume4/backup.dmg")-4096))
(Eu subtraí 4096
do tamanho real para garantir. Provavelmente é desnecessário; no entanto, não fará mal.)
Em seguida, substitua cada 0C770000
em seu log pelo número resultante (são necessárias três substituições). Observe que existe 0x
um prefixo que você não deve tocar. Para fazer isso com sed
:
sed -i 's/0C770000/the_resulted_number_here/' "/media/myname/New Volume4/logfile.log"
Nota: não sei por que a segunda tentativa recomeçou em vez de continuar. O arquivo de log agora é (quase) o que era após sua passagem interrompida (se não houvesse erros de leitura), então esse comportamento pode reaparecer pelo mesmo motivo (ainda desconhecido).
Reiniciar ddrescue
:
ddrescue /dev/sdd "/media/myname/New Volume4/backup.dmg" "/media/myname/New Volume4/logfile.log"