3

On Ubuntu, my disk gave its SMART notification so I immediately tried to copy files to another disk. That failed. So now I'm trying ddrescue (partition to partition). It is running ridiculously slow. I mean it would be several weeks to copy this entire partition.

Each time it encounters an error, of which there seems to be many, it takes 1 minute to issue the next IOP. That means that either:

1-the reads are timing out instead of completing in a second or so with failure status

2-the disk itself is trying for 60s to recover the data before finally giving up and returning failure status.

Does ddrescue have a parameter to be less patient with the disk? It's heroic of the disk to try this hard to complete a read. But taken collectively, it means I'll spend weeks on the bad blocks just to get to the good blocks.

  • #2 is probably what's happening. Check your kernel log (or dmesg). – derobert Oct 9 '14 at 16:40
  • BTW I had a different partition filled with photos. I recovered most of them using foremost. That went very well. – Joe C Oct 16 '14 at 15:53
1

You could try your luck with a larger --skip-size. Also make sure to set --sector-size=4096 if your disk is using 4K sectors. You can also send it manually to another region using the --input-position and --size options. If you have a rough idea of which area of your disk is damaged, manually adjusting parameters can help a lot. And as long as you keep the logfile, you can always try to re-read skipped sections later.

If you suspect ddrescue of deliberately wasting time, you can also try your luck with regular dd.

dd bs=1M conv=noerror,sync if=/dev/broken of=/dev/target

Manual region selection and resume can be done using seek=x skip=x (for identical x).

However dd may leave you with up to 1MiB sized holes (or whatever bs= you choose) for every single bad sector... and obviously, it does not log which ones are bad, nor does it retry them later.

In general, ddrescue should be the better option, however I've had cases myself where I had more success with dd. Use whatever works for you. Good luck.

  • Before I check this as the accepted answer, please tell me if you know the answer to my specific question, even if the answer is "no". Does ddrescue have a parameter to force a low time out period for I/Os to the SATA disk? – Joe C Oct 16 '14 at 15:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.