I'm in the need of recovering data from a 1TB drive. The BIOS reported SMART error(s) and then Ubuntu was kind enough to tell me I have 2 SMART errors.

On the drive there is about 250GB worth of data. I've been utilizing ddrescue.

After about 24hrs this is my progress:

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:     6383 MB,  errsize:    225 MB,  errors:     394
Current status
rescued:     6395 MB,  errsize:    225 MB,  current rate:    2774 kB/s
   ipos:     6621 MB,   errors:     396,    average rate:    19492 B/s
   opos:     6621 MB,     time from last successful read:       0 s
Copying non-tried blocks...

I've stopped/started ddrescue with varying options. I've tried -d -r0 and then -d -r0 -n and now I'm just using -n so I can hopefully get past the first phase.

The drive that is being recovered is on internal SATA and the copy is being done to another drive with internal SATA.

If my current rate and/or average rate drop back to in the bytes/second should I try a round with -R to start from the back of the disk instead?

THough since I've just done the -n option, my rates have been sticking to the kB/s which is nice, for now. I've only done 6GB out of the 1TB drive so I don't want to spend the next 20 years trying to recover the drive ;)

I understand that ddrescue will even try to recover unused portions of the drive, is there a way to tell if the recovery has finished the sectors that have data in them as opposed to no data?


Most of the times ddrescue can be run with default settings and let handle damaged areas itself. You may also limit the amount of retries with -r2, for instance.

The fact that it is going pretty slow at the beginning is normal and quite common. Disks do not end up becoming damaged in a perfectly uniform way. Quite the opposite, actually.

Most of the time the wear level of a hard drive becomes really bad at the "beginning" of the disk, which gets used the most. I wouldn't be surprised if your speed rose up after the first 15-20 GB of sectors have been passed.

is there a way to tell if the recovery has finished the sectors that have data in them as opposed to no data?

No. That would require you to read the file system metadata from the drive first. You cannot read the drive before reading the drive.

| improve this answer | |
  • I'm at about 40GB recovered (5 gb error) and I started it what.. almost 20 days. It's hard to want to stop it and just give up.. but at the same time 20 days to recover only a small amount of data seems hopeless. – Onyxdragun Feb 9 '17 at 16:25
  • @Onyxdragun, the drive is very damaged so it's normal that it is slow. Whether to continue or not depends on how important the data is. – Andrea Lazzarotto Feb 9 '17 at 18:37
  • If Im in the trimming of failed block state (986.81GB recovered) can I stop ddrescue and try and mount the recovered image to see what it's found? – Onyxdragun May 16 '17 at 16:14
  • You can stop whenever you want. The sooner you stop, the lesser data you will recover. Anyway there's nothing wrong in pausing for a while, trying the image file with Testdisk or RecuperaBit (if NTFS) and then going back to imaging. I wouldn't try to mount it normally though, to prevent writing anything on the image file. – Andrea Lazzarotto May 16 '17 at 19:57
  • Thank you so much for the help @andrea . RecuperaBit was beautiful too. and worked wonderfully. – Onyxdragun May 19 '17 at 20:53

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.