I have a failing 2TB Seagate Barracuda drive which came from a GoFlex Home NAS. First sign of trouble came when the drive showed all its root folders and sub-directories as empty, although windows (via a mounted share) still displayed the expected disk usage, about 1.2TB of the full available 1.8TB)

After researching on the net I came across a guide that recommended first making a copy of the disk and trying to recover data from that. This article recommended ddrescue so I purchased PartedMagic and a second 2TB Seagate Barracuda drive to clone to.

Both the new drive and the failing drive are connected directly by SATA cables to a PC running PartedMagic from a USB stick. I've turned SMART off in the BIOS and have a fan directly over the failing drive as I expect the problem is due to overheating (the old drive is now out of its GoFlex NAS enclosure).

When the failing drive is on, booting is a bit slow (even though I've set USB as first boot device in the BIOS) but eventually PartedMagic loads ok. In the file manager (Places) I can see both the new drive and the failing GoFlex drive. To confirm the name of the block devices attached to the system I run this command:

lsblk -o name,label,size,fstype,model

which shows the devices as expected (the failing drive also appears in the BIOS)

PartedMagic screenshot, both 2TB drives appear

So then I tried ddrescue... initially using:

ddrescue -d -f /dev/sda /dev/sdb /media/sdd1/rescue.logfile

(where sdd1 is another usb stick attached to the system to save the logfile to)

But from the very start i've got 0 B copied, current rate remains at 0B/s and run time and successful read (time) remain identical. In other words, as far as I can tell ddrescue never actually reads a single byte from the failing disk:

I let this run for about two days until the Finished prompt appeared in the terminal. 0 B copied.

So I then tried partitioning the new drive (with a single ntfs partition, to match the failing drive) and repeated the process but this time only cloning the partition:

ddrescue -d -n -f /dev/sda1 /dev/sdb1 /media/sdd1/rescue2.logfile

Same result:

ddrescue screenshot, 0B copied

This time I used Ctrl-C to stop the process after an hour rather than unnecessarily further damage the drive.

I also tried copying to a disk image

ddrescue -d -n /dev/sda1 /dev/sdb1/drive.img /media/sdd1/rescue3.logfile

Again, after ending at the Finished prompt the drive.img file was 0B.

Reading through the "helpful last comment on the question I mentioned previously" I then tried different ddrescue options, reading backwards, with and without direct access, using --force, powering the drive on and off a number of times (cringe!) each time hoping that it would suddenly start being read by ddrescue... no luck.

It still appears in 'Places' with its partition name 'GoFlex Home' so although I know you're not meant to, someone suggested mounting the drive. They'd had a similar 0 B problem and found that mounting the drive in read only mode solved the issue for them. I tried but just got an error telling me there was an i/o error and that the drive probably has a hardware fault and can't be mounted. (sorry didn't get a copy of the exact message)

So... maybe I'm being overly optimistic but I can't see how a drive that is so badly damaged can appear in File Manager with its partition name intact. Why can't ddrescue rescue a single byte scanning either forwards or backwards? I can't quite believe it, I must be doing something wrong but I don't know what else to try and I don't want to further damage the disk unnecessarily.

Does anyone have any advice? Other (non-commercial) software I should try? Any other techniques I could use to diagnose the problem?

Or should I bite the bullet and consider swapping the logic board from my new Seagate Barracuda to the old one as a last ditch attempt?


@Stephen Kitt I ran dmesg (using grep to show just the problem hard-drive) and got the following output: enter image description here Does it mean anything? I'm surprised to see "Attached SCSI disk" when I'm connecting to a SATA port on the motherboard. Thanks for your help

  • What does your kernel log say? (dmesg will show you.) There should be more information about the errors there... – Stephen Kitt Jul 30 '15 at 23:36
  • I don't think there's a problem with your disk, I think you need to boot to Windows and do CHKDSK. I don't how ddrescue is supposed to work argument-wise, but you can definitely try sudo dd if=/dev/sda of=./img bs=4k count=4 and see if ./img turns out empty - I doubt that it will. – mikeserv Aug 1 '15 at 1:15
  • Looking up the dd command I see that I could equally do sudo dd if=/dev/sda of=/dev/dev/sdb Is there any benefit to copying to an image file rather than copying the entire disk? Also, – baroquedub Aug 1 '15 at 8:43
  • Also,the PC I'm using has no windows drive, just the PartedMagic distro from a USB. Excuse my ignorance... should I create a Windows USB boot disk and then run CHKDSK from that? Is there no equivalent on PartedMagic or other Linux distro? – baroquedub Aug 1 '15 at 8:51

Your Answer

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

Browse other questions tagged or ask your own question.