Try using dd_rescue
(called ddrescue
in ubuntu variants) and piping it into something like xz
(or the more universal gzip
and 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.
Example:
dd_rescue /dev/sdX - | bzip2 > /mnt/working_external_disk/diskimage.img.bz2
where sdX
is the block device of the faulty hard disk, and the -
symbol directs output to stdout
, where it is piped to bzip2
, and 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 bzip2
.
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.