@itismohit:
As
poehere said, USB can be slow (especially if you have used a USB 1.x port), but the speed of 1GB/hour which you mention, is slower than even USB 1.x speeds. Therefore you have another problem which you haven't mentioned (and perhaps do not know about).
For better error recovery, it is also typically better to direct-connect the "problem" drive via SATA, if that is possible. However, in your case, that
might not improve the situation, and would likely void any warranty on the external drive.
itismohit wrote:
I am trying rescuing my 320 GB Seagate external hard disk using ddrescue. And it is dead slow.
As I explained, your reported 1GB/hour is even slower than USB 1.x speed and so there is another problem somewhere. Sometimes this can be due to the disk drive doing internal read retries; sometimes it can be due to the USB bridge using a slower interface speed with the drive (power-cycling the drive & USB bridge can sometimes restore a faster speed in this case). Looking at the variations and trend in the reported ddrescue speed, can help to identify whether you are seeing internal disk retries, or a fixed, limited, interface speed.
The point is that whetever the cause is for the slow speed, this is not normal behaviour, so you do have some kind of problem with that drive.
itismohit wrote:
I also tried -n option to speed up the process
Look carefully at the ddrescue manual, and you will see that "-n" only changes the behaviour
after all the disk has been read (or attempted to be read) through to the end, and after "trimming". It makes no difference to ddrescue behaviour before that point.
itismohit wrote:
but it is running at 1 GB per hour, which means more than 13 days, if let to run continuously.
Of course that is just an estimate, depending on whether the transfer rate improves or not. I can see at least 3 choices - you could try to find other ways to clone the disk (but that might take you more than 13 days to investigate and buy anyway); you could leave the existing cloning process to run; or you could try to reset the drive/USB bridge, to see if that will increase the transfer rate (perhaps temporarily). There is a risk if you change anything to try to improve the speed; there is also a risk if you leave the cloning running for a long time, in case the disk fails catastrophically during that time.
itismohit wrote:
The file system of my hard disk is fine. I am trying to make an image from my external hard disk to another working external hard disk.
Even if the filesystem is OK, there is some other problem. Why are you trying to make this clone? What problem made you decide to do this?
itismohit wrote:
Is there any other utility which can help me recover data in lesser time.
IMHO your main problem is not ddrescue - that is not your limiting speed factor at the moment. You have another problem, but there is not enough information in your post to identify what that problem is. Also if you try to do further diagnosis, then you risk that the drive will fail during diagnosis, before you have a full clone.
In your situation, I would probably consider either doing nothing, just letting the cloning process run (but use a fan to keep your drive cool!); or else stop the clone manually (ctrl+c), eject and power-cycle the USB interface & drive, then restart the clone (assuming that you are using a log file with ddrescue).
Other cloning software and hardware does exist, depending on your requirements for OS, cost, delay before supply, skill needed etc., as mentioned by
poehere.