1

I ran ddrescue a few days ago in my 180GB partition, but after 3 days (and 99.91 % rescue and in phase 3 the last time I check) the system frozen, so I power off the computer by keeping pressed the off button.

When I turned on, I made a backup of the image file and the logfile, but the logfile didn't fully copy, it said that there was an error when copy, but 104 kb from 106 kb were copied from the logfile (weird thing).

And when I ran the ddrescue command again a message saying "error in mapfile discoC.Logfile, line 4092" appear.

command:

sudo ddrescue -d -r0 /dev/sdb3 discoC.img discoC.Logfile

This is my incomplete logfile on PasteBin, the line 4092 is the last one. This is a portion of the log file:

# 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

May you help me so the process could continue from there?

3
  • Next time, please make the log file available without requiring we jump through hoops.
    – davidgo
    Commented Jan 4, 2022 at 4:08
  • I managed to download the log file you linked to. What happens if you remove line 4092 (which is clearly incomplete) and try run it again? Also, what happens if you try add the "-L" option (which the man page says is to "accept an imcomplete domain logifile"
    – davidgo
    Commented Jan 4, 2022 at 4:14
  • Thank you and sorry for that :S, I did delete the 4092 line but ddrescue started in phase 1 without recovered data in the console and with 4gb of error data. I'll try the -L option then
    – Johnpaga
    Commented Jan 4, 2022 at 4:35

2 Answers 2

0

According to https://www.electric-spoon.com/doc/gddrescue/html/Mapfile-structure.html the mapfile (logfile) is quite easy to interpret and edit with a text editor.

I would be inclined to make a copy of it and remove lines 4091 and 4092, which I expect will allow ddrescue to pick up from the last point it logged.

It does seem to be failing an aweful lot. I do wonder if running it from the end backwards (ie adding the -R switch) would allow you to capture a chunk of data more quickly. (There is no harm in trying to do this).

1
  • Thank you for your responses davidgo, after some digging I found out that using R-Studio (r-studio.com) in the partial image file could do the trick, and yes it did!! $79 well invested, all the files I needed were recovered, still one partition left to try with ddrescue, so when that's done I'll play with this logfile again and let you know what happens :D
    – Johnpaga
    Commented Jan 6, 2022 at 3:18
0

Sorry for reading the question so late.

It would be easy restoring something valid for the missing line 4092:

0xC5651400 <remaining-size> ?

Where:

  • 0xC5651400 is the start of the new chunk of blocks, got by summing the start position of the previous chunk at line 4091 0xC5651200 and the size of that chunk of blocks 0x00000200.
  • ? meaning that the blocks starting at 0xC5651400 where not tried yet, and therefore cloning must be attempted on them.
  • <remaining size> : see below.

How to compute the value for <remaining size>:

  • if there is a line 4093 in your log fie: the difference between the start offset at lines 4093 and the computed start offset mentioned at line 4092 (i.e. 0xC5651400), in hexadecimal
  • or, if there is no line 4093: the difference between the size of your dev/sdb3 partition and the start offset at line 4092 (i.e. 0xC5651400).

The size of your dev/sdb3 partition can be known by terminal commands like fdisk -l or by starting a cloning process to a different image file and with no log file a different log file. ddrescue should display a message like "About to copy N bytes". You may have to devide by sector size (e.g. 512) and convert to hexadecimal.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .