control: severity -1 wishlist Just a point of view from another user of GNU ddrescue: (un-)fortunately, that looks like a feature, not a bug. Sadly, user errors do happen sometimes. (Marking this request "wontfix" is at maintainers' discretion, though).
1) Apparently, ddrescue doesn't care much about the changes in the command line arguments on successive runs; although the comment at the beginning of a mapfile is useful (it contains the program version, command line and timestamps), it's still just a comment that gets updated (overwritten) with the new data on every run of ddrescue. And the only real data in the mapfiles is just the positions (offsets) in the input & output files. 2) In your case, all of the following block devices: '/dev/sdc1', '/dev/sdc2', '/dev/sdc4' etc. are partitions on the same '/dev/sdc' HDD; but each one of them is still a distinct block device, each of them comprising its own number of its own sectors; e.g., from '/dev/sdc2', normally, you can only read all (N) of the '/dev/sdc2' sectors (from 0 to N-1), and don't have access to, e.g., '/dev/sdc1' sectors, and more to say, e.g., '/dev/sdc4' sector numbers also start from 0; I mean, the "same" k-th sector of each '/dev/sdc', '/dev/sdc1', '/dev/sdc4' etc. usually holds different data. Therefore, if you try to read the "same" position/offset/block (e.g., k-th sector or m-th megabyte) from those "related" block devices, usually you'll get totally different resulting data. 3) Anyway, ddrescue just doesn't need to know that. It just reads (writes) the data at the specific positions of the specified input (output) files. If you use the same mapfile on multiple successive runs, it's simply presumed that you try to continue the work with the same dataset (or maybe another faulty copy of that dataset) that was processed on the first run, when the mapfile was generated. There's no requirement for input (output) file names to stay the same. It allows to restore data from multiple copies, in multiple sessions, from multiple disks (or for disks changing their device names on reboots), even from multiple PCs. Some weird example: * '/dev/sdc1' is a small HDD partition (errors at the end), connected to PC1; * '/dev/sdc' is a USB flash drive (containing raw backup of that HDD partition; errors at the start), connected to PC2; * 'image1.dat' & 'image1.map' are somewhere on the network share (or on the external HDD that can be moved between PC1 & PC2). root@PC1:/.../images# ddrescue /dev/sdc1 image1.dat image1.map ... root@PC2:/.../images# ddrescue /dev/sdc image1.dat image1.map Conclusion: it's the ddrescue users' duty to perform the safety/sanity checks on ddrescue command lines before running them. References: http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Examples http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Optical-media http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Important-advice -- Best wishes, Bob