Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a 2TB WD Black drive and would like to simply do a straight clone from a failing 3TB drive to it. Both are SATA. Will I be able to just install the new drive alongside the faulty one and then do the clone/rescue attempt with ddrescue or is there a better method?

The faulty internal drive mentioned has bed sectors although am usually able to boot into Windows 7 Ultimate with it and navigate and access all my programs.

I have been attempting some trials with an Ubuntu Live CD using ddrescue but am not sure I'm doing it right. I have a 3TB WD my book essential external which is GPT and have created a separate 2TB partition on it which I am trying to clone to.

I assume I need to format the new drive first to NTFS? Can I do that via the Ubuntu Rescue Remix 12-04 live DVD that I've been booting with?

share|improve this question
    
The first thing I would do is try running SpinRite on the drive. The magic of the program is that it helps the hdd discover bad sectors. This means you can recover data and basically "refresh" all your files to sectors that are not failing. This will let you clone the drive. –  Ramhound Aug 29 '12 at 10:39
    
You can’t really “refresh” a file that is on a bad sector; if the sector is bad, then the drive can’t read it, so it can’t access the file (or that part of it). What SpinRite does is to repeatedly try to read the file numerous times, in different ways, and at different times to attempt to read it in the hopes that one of the reads will—magically?—work. Of course this has varying and generally limited success. :-( That’s why it’s meant as a last (maybe even first?) resort to “just get a copy anyway you can before throwing the drive out”. –  Synetech Aug 29 '12 at 22:54

1 Answer 1

Indeed, GNU ddrescue is a good choice. Use it e.g. with 10 retries in case of errors:

ddrescue -r 10 -v /dev/faulty_drive /dev/external_drive optional_logfile.log

Note that by using the above command you are going to overwrite all data on your external hard drive.


Perhaps a safer way is to backup the data to an image file on your external hard drive instead:

ddrescue -r 10 -v /dev/faulty_drive /path/to/external/drive/image.file

For this you may need a file system on your external drive that supports file sizes of 2TB or more (e.g. ext2 and ext3 support file sizes up to 2TB whereas ext4, HFS+, or NTFS support even larger file sizes).

Example where /dev/sda is the faulty drive and /dev/sdb3 is the external partition (ext4) to write the image file to (run all commands as root):

mount /dev/sdb3 /mnt/external
ddrescue -r 10 -v /dev/sda /mnt/external/faulty.img /mnt/external/rescue.log
umount /mnt/external

Afterwards, if you want to mount specific partitions of your faulty hard drive image file faulty.img, you have to use corresponding mount offsets or tools like kpartx.


Another example taken from ddrescue infopages to rescue a whole disc /dev/hda to /dev/hdb:

First backup all error-free areas:

ddrescue -n /dev/hda /dev/hdb logfile

Then try to recover any bad sectors:

ddrescue -dr3 /dev/hda /dev/hdb logfile
share|improve this answer
    
Right now the command I am running (has been going for over 24hrs) is: sudo ddrescue -r3 -v /dev/sda /dev/sdb3 rescue.log --force I am confused how to run the similar command to create an image instead of clone. My source defective drive is sda and the external drive partition is sdb3. –  ron Aug 28 '12 at 22:59
    
@Ron By using your command you are imaging your whole drive to a single partition. You will not be able to easily read the data from there by just mounting the partition afterwards (actually, the partition won't be mountable anymore). I suggest reading the manpage of ddrescue and using image files instead (see my second suggestion). –  speakr Aug 29 '12 at 10:13
    
Well I gave up on the preliminary attempts at copying/cloningimagining to the external as my replacement RMA 2TB Black drive from WD arrived. I'm on about day 4 now with using the following command: ddrescue -r 10 -v /dev/sda /dev/sdb mylogfile.log --force (Don't ask me why I had to add the --force as Ubuntu - DDRESCUE told me I had to) Anyhow, it shows 2tb rescued or whatever but is still on try #4 of something to do with retrying bad sectors.. sigh Why does this seem like I'm attempting the impossible? –  ron Sep 3 '12 at 2:41
    
@ron This is correct: With -r 10 ddrescue will try up to 10 times reading bad sections of your hard disk. After the 10th try it will continue. Also see the last example which I added to my answer. –  speakr Sep 3 '12 at 9:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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