ddrescue in ubuntu variants) and piping it into something like
xz (or the more universal
bzip2). This will insert zeros where the bad sector was but not break on the bad sector, and will compress the output so it will hopefully fit on your second hard disk.
dd_rescue /dev/sdX - | bzip2 > /mnt/working_external_disk/diskimage.img.bz2
sdX is the block device of the faulty hard disk, and the
- symbol directs output to
stdout, where it is piped to
bzip2 outputs the compressed disk image to
/mnt/working_external_disk/diskimage.img.bz2. You should then be able to decompress it when you have a bit more space, and mount it with
mount -o loop /path/to/decompressed/disk/image.img /path/to/mount/to.
If you don't want to make the investment in a slightly larger drive, you can always try to use
split to split a few sectors off the disk image. It probably will not mount properly afterwards, but it is worth a shot.
Sorry if this doesn't answer your question, but I am currently backing up a huge amount of data and am in a similar predicament, and this is what eventually worked for me. I had to get a bigger drive but I was able to make a copy of the bad disk in the meantime with
If you aren't using linux/unix, sorry for wasting your time, but I have little experience with windows when it comes to backing up disks.