0

I'm trying to image a 500GB disk using GNU ddrescue and using the log file. I got to 420GB and then I stopped it with ctrl+c. I ran the command again after some time and it started all over again, despite there being a log file.

The old log file has been written over by ddrescue.

Like I said, my image file so far is 420GB out of a 500GB disk. How do I edit the log file or tell ddrescue to resume from around 420GB? It took me DAYS of running ddrescue to get to 420GB. I do not want to restart this process all over again.

Here's the log file:

# 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  ?

This is what sudo fdisk -l says for the disk that I want to image:

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

1 Answers1

1

The 0x0C770000 hex number in your log file indicates that there was about 200 MiB read. This confirms your statement that ddrescue started over.

To modify, first obtain the almost size of your image in hex:

printf "%x\n" $(($(wc -c < "/media/myname/New Volume4/backup.dmg")-4096))

(I subtracted 4096 from the actual size just in case. It is probably unnecessary; won't harm though.)

Then replace every 0C770000 in your log with the resulted number (three replacements needed). Note that there is 0x prefix that you should not touch. To do this with sed:

sed -i 's/0C770000/the_resulted_number_here/' "/media/myname/New Volume4/logfile.log"

Note: I don't know why the second try started over instead of continuing. The log file is now (almost) what it was after your interrupted pass (if there were no read errors), so this behavior may reappear for the same (yet unknown) reason.

Restart ddrescue:

ddrescue /dev/sdd "/media/myname/New Volume4/backup.dmg" "/media/myname/New Volume4/logfile.log"
  • quick question: does it matter which file extension I choose to save as? backup.dmg versus backup.img? Am I damaging anything if I choose to rename the file by changing the file extension? – fuzzybabybunny May 17 '16 at 08:27
  • 1
    In Linux it should not matter at all. Rarely some programs follow Windows convention and they pay some attention to the file extension. It may be useful for filtering filenames, though. You are damaging nothing. – Kamil Maciorowski May 17 '16 at 08:36
  • OK, thanks. So if the incomplete 420GB file is .dmg, I can rename it to .iso and finish the imaging with ddrescue and it won't affect anything right? My guess is that changing the file extension doesn't actually change any data in the file itself? – fuzzybabybunny May 17 '16 at 08:42
  • Correct. Changing the file extension doesn't actually change any data in the file itself. One more thing: extension is DOS thing. In Linux we have a filename (with or without "."). Changing extension is in fact renaming a file. – Kamil Maciorowski May 17 '16 at 08:49