home | list info | list archive | date index | thread index

Re: [OCLUG-Tech] Recovering data from a potentially damaged drive

  • Subject: Re: [OCLUG-Tech] Recovering data from a potentially damaged drive
  • From: Justin R <velusip [ at ] gmail [ dot ] com>
  • Date: Sun, 26 Oct 2014 21:31:08 -0400
If the data isn't worth professional recovery, consider swapping out the
controller card attached to the drive.  You will need at least one
additional and identical drive for spare parts (preferably two), a
motherboard or drive controller which does not search the drive for content
on boot (partitions or boot sectors), or a controller card which can safely
hot swap your particular drive.  Of course, configure your OS not to mount
any new device upon detection or boot.  At no point should you mount any of
these drives during recovery.

After that, as Bill mentioned, use ddrescue.  The idea is to have the
frankendrive and a brand new drive (identical) connected so that ddrescue
can make an exact copy of the frankendrive onto the new.  Errors and all.
You can then make an image from the new drive and carve out your data.  If
you're still getting nonsense in your image, then there might be a mechanic
problem with the frankendrive.  Again, depending on the value of the data,
migrating the head stack and controlling circuitry is also an option, but I
have never personally tried this since the days of SCSI II ultra wide, so
your kilometerage may vary.

On 25 October 2014 20:49, Alex Pilon <alp [ at ] alexpilon [ dot ] ca> wrote:

> I have a Seagate Momentus 5400.6 250GB SATA HDD that I removed from a
> dying EEE PC 1015PEM. I haven't touched it in months, and now want to
> copy the remaining data I haven't backed up. Unfortunately, I can't
> probe the partition table, much less read any sector on the drive¹. dd
> just fails with an “I/O error”, and hdparm --read-sector just gives me
> the same data, no matter the sector². S.M.A.R.T. still says that the
> drive is healthy, not-so-oddly-enough anymore³.
>
> Short of going to a data recovery professional, is there no hope?
>
> Regards,
>
> Alex Pilon
>
> ¹: [81885.641969] usb 2-1.3: new high-speed USB device number 22 using
> ehci-pci
>    [81885.733103] usb-storage 2-1.3:1.0: USB Mass Storage device detected
>    [81885.733286] scsi host30: usb-storage 2-1.3:1.0
>    [81886.739281] scsi 30:0:0:0: Direct-Access     ST925031 5AS
>   0200 PQ: 0 ANSI: 4
>    [81886.739695] sd 30:0:0:0: Attached scsi generic sg3 type 0
>    [81886.740579] sd 30:0:0:0: [sdd] 488397168 512-byte logical blocks:
> (250 GB/232 GiB)
>    [81886.747477] sd 30:0:0:0: [sdd] Write Protect is off
>    [81886.747484] sd 30:0:0:0: [sdd] Mode Sense: 38 00 00 00
>    [81886.754384] sd 30:0:0:0: [sdd] No Caching mode page found
>    [81886.754391] sd 30:0:0:0: [sdd] Assuming drive cache: write through
>    [81886.852276] sd 30:0:0:0: [sdd]
>    [81886.852281] Result: hostbyte=0x00 driverbyte=0x08
>    [81886.852285] sd 30:0:0:0: [sdd]
>    [81886.852288] Sense Key : 0x3 [current]
>    [81886.852293] sd 30:0:0:0: [sdd]
>    [81886.852295] ASC=0x11 ASCQ=0x0
>    [81886.852298] sd 30:0:0:0: [sdd] CDB:
>    [81886.852300] cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00
>    [81886.852310] end_request: critical medium error, dev sdd, sector 0
>    [81886.852315] Buffer I/O error on device sdd, logical block 0
>
> ²: /dev/sdd:
>    reading sector 0: SG_IO: bad/missing sense data, sb[]:  70 00 03 00 00
> 00 00 0a 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00
>    succeeded
>    5355 4342 002c 0000 0200 0000 0080 8510
>    0e09 0000 0100 0000 0000 0000 20e0 0000
>    0000 0000 0000 2405 0000 0000 0000 0000
>    0000 1e07 0000 0000 0000 0000 0000 0009
>    0000 0000 0000 0000 0000 610a 0000 0000
>    0000 0000 0000 140c 0000 0000 0000 0000
>    0000 63b8 0000 0000 0000 0000 0000 00bb
>    0000 0000 0000 0000 0000 00bc 0000 0000
>    0000 0000 0000 00bd 0000 0000 0000 0000
>    0000 2dbe 0000 0000 0000 0000 0000 00bf
>    0000 0000 0000 0000 0000 00c0 0000 0000
>    0000 0000 0000 00c1 0000 0000 0000 0000
>    0000 00c2 0000 0000 0000 0000 0000 00c3
>    0000 0000 0000 0000 0000 00c5 0000 0000
>    0000 0000 0000 00c6 0000 0000 0000 0000
>    0000 00c7 0000 0000 0000 0000 0000 00fe
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 0000
>    0000 0000 0000 0000 0000 0000 0000 ac00
>
> ³: smartctl 6.3 2014-07-26 r3976 [x86_64-linux-3.17.0-1-ARCH-dirty] (local
> build)
>    Copyright (C) 2002-14, Bruce Allen, Christian Franke,
> www.smartmontools.org
>
>    === START OF INFORMATION SECTION ===
>    Model Family:     Seagate Momentus 5400.6
>    Device Model:     ST9250315AS
>    Serial Number:    6VC6NDQQ
>    LU WWN Device Id: 5 000c50 0280e4f2d
>    Firmware Version: 0003SDM1
>    User Capacity:    250,059,350,016 bytes [250 GB]
>    Sector Size:      512 bytes logical/physical
>    Rotation Rate:    5400 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 Oct 25 20:44:48 2014 EDT
>    SMART support is: Available - device has SMART capability.
>    SMART support is: Enabled
>
>    === START OF READ SMART DATA SECTION ===
>    SMART overall-health self-assessment test result: PASSED
>
>    General SMART Values:
>    Offline data collection status:  (0x00)      Offline data collection
> activity
>                                         was never started.
>                                         Auto Offline Data Collection:
> Disabled.
>    Self-test execution status:      (   0)      The previous self-test
> routine completed
>                                         without error or no self-test has
> ever
>                                         been run.
>    Total time to complete Offline
>    data collection:             (    0) seconds.
>    Offline data collection
>    capabilities:                         (0x73) SMART execute Offline
> immediate.
>                                         Auto Offline data collection
> on/off support.
>                                         Suspend Offline collection upon new
>                                         command.
>                                         No Offline surface scan supported.
>                                         Self-test supported.
>                                         Conveyance Self-test supported.
>                                         Selective Self-test supported.
>    SMART capabilities:            (0x0003)      Saves SMART data before
> entering
>                                         power-saving mode.
>                                         Supports SMART auto save timer.
>    Error logging capability:        (0x01)      Error logging supported.
>                                         General Purpose Logging supported.
>    Short self-test routine
>    recommended polling time:     (   1) minutes.
>    Extended self-test routine
>    recommended polling time:     (  72) minutes.
>    Conveyance self-test routine
>    recommended polling time:     (   2) minutes.
>    SCT capabilities:           (0x103b) SCT Status supported.
>                                         SCT Error Recovery Control
> supported.
>                                         SCT Feature Control supported.
>                                         SCT Data Table supported.
>
>    SMART Attributes Data Structure revision number: 10
>    Vendor Specific SMART Attributes with Thresholds:
>    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE
> UPDATED  WHEN_FAILED RAW_VALUE
>      1 Raw_Read_Error_Rate     0x000f   115   099   006    Pre-fail
> Always       -       100073198
>      3 Spin_Up_Time            0x0003   099   099   000    Pre-fail
> Always       -       0
>      4 Start_Stop_Count        0x0032   089   089   020    Old_age
>  Always       -       12272
>      5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail
> Always       -       15
>      7 Seek_Error_Rate         0x000f   073   060   030    Pre-fail
> Always       -       23993255
>      9 Power_On_Hours          0x0032   090   090   000    Old_age
>  Always       -       9311
>     10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail
> Always       -       0
>     12 Power_Cycle_Count       0x0032   097   097   020    Old_age
>  Always       -       3177
>    184 End-to-End_Error        0x0032   100   100   099    Old_age
>  Always       -       0
>    187 Reported_Uncorrect      0x0032   100   100   000    Old_age
>  Always       -       0
>    188 Command_Timeout         0x0032   100   092   000    Old_age
>  Always       -       3287
>    189 High_Fly_Writes         0x003a   100   100   000    Old_age
>  Always       -       0
>    190 Airflow_Temperature_Cel 0x0022   071   050   045    Old_age
>  Always       -       29 (Min/Max 29/29)
>    191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age
>  Always       -       58
>    192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age
>  Always       -       8
>    193 Load_Cycle_Count        0x0032   001   001   000    Old_age
>  Always       -       243000
>    194 Temperature_Celsius     0x0022   029   050   000    Old_age
>  Always       -       29 (0 4 0 0 0)
>    195 Hardware_ECC_Recovered  0x001a   046   045   000    Old_age
>  Always       -       100073198
>    197 Current_Pending_Sector  0x0012   100   100   000    Old_age
>  Always       -       0
>    198 Offline_Uncorrectable   0x0010   100   100   000    Old_age
>  Offline      -       0
>    199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age
>  Always       -       0
>    254 Free_Fall_Sensor        0x0032   100   100   000    Old_age
>  Always       -       0
>
>    SMART Error Log Version: 1
>    No Errors Logged
>
>    SMART Self-test log structure revision number 1
>    Num  Test_Description    Status                  Remaining
> LifeTime(hours)  LBA_of_first_error
>    # 1  Selective offline   Completed without error       00%      9311
>      -
>    # 2  Short offline       Completed without error       00%      9311
>      -
>
>    SMART Selective self-test log data structure revision number 1
>     SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
>        1        0     1024  Not_testing
>        2        0        0  Not_testing
>        3        0        0  Not_testing
>        4        0        0  Not_testing
>        5        0        0  Not_testing
>    Selective self-test flags (0x0):
>      After scanning selected spans, do NOT read-scan remainder of disk.
>    If Selective self-test is pending on power-up, resume after 0 minute
> delay.
>
>
> _______________________________________________
> Linux mailing list
> Linux [ at ] lists [ dot ] oclug [ dot ] on [ dot ] ca
> http://oclug.on.ca/mailman/listinfo/linux
>
>