Wie repariere ich eine beschädigte HFS + -Partition von einer beschädigten Festplatte?

8

Ich habe eine Mac OS X-Festplatte eines Freundes, die mit einer HFS+Partition geliefert wird. Ich soll die persönlichen Daten von dieser Festplatte wiederherstellen und bin mir noch nicht sicher, ob das Dateisystem beschädigt ist oder die Festplatte im Sterben liegt.


Hintergrund : Die vollständigen Symptome sind wie folgt. Das Laufwerk wird von Linux erkannt und sogar automatisch bereitgestellt ( Xfcehier verwendet):

liv@liv-HP-Compaq-dc7900:~$ cat /etc/mtab | grep -i hfs
/dev/sdb2 /media/Macintosh\040HD hfsplus ro,nosuid,nodev,uhelper=udisks 0 0

Der Kernel meldet Folgendes:

[ 4382.681310] usb 2-5: USB disconnect, device number 2
[ 4390.104044] usb 2-5: new high-speed USB device number 3 using ehci_hcd
[ 4390.259178] Initializing USB Mass Storage driver...
[ 4390.259983] scsi6 : usb-storage 2-5:1.0
[ 4390.260077] usbcore: registered new interface driver usb-storage
[ 4390.260079] USB Mass Storage support registered.
[ 4391.260684] scsi 6:0:0:0: Direct-Access     ASMT     2105             0    PQ: 0 ANSI: 6
[ 4391.261346] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 4391.494924] sd 6:0:0:0: [sdb] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[ 4391.495668] sd 6:0:0:0: [sdb] Write Protect is off
[ 4391.495672] sd 6:0:0:0: [sdb] Mode Sense: 43 00 00 00
[ 4391.496551] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 4391.560091]  sdb: sdb1 sdb2
[ 4391.565039] sd 6:0:0:0: [sdb] Attached SCSI disk
[..]
[10376.614742] hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.  mounting read-only.
[10380.531230] sd 6:0:0:0: [sdb] Unhandled sense code
[10380.531234] sd 6:0:0:0: [sdb]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[10380.531239] sd 6:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[10380.531243] sd 6:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[10380.531253] sd 6:0:0:0: [sdb] CDB: Read(10): 28 00 00 1e 22 e8 00 00 08 00
[10380.531259] end_request: critical target error, dev sdb, sector 1975016
[10380.531264] Buffer I/O error on device sdb2, logical block 195672
[10384.353981] sd 6:0:0:0: [sdb] Unhandled sense code
[10384.353985] sd 6:0:0:0: [sdb]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[10384.353990] sd 6:0:0:0: [sdb]  Sense Key : Medium Error [current] 
[10384.353995] sd 6:0:0:0: [sdb]  Add. Sense: Unrecovered read error
[10384.354004] sd 6:0:0:0: [sdb] CDB: Read(10): 28 00 00 1e 22 e8 00 00 08 00
[10384.354011] end_request: critical target error, dev sdb, sector 1975016
[10384.354015] Buffer I/O error on device sdb2, logical block 195672

Hier ist relevante Ausgabe von lshw:

 *-scsi
      physical id: 3
      bus info: usb@2:5
      logical name: scsi7
      capabilities: emulated scsi-host
      configuration: driver=usb-storage
    *-disk
         description: SCSI Disk
         product: 2105
         vendor: ASMT
         physical id: 0.0.0
         bus info: scsi@7:0.0.0
         logical name: /dev/sdb
         version: 0
         serial: 00000000000000000000
         size: 232GiB (250GB)
         capabilities: gpt-1.00 partitioned partitioned:gpt
         configuration: ansiversion=6 guid=6b43402b-9887-4a33-a329-9801b59ccdc7
       *-volume:0
            description: Windows FAT volume
            vendor: BSD  4.4
            physical id: 1
            bus info: scsi@7:0.0.0,1
            logical name: /dev/sdb1
            version: FAT32
            serial: 70d6-1701
            size: 199MiB
            capacity: 199MiB
            capabilities: boot fat initialized
            configuration: FATs=2 filesystem=fat label=EFI name=EFI System Partition
       *-volume:1
            description: Apple HFS partition
            vendor: Mac OS X (fsck)
            physical id: 2
            bus info: scsi@7:0.0.0,2
            logical name: /dev/sdb2
            version: 4
            serial: d9a741cc-8313-cc78-0000-000000800000
            size: 232GiB
            capabilities: journaled bootable osx hfsplus initialized
            configuration: boot=osx checked=2009-09-24 02:29:07 created=2009-09-23 17:29:07 filesystem=hfsplus lastmountedby=fsck modified=2013-11-03 01:02:00 name=Customer state=unclean

Wenn ich das Laufwerk öffne Thunar, wird die folgende Fehlermeldung "Failed to open directory "Macintosh HD". Error when getting information for file '/media/Macintosh HD/.journal': Input/output error."angezeigt : (Ich kann jedoch auf den Mount-Punkt und einige Unterverzeichnisse zugreifen, wenn ich sie verwende emelFM2.)

Geben Sie hier die Bildbeschreibung ein

Wenn ich lsden Einhängepunkt anprobiere , erhalte ich eine Reihe von E / A-Fehlern:

liv@liv-HP-Compaq-dc7900:/media/Macintosh HD$ ls -lha
ls: cannot access .hotfiles.btree: Input/output error
ls: cannot access .journal: Input/output error
ls: cannot access .journal_info_block: Input/output error
ls: cannot access .Spotlight-V100: Input/output error
ls: cannot access .Trashes: Input/output error
ls: cannot access home: Input/output error
ls: cannot access libpeerconnection.log: Input/output error
ls: cannot access net: Input/output error
ls: reading directory .: Input/output error
total 20M
drwxrwxr-t 1 root   80   35 Oct 13 22:56 .
drwxr-xr-x 3 root root 4.0K Jan 16 21:09 ..
drwxrwxr-x 1 root   80   53 Oct 18 22:07 Applications
drwxr-xr-x 1 root root   39 Sep 26 00:51 bin
drwxrwxr-t 1 root   80    2 Jul  9  2009 cores
dr-xr-xr-x 1 root root    2 Jul  9  2009 dev
-rw-rw-r-- 1  501   80  16K Sep  8 14:19 .DS_Store
lrwxr-xr-x 1 root root   11 Sep 24  2009 etc -> private/etc
---------- 1 root   80    0 Jul  9  2009 .file
drwx------ 1   99   99  246 Nov  3 00:29 .fseventsd
lrwxr-xr-x 1 root   80   60 Mar 20  2010 Guides de l’utilisateur et informations -> /Library/Documentation/User Guides and Information.localized
dr-xr-xr-t 1 root root    2 Sep 24  2009 .HFS+ Private Directory Data?
d????????? ? ?    ?       ?            ? home
-????????? ? ?    ?       ?            ? .hotfiles.btree
-????????? ? ?    ?       ?            ? .journal
-????????? ? ?    ?       ?            ? .journal_info_block
-????????? ? ?    ?       ?            ? libpeerconnection.log
drwxrwxr-t 1 root   80   58 Mar 27  2013 Library
drwxrwxrwt 1 root root    4 Sep 18  2012 lost+found
-rw-r--r-- 1 root root  20M Jun  8  2011 mach_kernel
d????????? ? ?    ?       ?            ? net
drwxr-xr-x 1 root root    2 Jul  9  2009 Network
drwxr-xr-x 1  501   80    3 Oct 26  2010 opt
drwxr-xr-x 1 root root    6 Sep 24  2009 private
drwxr-xr-x 1 root root   67 Sep 26 00:52 sbin
d????????? ? ?    ?       ?            ? .Spotlight-V100
drwxr-xr-x 1 root root    4 Jul  3  2011 System
lrwxr-xr-x 1 root root   11 Sep 24  2009 tmp -> private/tmp
d????????? ? ?    ?       ?            ? .Trashes
drwxr-xr-x 1 root root    2 May 18  2009 .vol
-rw-r--r-- 1  501   80  70K Jun 26  2013 .VolumeIcon.icns

Zuletzt habe ich bereits versucht zu installieren hfsprogsund auszuführen fsck.hfsplus, aber ohne viel Glück:

root@liv-HP-Compaq-dc7900:/home/liv# fsck.hfsplus -q /dev/sdb2
** /dev/sdb2
QUICKCHECK ONLY; FILESYSTEM DIRTY

root@liv-HP-Compaq-dc7900:/home/liv# fsck.hfsplus -d /dev/sdb2
** /dev/sdb2
    Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
   Invalid B-tree node size
(8, 0)
** Volume check failed.
volume check failed with error 7 
    volume type is pure HFS+ 
    primary MDB is at block 0 0x00 
    alternate MDB is at block 0 0x00 
    primary VHB is at block 2 0x02 
    alternate VHB is at block 487725342 0x1d12191e 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 487725344 0x1d121920 
    total sectors for embedded volume = 0 0x00 

Frage : Ist das Dateisystem aufgrund der obigen Fehlermeldungen beschädigt oder das Laufwerk fällt aus? Wie kann ich das beschädigte Dateisystem reparieren? Und wenn dies nicht das Problem ist, wie kann ich die Benutzerdaten von einer teilweise fehlerhaften Festplatte wiederherstellen ?


UPDATE1 :

Angesichts der nützlichen Eingaben, die ich von welcher Option 'smartctl -d' erhalten habe, sollte ich diese Festplatte verwenden: 'scsi' oder 'ata'? Ich habe es jetzt geschafft, erfolgreich smartctlauf der Festplatte zu laufen :

root@liv-HP-Compaq-dc7900:/home/liv# smartctl -d sat -H -i -c -A -l error -l selftest -l selective '/dev/sdb'
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-57-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA MK2555GSXF
Serial Number:    10J9SA69S
LU WWN Device Id: 5 000039 245a067fd
Firmware Version: FH205B
User Capacity:    250,059,350,016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Fri Jan 17 18:02:43 2014 CET
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
[..]

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       1031
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       16237
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       18
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   081   081   000    Old_age   Always       -       7987
 10 Spin_Retry_Count        0x0033   253   100   030    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       5274
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       1119
192 Power-Off_Retract_Count 0x0032   084   084   000    Old_age   Always       -       8196
193 Load_Cycle_Count        0x0032   037   037   000    Old_age   Always       -       635340
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       25 (Min/Max 7/49)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       3
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       124
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   253   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       57
222 Loaded_Hours            0x0032   087   087   000    Old_age   Always       -       5415
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       346
240 Head_Flying_Hours       0x0001   100   100   001    Pre-fail  Offline      -       0
254 Free_Fall_Sensor        0x0032   100   100   000    Old_age   Always       -       8107

SMART Error Log Version: 1
ATA Error Count: 1210 (device log contains only the most recent five errors)
[..]

