6

Hi @moo @Elder Geek @heynnema (anybody else welcome), I posted a question in the chat

Neither fdisk -l nor testdisk show this Seagate drive, although gnome-disk-utility shows it saying "No media". This is a friend's Windows (7 ?).

ls /dev/disk/by-id/*  (my own usual uuids replaced by ... below)    
...        ...          wwn-0x5000c5001ef815d2
...  ata-ST3750528AS_6VP2NFKJ    wwn-0x5000cca37ce23cbb
...  ...  wwn-0x5000cca37ce23cbb-part1
...  ...      wwn-0x5000cca37ce23cbb-part2
...  ...         wwn-0x5000cca37ce23cbb-part3
...                   ...  wwn-0x5000cca37ce23cbb-part4
...             wwn-0x50000f001b110412
...                wwn-0x50000f001b110412-part1

.

ls /dev/disk/by-uuid/
09ecdff0-44fe-437e-8063-deabc6feb00e
7323407c-7d0b-4acd-8299-c8f3787111ff
a434a28e-a4b9-4db0-b40e-b93010ed6ceb
66392631-7c4f-4773-8614-4c5ea0913890
7b9d93fc-6898-4085-8117-7f1c76fd8a28
e80baa09-5e4b-4c29-9d0b-bc265f8384f4

.

cat /etc/fstab
UUID=09ecdff0-44fe-437e-8063-deabc6feb00e /               ext4    errors=remount-ro 0       1
UUID=e80baa09-5e4b-4c29-9d0b-bc265f8384f4 /home           ext4    defaults        0       2
UUID=7323407c-7d0b-4acd-8299-c8f3787111ff /srv            ext4    defaults        0       2
UUID=7b9d93fc-6898-4085-8117-7f1c76fd8a28 /tmp            ext4    defaults        0       2
UUID=a434a28e-a4b9-4db0-b40e-b93010ed6ceb /var            ext4    defaults        0       2
UUID=66392631-7c4f-4773-8614-4c5ea0913890 none            swap    sw              0       0

.

smartctl -a /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-110-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
Smartctl open device: /dev/sdc failed: Permission denied
~$ sudo smartctl -a /dev/sdc
[sudo] password for me: 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-110-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST3750528AS
Serial Number:    6VP2NFKJ
LU WWN Device Id: 5 000c50 01ef815d2
Firmware Version: CC44
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Sat Mar  4 17:52:16 2017 CET
==> WARNING: A firmware update for this drive may be available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/213891en
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Read SMART Data failed: scsi error aborted command
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: UNKNOWN!
SMART Status, Attributes and Thresholds cannot be read.
Read SMART Log Directory failed: scsi error aborted command
Read SMART Error Log failed: scsi error aborted command
Read SMART Self-test Log failed: scsi error aborted command
Selective Self-tests/Logging not supported

.

[ 2483.391005] ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[ 2483.391014] ata5.00: irq_stat 0x40000001
[ 2483.391019] ata5.00: failed command: FLUSH CACHE
[ 2483.391029] ata5.00: cmd e7/00:00:00:00:00/00:00:00:00:00/a0 tag 19
[ 2483.391029]          res 51/04:00:00:00:00/00:00:00:00:00/a0 Emask 0x1 (device error)
[ 2483.391034] ata5.00: status: { DRDY ERR }
[ 2483.391038] ata5.00: error: { ABRT }
[ 2483.424566] ata5.00: configured for UDMA/133 (device error ignored)
[ 2483.424578] ata5.00: device reported invalid CHS sector 0
[ 2483.424619] end_request: I/O error, dev sdc, sector 0
[ 2483.424659] ata5: EH complete

EDIT : more info as moo asked (although smart was already in initial post, I repost and added error code return) :

sudo fdisk -l /dev/sdc
~$ echo $?
0

.

~$ sudo smartctl -a /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-112-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST3750528AS
Serial Number:    6VP2NFKJ
LU WWN Device Id: 5 000c50 01ef815d2
Firmware Version: CC44
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Thu Mar  9 10:55:14 2017 CET

==> WARNING: A firmware update for this drive may be available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/213891en

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Read SMART Data failed: scsi error aborted command

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: UNKNOWN!
SMART Status, Attributes and Thresholds cannot be read.

Read SMART Log Directory failed: scsi error aborted command

Read SMART Error Log failed: scsi error aborted command

Read SMART Self-test Log failed: scsi error aborted command

Selective Self-tests/Logging not supported

~$ echo $?
4

. [EDIT] I gave up and gave the drive back to my friend. Resetting the MaxLBA field with SeaChest_Configure -d /dev/sg2 --setMaxLBA 1481663420 failed. Maybe I could have had success help with resetting the smart partition on the drive with a serial connection, but I had no serial adapter at the moment, I was fed up, and some sites say this way works only with 7000.11 drives (doesn't work for 7200.12). Thanks for help although. Bye bye.

11
  • The system is win 7, you say? Mar 4, 2017 at 18:42
  • 1
    Hi There! Out of the blue, just asking.. Have you ever tried the Windows's chkdsk utility for a repair or so? I'd first try the in-built utilities prior to connecting the disk to any Linux/Unix systems.
    – AzkerM
    Mar 4, 2017 at 18:42
  • I'd need a win box to do that. The aim is only to recover data, so my usual way would do the job (my ubuntu has always a sata+power cables coming outside, waiting for ill 2.5/3.5in disks). I even thought about dd command, but albeight I have not enough internal space available, this time the disk won't mount :(
    – useful
    Mar 4, 2017 at 21:01
  • Sorry about the smartctl request saw "/dev/sdc failed: Permission denied" and missed the next command. Ok added two more commands for output (parted and dd). Do you know if the device has MSDOS partition or GPT? Can you also send a picture of what the layout looks like in Gparted? Did you try using Testdisk?
    – moo
    Mar 10, 2017 at 10:03
  • Hi moo. As I said, neither gparted nor testdisk show the disk. In the lap time the idea went to my mind to search the web for issues specific to this make/model : bingo, seagate 7200.12 (as .11) seem to have a firmware bug. I try to get help to access the disk with RS232.
    – useful
    Mar 10, 2017 at 21:01

4 Answers 4

5
+25

Note: You need to provide more information for anyone to be able to help you more!

Assumptions:

  • You are recovering data from a HDD which has a Windows 7 OS installed on it i.e. likely has NTFS partitions on it.

  • You are attempting to recover this data on your Ubuntu System

Other information you could provide:

  • Assuming the hard drive in question is /dev/sdc try to update your question with the output from the following commands (you did not use sudo when you ran your commands!):

    sudo fdisk -l /dev/sdc
    sudo smartctl -a /dev/sdc
    sudo parted /dev/sdc print
    sudo dd if=/dev/sdc bs=512 count=2 | xxd
    
  • A Screen-shot of the partition layout got using Gparted would be useful for diagnosis. On ubuntu I believe you can install gparted using:

    sudo apt-get install gparted
    
  • Additional information you can provide on the sound the Hard drive is making would be useful in diagnosis: Disk spin up, Disk activity when using dd to read from the disk, repetitive clicking sounds from the Hard drive.

Recommendations:

  • Image the HDD first using ddrecue (ddrescue man page) or dd. Depending on what is wrong with the HDD the more time you spend with it powered on the more likely you risk losing all data. Ideally you want to focus on imaging it and then working on the recovery directly on the image of the HDD. This is especially true for mechanically damaged HDD. You can install ddrescue on ubuntu with:

    sudo apt-get install gddrescue
    
  • If you must try recovery without creating an image then first try to mount partitions on the HDD as read-only

    mkdir /tmp/mnt1 /tmp/mnt2
    sudo mount -o ro /dev/sdc1 /tmp/mnt1
    sudo mount -o ro /dev/sdc2 /tmp/mnt2
    
  • Try to use disk recovery tools like Testdisk

    sudo testdisk /dev/sdc
    
  • If you believe it is a firmware issue try updating your drive with the firmware available for your drive at: http://knowledge.seagate.com/articles/en_US/FAQ/213891en. You can use either the ISO or the Windows executable to update your firmware (also see the instructions on the same page).

Notes:

  • fdisk only reads your partition table located at the beginning of your drive (within the first 512 bytes). If it doesn't return any information it means your partition table is not readable (either because it has been wiped clean or because it is not readable because of a hardware problem)

  • ddrecue and dd do almost the same thing. They read block by block from the disk. ddrescue is useful for recovery as it can be controlled more then dd. For example you can tailor which areas on the disk you want to recover first and ignore bad areas which cause your hard drive to lock up.

  • Always connect the HDD directly using SATA connector to your motherboard. Don't use a USB to Sata Adapter to connect your HDD via USB.

3
  • 1
    FYI You are asking questions in your answer. This is frowned upon by many and may lead to downvotes (which nobody likes). I recommend that you edit your answer to remove any queries from it. Some good information on this specific topic can be found here and more generally here
    – Elder Geek
    Mar 13, 2017 at 16:12
  • @ElderGeek Thank you and point noted. Will make the changes. I understand why it would be frowned upon and I typical make use of comments to ask the questions but it just came out as a question because it was in the section on more information to be provided.
    – moo
    Mar 13, 2017 at 16:38
  • That's an improvement! :-)
    – Elder Geek
    Mar 13, 2017 at 16:59
2

This is going to sound very strange, and I'll probably get a few down votes (please don't) for this, but I'm an old timer that's been around for a while, and I'll tell you about a few little tricks that we used to try in the old days, and it DID save some data for us...

If the read/write heads are stuck to the platters, the drive won't even spin up (which could also be a bad drive motor). Take the bare drive and quickly rotate the drive around the drive motor axis. It's got to be a snap rotate to break the "sticktion" if that's what's occurring. Retry the drive.

Another thing that you can try...

Take the bare drive in put it into the freezer, yes, the freezer. Enclose it in a zip lock bag to keep the moisture out. Purge excess air from the bag. The freezer trick is for a host of other failure modes, to include bad solder joints, bad circuit etches, chips that fail as soon as they reach temperature, bearings in motors and data head actuators, etc.

Try 10-15 minutes first. After that, remove it from the freezer and immediately reconnect the drive to your computer and see if you can recover data using any of the methods available to you, including the ones described in the other answers.

Let us know if it worked for you.

11
  • 1
    Your not the only old timer here, and I've seen both of these approaches work many years ago when the shaft was stuck and the drive wouldn't spin. Since the popularity of fluid bearings I think this is pretty rare now. To the best of my knowledge Seagate fopped on board the fluid bearing technology long before the drive in question was manufactured (and the OP doesn't mention sticktion as a problem. All this considered I wouldn't do this...
    – Elder Geek
    Mar 11, 2017 at 17:05
  • Oh goodie... I'm in good company :-) The freezer trick isn't for the sticktion problem, but other problems.
    – heynnema
    Mar 11, 2017 at 17:08
  • Old timer me too, I already did this (the freezer trick) as I already reached to retrieve data years ago with ghost : it failed on "too many errors" although I choosed "Ignore errors", but it succeeded as I placed the computer (and myself) outside on a freezing winter. In both cases the motor wasn't stuck, but this time this is a very different issue, surely "the" firmware bug.
    – useful
    Mar 11, 2017 at 17:26
  • @heynnema The other problems you speak of perhaps a weak magnetic field?
    – Elder Geek
    Mar 11, 2017 at 17:43
  • @ElderGeek the freezer trick is for a host of other failure modes, but to include bad solder joints, bad circuit etches, chips that fail as soon as they reach temperature, bearings in motors and data head actuators, etc.
    – heynnema
    Mar 11, 2017 at 17:56
1

IF you hear a scraping noise when you power up the drive, the heads have impacted the platter and recovery is likely a lost cause.

If you here a repeated clicking noise, this means the drive is having trouble reading a particular sector and is retrying. You are hearing the heads seeking over and over. Recovery is possible.

If you hear nothing but the whir of the platters spinning Recovery is possible.

If you hear nothing at all, (i.e. the drive isn't spinning) you can try getting the spindle started or freezing the drive as outlined in heynnema answer and if successful, continue on from here.

If the device in question is:

Model Family:     Seagate Barracuda 7200.12
Device Model:     ST3750528AS
Serial Number:    6VP2NFKJ

It's possible that this problem was brought on by faulty firmware or a failed attempt to upgrade the firmware

You can determine the firmware version of a drive with the command sudo smartctl -x /dev/sdd | grep -i firmware (Change /dev/sdd to the device in question.)

Edit: AS mentioned by heynnema. Freezing the drive may help you to accomplish this. In fact if you can get the termperature down to about -20 celsius this can actually improve the strength of the magnetic field improving the odds of recovering data from weak sectors.

Depending on what happened data recovery efforts might be a lost cause. Regardless of what happened the first thing I would try would be to image this faulty drive to an image file using ddrescue

Preperation:

You will need another drive with a formatted partition with enough available space to hold the entire 750GB image. I will refer to this as recovery partition from here on. Note: You must utilize a file system on this recovery partition capable of holding a 750 GB file (FAT16 or FAT 32 will not) ext2/3/4 preferred

You will need to enable the Universe repository

You will need to install the gddrescue package for your version of Ubuntu which contains ddrescue and ddrescuelog

By issuing the command sudo apt-get install gddrescue

Create a directory to mount your recovery partition with the command sudo mkdir /mnt/recover and mount your recovery partition to /mnt/recover with mount device dir where device is your recovery partition and dir is your mount point.

Example: sudo mount /dev/sdX /mnt/recoverthen change to that directory with the command cd /mnt/recover

Create An Image of the failing drive

Issue the command

$sudo ddrescue -r 3 source target log

where source is the source drive such as /dev/sdc (your may be different) and target is the target image file and log is the log file that tracks the progress.

Example: sudo ddrescue -r 3 /dev/sdc recovery.img recovery.log

The -r 3 switch tells the system to retry 3 times before giving up on a failed transfer.

You can also utilize the -b n (sector size option)

-b, --sector-size=<bytes>
              sector size of input device [default 512]

and -c n (cluster size option)

-c, --cluster-size=<sectors>
              sectors to copy at a time [128]

if you desire (personally I've had good luck with the defaults)

ddrecover will split blocks that it can't read in an attempt to recover as much data as possible. Be aware that if the drive is in poor condition this process can take a very long time. (You can reduce the time and effectiveness by reducing the number of aforementioned retries.

Analyze and mount the image

There are a number of ways to do this which are described here

Perform Data Recovery as necessary

testdisk is a good choice for this There's a detailed answer on using testdisk here

If anything about this (or any of my other of my answers) is unclear, feel free to drop me a comment and I'll clarify to the best of my ability.

Sources:

http://knowledge.seagate.com/articles/en_US/FAQ/213891en

http://tuhsphysics.ttsd.k12.or.us/Research/IB09/HougBlat/index.htm

How do I enable the "Universe" repository?

http://packages.ubuntu.com/search?keywords=gddrescue&searchon=names&suite=all&section=all

Mount single partition from image of entire disk (device)

Partitions disappeared after power loss while installing

6
  • Done. Now reading ddrescue man ...
    – useful
    Mar 11, 2017 at 7:36
  • Did I just miss it, or did you create /mnt/recover and not mount something there? :-)
    – heynnema
    Mar 11, 2017 at 15:52
  • Hope brunch survived! Would this sudo ddrescue -r 3 /dev/sdc recovery.img recovery.log also need changing?
    – heynnema
    Mar 11, 2017 at 17:06
  • @heynnema All is well. No, there's no need to change that command line although the steps required a minor adjustment Fixed now.
    – Elder Geek
    Mar 11, 2017 at 17:36
  • @Elder Geek, didn't you wrote the steps in reverse order, i.e. mount image before created by ddrescue ? Or do I have to mount the /dev/sdc so that ddrescue can be given /mount/recover as infile argument ? Now after reading a bit ddrescue man and more deeply info ddrescue, and knowing I don't know the exact size of the drive (750GB), I made room in another disk (unused=753.19GiB from gparted and free=809GB from Disks). Also, knowing Disks reports no size for the ill drive, what about this command: sudo ddrescue -d -C -T 1 -s 751G /dev/sdg /srv/image ddrelog? (yes device changed from sdc to sdg)
    – useful
    Mar 11, 2017 at 17:44
0

I cannot directly solve your problem, but I might be able to point you in a good direction.

Have you heard of "spinrite"? I have used it (albeit for windows) and it worked for me (apparently it works with linux too).

https://www.grc.com/sr/spinrite.htm

(I am in no way affiliated with this company, and have nothing to gain except possibly feeling good if you didn't know about it and it ends up solving your problem).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .