Switch to full style
Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
Post a reply

What is the recommended version of GNU ddrescue?

June 6th, 2010, 5:55

Hi All,

I have heard about GNU ddrescue which can handle with hard drive with bad sectors.
Also by searching the internet I've found that there are different version of this software.
What do you recommend for the best version (windows/linux)?

MAny Thanks!

Re: What is the recommended version of GNU ddrescue?

June 6th, 2010, 19:06

Try them and make your own decision

Re: What is the recommended version of GNU ddrescue?

June 7th, 2010, 2:30

CrazyDoctor wrote:What do you recommend for the best version (windows/linux)?


The one that works for you.

Hope you don't use it on failing drives / with weak heads from customers.

Re: What is the recommended version of GNU ddrescue?

June 7th, 2010, 10:08

BlackST wrote:Hope you don't use it on failing drives / with weak heads from customers.


I'm not a specialist, but the only reason I can think of is if it is only 1 head that is failing, specialized gear can read from the other heads first, then attempt a head swap and read the data from the remaining one.

Personally I like to run ddrescue from a boot disk (partedmagic/ubuntu rescue remix) since it loads into RAM and the stable versions are pretty well tested. You should use v1.7 or higher of ddrescue (Added in 1.7: Fast skip of damaged areas with no-split. Minimize logfile as marked sectors are read. When splitting jump to next non-split area after 2 consecutive errors with retrim)

Assuming that sda is your failed drive and sdb1 is your ext3 formatted doner

1. mkdir /mnt/mydrive
2. mount /dev/sdb1 /mnt/mydrive
3. ddrescue --no-split /dev/sda /mnt/mydrive/myimg.img /mnt/mydrive/mylog.log
4. ddrescue --direct --max-retries=3 /dev/sda /mnt/mydrive/myimg.img /mnt/mydrive/mylog.log
5. ddrescue --direct --retrim --max-retries=3 /dev/sda /mnt/mydrive/myimg.img /mnt/mydrive/mylog.log

The --no-split option copies as much data as possible without retries or splitting sectors. If it isn't read on the first attempt, it is logged and bypassed.
The --direct option bypasses the kernel's cache allowing partial sectors to be rescued
The --retrim option tries to read full sectors in a different order, coupled with direct it may be able to read more partial sectors.

Re: What is the recommended version of GNU ddrescue?

June 7th, 2010, 10:14

Brainbug wrote:splitting sectors ... partial sectors...
You keep using that word...

Image

Re: What is the recommended version of GNU ddrescue?

June 7th, 2010, 12:19

In the technical definition you are right, a sector (typically) 512 bytes.

I'll rephrase: ddrescue reads blocks if it gets to a difficult block it jumps forward by a full block and continues reading the disk. When it is done reading the disk it will go back to the error blocks and start reading them one-by-one dividing by two. So if the block size is 4096B, it will go to the 2048B mark and attempt a read, if that doesn't work it will go to the 1024 byte mark and try and read each sub-block down to the smallest addressable size.
Post a reply