Error 1210 occurred at disk power-on lifetime: 7984 hours (332 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 08 e8 22 1e 40  Error: UNC 8 sectors at LBA = 0x001e22e8 = 1975016

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 da 08 e8 22 1e 40 00      00:08:36.484  READ DMA EXT
  25 da 08 e8 22 1e 40 00      00:08:32.637  READ DMA EXT
  25 da 08 00 66 22 40 00      00:08:32.637  READ DMA EXT
  25 da 08 f8 65 22 40 00      00:08:32.625  READ DMA EXT
  25 da 08 50 c3 28 40 00      00:08:32.625  READ DMA EXT

[..]

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  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.

Ich bin mir nicht sicher, wie ich diese Ausgabe analysieren soll, aber zwei Dinge tauchen in meinen Augen auf:

  • SMART overall-health self-assessment test result: PASSED
  • ATA Error Count: 1210 (device log contains only the most recent five errors)

Wie schlimm ist es? Und wie soll ich vorgehen?


UPDATE2 :

Den Vorschlägen in den Kommentaren folgend, habe ich Mac OS X zum Ausführen verwendet diskutil verifyVolume:

mac:~ admin$ diskutil list
[..]
/dev/disk1
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:      GUID_partition_scheme                        *250.1 GB   disk1
1:                        EFI                         209.7 MB   disk1s1
2:                  Apple_HFS Macintosh HD            249.7 GB   disk1s2

mac:~ admin$ diskutil verifyVolume /dev/disk1s2
Started filesystem verification on disk1s2 Macintosh HD
Checking Journaled HFS Plus volume
Invalid B-tree node size
The volume Macintosh HD could not be verified completely
Error: -9957: Filesystem verify or repair failed
Underlying error: 8: POSIX reports: Exec format error

Und fsck:

mac:~ admin$ fsck -d /dev/disk1s2 
** /dev/rdisk1s2
BAD SUPER BLOCK: MAGIC NUMBER WRONG

LOOK FOR ALTERNATE SUPERBLOCKS? [yn] y

SEARCH FOR ALTERNATE SUPER-BLOCK FAILED. YOU MUST USE THE
-b OPTION TO FSCK TO SPECIFY THE LOCATION OF AN ALTERNATE
SUPER-BLOCK TO SUPPLY NEEDED INFORMATION; SEE fsck(8).

Wie schlimm sind diese Fehlermeldungen? Ist das Laufwerk Toast?


UPDATE3 :

Ich habe ein bisschen mehr mit gespielt smartctlund es scheint mir (aber bitte bestätigen !!), dass das Laufwerk definitiv Toast ist:

# 'smartctl' -d sat,16 -H -i -c -A -l error -l selftest -l selective '/dev/sdb'

smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-57-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA MK2555GSXF
Serial Number:    10J9SA69S
LU WWN Device Id: 5 000039 245a067fd
Firmware Version: FH205B
User Capacity:    250,059,350,016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Mon Jan 27 15:20:57 2014 CET
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: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
See vendor-specific Attribute list for failed Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (  88) The previous self-test completed having
                    the electrical element of the test
                    failed.
Total time to complete Offline 
data collection:        (  120) seconds.
Offline data collection
capabilities:            (0x5b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    No 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:    (   2) minutes.
Extended self-test routine
recommended polling time:    (  90) minutes.
SCT capabilities:          (0x0039) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       1025
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       1
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       0
 10 Spin_Retry_Count        0x0033   100   100   030    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       1
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       0
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       3
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       27 (Min/Max 26/30)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   253   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       57
222 Loaded_Hours            0x0032   100   100   000    Old_age   Always       -       0
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       353
240 Head_Flying_Hours       0x0001   001   001   001    Pre-fail  Offline  FAILING_NOW 3
254 Free_Fall_Sensor        0x0032   100   100   000    Old_age   Always       -       0

Error SMART Error Log Read failed: scsi error badly formed scsi parameters
Smartctl: SMART Error Log Read Failed
Error SMART Error Self-Test Log Read failed: scsi error badly formed scsi parameters
Smartctl: SMART Self Test Log Read Failed
Error SMART Read Selective Self-Test Log failed: scsi error badly formed scsi parameters
Smartctl: SMART Selective Self Test Log Read Failed

Ich könnte herausgreifen:

  • SMART overall-health self-assessment test result: FAILED! Drive failure expected in less than 24 hours. SAVE ALL DATA.
  • 240 Head_Flying_Hours 0x0001 001 001 001 Pre-fail Offline FAILING_NOW 3

Ich vermute, dass Lösungen wie testdiskoderphotorec auf dem Laufwerk selbst derzeit kaum in Frage kommen. Meine einzige Hoffnung, Daten zu retten, wäre es, mir eine größere Festplatte zu besorgen und mit ddoder eine Bit-für-Bit-Kopie des fehlerhaften Laufwerks zuddrescue erstellen und dann mit photorecdem resultierenden Image zu spielen. Alle anderen Ideen sind herzlich willkommen!


UPDATE4 :

Wie unter Wiederherstellen von Daten von einer beschädigten Festplatte angefragt: der "Gefriertrick" , poste ich die Ausgabe von smartctl -H /dev/yourdiskund smartctl -A /dev/yourdisk:

[Output was misleading so I removed that. See UPDATE5.]

Ermöglicht dies die Identifizierung der Art des Fehlers?


UPDATE5 :

Vor ungefähr einer Woche lief ich dummerweise testdiskeine Nacht lang auf der Festplatte (nach ein paar nativen Mac OS X- fsckVersuchen), und der Schaden wurde wahrscheinlich schlimmer als damals, als der Besitzer ihn einfach fallen gelassen hatte. Am Ende der testdiskSitzung hörte ich deutlich ein Klickgeräusch (" Click of Death "?), Und das Laufwerk konnte keine weiteren Lesevorgänge ausführen (alle Lesevorgänge führten zu einem Fehler). Anfangs habe ich angenommen, dass dies aufgrund von Überhitzung passiert ist, aber jetzt neige ich dazu zu glauben, dass sich der Schaden einfach ausgebreitet hat und der Antrieb jetzt in einem sehr schlechten Zustand ist.

Wenn ich versuche, smartctl short self-testauf dem Laufwerk auszuführen , sind der Test Completed with electrical failureund die smartctlAusgabe dieselben wie in UPDATE3, einschließlich des 240 Head_Flying_Hours 0x0001 001 001 001 Pre-fail Offline FAILING_NOW 3Fehlers.

Geben Sie hier die Bildbeschreibung ein

Ich habe auch eine ddrescueSitzung versucht , die mit einer Gesamtsumme von 0 bytesGeretteten endete .

root@xubuntu:/mnt/ram# ddrescue -f -n /dev/sdc /dev/sda /mnt/ram/ddrescue.log

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:         0 B,  errsize:    250 GB,  current rate:        0 B/s
   ipos:     65024 B,   errors:       1,    average rate:        0 B/s
   opos:     65024 B,     time from last successful read:     3.5 m
Finished                   

Bei jedem Leseversuch beschwerte sich der Kernel dmesgüber Buffer I/O error on device:

[ 3706.642819] sd 9:0:0:0: [sdc]  Sense Key : Medium Error [current]
[ 3706.642824] sd 9:0:0:0: [sdc]  Add. Sense: Unrecovered read error
[ 3706.642834] sd 9:0:0:0: [sdc] CDB: Read(10): 28 00 00 00 00 18 00 00 08 00
[ 3706.642842] end_request: critical target error, dev sdc, sector 24
[ 3706.642845] Buffer I/O error on device sdc, logical block 3
[ 3710.910060] sd 9:0:0:0: [sdc] Unhandled sense code
[ 3710.910064] sd 9:0:0:0: [sdc]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE

All dies deutet also definitiv auf einen Hardwareschaden hin. Aber was ist die genaue Art des Schadens? (Zum Teil möchte ich prüfen, ob der "Gefriertrick" in irgendeiner Weise angemessen ist.)

Wie in einer verwandten Frage vorgeschlagen , habe ich überprüft, wie Daten wiederhergestellt werden können, wenn Ihre Festplatte in den Bauch geht, und angesichts der Symptome, die ich bemerkt habe, scheint es mir, dass es entweder:

  • Ihr Laufwerk dreht sich und macht Klickgeräusche
  • Ihr Laufwerk dreht sich und wird von Ihrem Computer erkannt, bleibt jedoch hängen, wenn Sie versuchen, darauf zuzugreifen

Ist es angesichts aller hier veröffentlichten zusätzlichen Informationen möglich, die Art des Fehlers zu identifizieren, bei dem die Festplatte auftritt? Und wäre der "Gefriertrick" in diesem Fall angebracht?

( Mir wurde vorgeschlagen , dass "Wenn gelesene Schreibköpfe die Oberfläche der Festplatte berühren, werden sie geworfen und gedreht, sodass kein Lesen mehr möglich ist", und dies klingt nach einer realistischen Erklärung, aber ich bin mir nicht sicher, wie um es zu bestätigen.)

Landroni
quelle
1
Diese Kernel-Nachrichten besagen, dass Sie einen schlechten Sektor haben. Sie können verwenden smartctl, um zu überprüfen, ob es sich nur um einen oder wenige fehlerhafte Sektoren handelt oder ob sich die Festplatten am Ende befinden.
Derobert
@derobert Jetzt konnte ich smartctlauf dem Laufwerk laufen (siehe UPDATE1 im OP). Irgendwelche Einsichten?
Landroni
Meine Empfehlung wäre, es an einen Mac anzuschließen und eine Reparatur mit dem nativen OS X fsckoder zu versuchen diskutil.
Bahamat
@bahamat Zumindest in Debian ist hfsprogs upstream ... Apple. Obwohl das Debian-Paket veraltet ist. Die neueste Version im Upstream zu finden ist eine Herausforderung ... Es ist wahrscheinlich opensource.apple.com/source/hfs/hfs-226.1.1, aber das hat eine niedrigere Version, also wer weiß!
Derobert
@derobert: Nun ... Debians Version ist 332.25-11. Laut dem Änderungsprotokoll war 332.25-1 eine neue Upstream-Version, die 2009 zu Mac OS X 10.4 passte. Zuvor war die Nebenversion 332.23. Es sieht also so aus, als würde Debians Version Tiger verfolgen. Wenn es mir , würde ich nervös laufen Tiger sein fsckfür alles , was modern.
Bahamat

Antworten:

7

Es scheint, dass ich diesen Thread zu spät gefunden habe, aber für zukünftige Leser dieses Threads:

Wenn Sie Daten retten, sollte Ihr erster Schritt darin bestehen, ein vollständiges Image des Laufwerks mit dd oder ähnlichem zu erstellen (cloneZilla ist eine beliebte Wahl).

Mit anderen Worten, erhalten Sie einen Abdruck des Laufwerks wie es ist, damit Sie dem Volume keinen weiteren Schaden zufügen, während Sie versuchen, die Daten zu retten.

Klaatu von Schlacker
quelle
2
Ja genau! Das war die ganze Zeit mein anfänglicher Fehler. Alles, was die testdiskTools zur FS-Überprüfung usw. taten, war, die Hardwareprobleme zu verschlimmern. Wahrscheinlich ist es am besten, das Image des Laufwerks mit einem Tool wie zu klonen ddrescue, da es das intelligente Überspringen problematischer Sektoren ermöglicht (während dies ddbeim ersten Anzeichen eines Hardwareschadens einfach fehlschlagen soll).
Landroni
1
Verwenden Sie noch besser dd_rescue anstelle von ddrescue. Es erwartet und behandelt aktiv Läufe beschädigter Sektoren und springt in vernünftige Zonen, um so viel wie möglich von den leicht lesbaren Daten zu erhalten, bevor es zurückkehrt, um die langsam ausfallenden Zonen erneut zu versuchen. Genial und frei.
Hmijail trauert um den 17.
3

Basierend auf dem ersten Smart Log haben Sie wahrscheinlich 124 fehlerhafte Sektoren - dieser Teil:

196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       3
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       124

Sie sollten einen vollständigen Scan durchführen, um die tatsächliche Anzahl zu ermitteln. Einige Dateien sind sicher beschädigt. Aus diesem Grund haben Sie die Fehleranzahl: 1210. Jedes Mal, wenn ein beschädigter Sektor gelesen wird, erhalten Sie einen Fehler von +1. Sie müssen Nullen in diese Sektoren schreiben, wenn Sie jemals möchten, dass die Festplatte funktioniert, da die Sektoren nur verschoben werden können, wenn sie geschrieben werden. Ich kann Ihnen nicht sagen, wie Sie mit dem hfs-Dateisystem arbeiten sollen, da ich es nie benutzt habe. Wenn Sie ext4 hätten, könnten Sie fsck mit den folgenden Optionen verwenden:

 -c                   Check for bad blocks and add them to the badblock list
 -l bad_blocks_file   Add to badblocks list

Sie könnten also die Liste aller fehlerhaften Blöcke abrufen und dann deren Speicherort kennen, um abzuschätzen, ob die fehlerhaften Blöcke reguläre Dateien oder etwas anderes beschädigt haben. Ich habe benutzt debugfs. Dann könnten Sie Nullen in diese Sektoren schreiben über:

# hdparm --yes-i-know-what-i-am-doing --write-sector 104284160 /dev/sdb

und löschen Sie die beschädigten Dateien.

Aus dem von Ihnen angegebenen Protokoll:

ls: cannot access .hotfiles.btree: Input/output error
ls: cannot access .journal: Input/output error
ls: cannot access .journal_info_block: Input/output error
ls: cannot access .Spotlight-V100: Input/output error
ls: cannot access .Trashes: Input/output error
ls: cannot access home: Input/output error
ls: cannot access libpeerconnection.log: Input/output error
ls: cannot access net: Input/output error
ls: reading directory .: Input/output error

Sie wissen, welche Dateien beschädigt sind.

Als nächstes ist der Wert des folgenden Parameters:

193 Load_Cycle_Count        0x0032   037   037   000    Old_age   Always       -       635340

Dies tötet Ihre Festplatte oder hat sie bereits getötet. Meine Festplatte hat beispielsweise eine Lebensdauer von 500 KB. Ich habe davon erfahren, als es 350k erreichte ... Letztendlich habe ich diese Funktion in meiner Festplatten-Firmware deaktiviert und sie funktioniert bisher.

Das nächste ist der Dateisystem-Supperblock. Sie sollten eine Kopie dieses Blocks für diese Art von Situation erstellt haben, und nachdem Sie Badblocks entfernt haben, können Sie den Superblock wiederherstellen. Wenn der Superblock beschädigt wurde und Sie nicht über die Sicherung verfügen oder sich nicht an den Speicherort der Sicherungssektoren erinnern, können Sie keine Daten wiederherstellen. Versuchen zu benutzen:

# file -s /dev/sdb1
# file -s /dev/sdb

Aber Sie können das Dateisystem lesen (Befehl ls), es ist also nicht so schlimm, und ich denke, nachdem Sie die Badblocks entfernt und einige Dateien gelöscht haben, sollte alles in Ordnung sein.

Mikhail Morfikov
quelle
Vielen Dank! Generell habe ich wenig Zweifel daran, dass das Laufwerk beschädigt ist (bevor ich überhaupt die HFS + -Partition mounten konnte, aber jetzt erkennt der Kernel nicht einmal das; vollständige Offenlegung: Ich bin dummerweise testdiskeine Nacht lang darauf gelaufen , und der Schaden wahrscheinlich wurde es schlimmer als es war, als der Besitzer es einfach fallen gelassen hatte). Jetzt hoffe ich einfach auf ddrescuealles , was ich kann , und dann auf photorecalles , was gerettet werden kann.
Landroni
Einige Fragen. "Load_Cycle_Count" Was bedeutet das und warum wird die Festplatte zerstört? Wie können Sie es in der Firmware deaktivieren? "Das nächste ist der Dateisystem-Supperblock. Du hättest eine Kopie dieses Blocks machen sollen [..]" Ich hätte eine Kopie des Ganzen machen sollen, sobald ich es bekommen habe !! Aber wie auch immer, jetzt ist der Superblock wahrscheinlich gebraten, da sich der Kernel kürzlich, als ich die Festplatte angeschlossen habe, über beschädigten Superblock beschwert hat dmesg.
Landroni
1
Lesen Sie hier mehr community.wd.com/t5/My-Book-Live/… - Ich habe eine WD-Festplatte und kann idle3-tools verwenden - idle3-tools.sourceforge.net
Mikhail Morfikov
1
001 001 001Dies liegt an den drei Werten : Wenn VALUE = <THRESH ist, wird die Festplatte wahrscheinlich ausfallen, sodass Sie diese Informationen erhalten. Es könnte auch nichts bedeuten.
Mikhail Morfikov
1
@landroni - Ich bin mir nicht sicher, ob das Einfrieren einer Festplatte eine gute Idee ist, aber wenn Ihre Festplatte tot oder fast tot ist und Sie sie nicht einfach zum Laufen bringen können, können Sie keinen größeren Schaden anrichten Ich habe keine anderen Möglichkeiten, mach es einfach, aber ich denke nicht, dass es helfen wird.
Mikhail Morfikov
-2

Mechanische Antriebsfehler

Für die Wiederherstellung von Daten aus fehlerhaften Blöcken können Sie das SpinRite- Dienstprogramm $ 89 verwenden , um Daten wiederherzustellen. SpinRite ist nicht dateisystemabhängig.

Beschädigungen des HFS + -Dateisystems

Wenn im HFS + -Dateisystem Probleme auftreten, verwenden Sie das Dienstprogramm DiskWarrior für 99,95 USD unter Mac OS X, um HFS + -Probleme zu beheben.

Da Sie bereits andere (fsck) Reparaturwerkzeuge verwendet haben, müssen Sie DiskWarrior im " Scavenge " -Modus verwenden. Sie können die versteckte Option alt"Aufräumen" erreichen, indem Sie die Taste gedrückt halten, bevor Sie die Taste "Neu erstellen" drücken ("Neu erstellen" ändert sich in "Neu erstellen ...", während Sie die Alt-Taste gedrückt halten). Fügen Sie nun "Scavenge" ein Häkchen hinzu und starten Sie "Rebuild".

Der "Scavenge" von DiskWarrior ist für die Wiederherstellung von Dateien optimiert, nachdem bereits ein anderes Dienstprogramm zur Datenträgerreparatur zum Wiederherstellen von Dateien verwendet wurde. Die Beschädigung des OP kann durch logische oder physische Probleme verursacht werden. DiskWarrior ist auf die Beseitigung "logischer" Verzeichnisfehler spezialisiert. SpinRite ist auf die Wiederherstellung von Daten spezialisiert, die durch "physische" Festplattenprobleme verursacht werden.

Pro Backup
quelle
Was unterscheidet sich vom normalen "Scavenge" -Modus von DiskWarrior? Warum sind diese Tools besonders gut geeignet, um die Situation des OP zu lösen?
Ein Lebenslauf vom
1
@ MichaelKjörling DiskWarrior's "Scavenge" ist für die Wiederherstellung von Dateien optimiert, nachdem bereits ein anderes Dienstprogramm zur Datenträgerreparatur zum Wiederherstellen von Dateien verwendet wurde. Die Beschädigung des OP kann durch logische oder physische Probleme verursacht werden. DiskWarrior ist auf die Beseitigung "logischer" Verzeichnisfehler spezialisiert. SpinRite ist auf die Wiederherstellung von Daten spezialisiert, die durch "physische" Festplattenprobleme verursacht werden.
Pro Backup
Sie sollten Ihren Beitrag so bearbeiten , dass er zusätzliche Informationen enthält, und dann möglicherweise einen @ -Kommentar verwenden, um den ursprünglichen Kommentator zu benachrichtigen. Informationen in Kommentaren neigen nur dazu, leicht durch das Rauschen verloren zu gehen.
Ein CVn
1
Ich muss GEGEN SpinRite empfehlen . Als ich versuchte, Daten von einer Festplatte zu retten, verschwendete es nur wertvolle Zeit auf der sterbenden Festplatte (> 24 Stunden für weniger als 1 MB, bis ich aufgab und etwas anderes versuchte). Schließlich gelang es mir, unter Linux (ddrescue und dd_rescue) etwa 80% der Daten zurückzugewinnen. Ich habe gute Erfahrungen mit DiskWarrior gemacht, allerdings nicht im Scavenge-Modus.
Hmijail trauert um die 17.
Ich hatte einige Male eine sehr ähnliche Situation und habe gerade eine neue behoben. und ich muss 2. @hmijail dazu: ddrescue, testdisk, und andere freie Software - Tools haben sich die meisten bisher hilfreich. jpgrecoverauf Lager Debian funktioniert wunderbar. Kontrapunktieren eines nervigen OSX-Tools namens Easeus File Recovery Wizard funktioniert ebenfalls gut, aber NICHT, wenn die Festplatte wie in der OP-Frage hier durcheinander ist.
vergessenstackxpassword