Làm cách nào để sửa chữa phân vùng HFS + bị hỏng từ đĩa cứng bị hỏng?


8

Tôi có đĩa Mac OS X của một người bạn đi kèm với một HFS+phân vùng. Tôi phải khôi phục dữ liệu cá nhân từ đĩa này và tôi không chắc hệ thống tập tin bị hỏng hay đĩa bị chết).


Bối cảnh : Các triệu chứng đầy đủ như sau. Ổ đĩa được Linux nhận ra và thậm chí được tự động hóa (sử dụng Xfcetại đây):

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

Nhân báo cáo như sau:

[ 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

Đây là đầu ra có liên quan từ 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

Khi tôi mở ổ đĩa Thunar, tôi nhận được thông báo lỗi sau: "Failed to open directory "Macintosh HD". Error when getting information for file '/media/Macintosh HD/.journal': Input/output error."(Tôi có thể truy cập điểm gắn kết và một số thư mục con, nếu tôi sử dụng emelFM2.)

nhập mô tả hình ảnh ở đây

Nếu tôi thử lsđiểm gắn kết, tôi sẽ gặp một loạt lỗi I / O:

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

Cuối cùng, tôi đã cố gắng cài đặt hfsprogsvà chạy fsck.hfsplus, nhưng không gặp nhiều may mắn:

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 

Câu hỏi : Từ các thông báo lỗi ở trên, hệ thống tập tin bị hỏng hoặc ổ đĩa bị lỗi? Làm thế nào tôi có thể sửa chữa hệ thống tập tin bị hỏng? Và nếu đó không phải là vấn đề, làm thế nào tôi có thể khôi phục dữ liệu người dùng từ một đĩa bị lỗi một phần?


CẬP NHẬT1 :

Đưa ra đầu vào hữu ích mà tôi nhận được từ tùy chọn 'smartctl -d' nào tôi nên sử dụng trên đĩa cứng này: 'scsi' hoặc 'ata'? , Bây giờ tôi đã quản lý để chạy thành công smartctltrên ổ cứng:

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.

Tôi không chắc làm thế nào để phân tích đầu ra này, nhưng hai điều hiện ra trước mắt tôi:

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

Vậy nó tệ đến mức nào? Và tôi nên tiến hành như thế nào?


CẬP NHẬT2 :

Theo các gợi ý trong các nhận xét, tôi đã sử dụng Mac OS X để chạy 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

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).

Vì vậy, làm thế nào xấu là những thông báo lỗi? Là ổ bánh mì nướng?


CẬP NHẬT3 :

Tôi đã chơi thêm một chút với smartctlnó và dường như với tôi (nhưng vui lòng xác nhận !!) rằng ổ đĩa chắc chắn là bánh mì nướng:

# '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

Tôi có thể chọn ra:

  • 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

Tôi nghi ngờ rằng bất kỳ giải pháp như testdiskhoặcphotorec trên ổ đĩa là khá nhiều câu hỏi ngay bây giờ. Vì vậy, hy vọng duy nhất của tôi để cứu bất kỳ dữ liệu nào là có được cho mình một đĩa cứng lớn hơn và tạo một bản sao từng chút một của ổ đĩa bị lỗi bằng cách sử dụng ddhoặcddrescue sau đó chơi với photorechình ảnh thu được. Bất kỳ ý tưởng khác chào đón nhất!


CẬP NHẬT4 :

Như được hỏi trong việc khôi phục dữ liệu từ ổ cứng bị hỏng: "thủ thuật đóng băng" , tôi đang đăng kết quả đầu ra của smartctl -H /dev/yourdisksmartctl -A /dev/yourdisk:

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

Điều này có cho phép xác định loại thất bại?


CẬP NHẬT5 :

Khoảng một tuần trước, tôi đã dại dột chạy testdisktrên đĩa trong một đêm (sau một vài fscklần thử Mac OS X bản địa ), và thiệt hại có thể trở nên tồi tệ hơn so với khi chủ sở hữu đơn giản bỏ nó xuống. Vào cuối testdiskphiên, tôi rõ ràng đã nghe thấy tiếng ồn khi nhấp (" nhấp chuột chết "?) Và ổ đĩa không có khả năng đọc thêm (tất cả các lần đọc đều dẫn đến lỗi). Ban đầu tôi cho rằng điều này xảy ra là do quá nóng, nhưng bây giờ tôi có xu hướng tin rằng thiệt hại chỉ lan truyền và ổ đĩa hiện đang ở tình trạng rất xấu.

Khi tôi cố gắng chạy smartctl short self-testtrên ổ đĩa, kiểm tra Completed with electrical failuresmartctlđầu ra giống như trong UPDATE3, bao gồm cả 240 Head_Flying_Hours 0x0001 001 001 001 Pre-fail Offline FAILING_NOW 3lỗi.

nhập mô tả hình ảnh ở đây

Tôi cũng đã cố gắng một ddrescuephiên, kết thúc với tổng số 0 bytesgiải cứu lớn.

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                   

Trong mỗi lần đọc, kernel đã phàn nàn dmesgvề 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

Vì vậy, tất cả điều này chắc chắn chỉ ra thiệt hại phần cứng. Nhưng loại thiệt hại chính xác là gì? (Một phần, tôi muốn kiểm tra xem "thủ thuật tủ đông" có phù hợp hay không.)

Như được đề xuất trong một câu hỏi liên quan , tôi đã kiểm tra Cách khôi phục dữ liệu khi ổ cứng của bạn bị hỏng và dường như với tôi, với các triệu chứng mà tôi đã nhận thấy, đó cũng là:

  • Ổ đĩa của bạn đang quay vòng và tạo ra tiếng ồn, hoặc
  • Ổ đĩa của bạn tăng tốc và được máy tính của bạn phát hiện, nhưng bị treo khi bạn cố gắng truy cập nó

Vì vậy, đưa ra tất cả các thông tin bổ sung được đăng ở đây, có thể xác định loại lỗi mà đĩa đang gặp phải? Và "thủ thuật tủ đông" có thích hợp trong trường hợp này không?

(Tôi được gợi ý rằng "Khi đầu đọc ghi chạm vào bề mặt của đĩa, sau đó chúng bị quăng và vặn, vì vậy không thể đọc được nữa", và điều này nghe có vẻ như là một lời giải thích thực tế, nhưng tôi không chắc làm thế nào để xác nhận nó.)


1
Những thông điệp kernel đang nói rằng bạn có một sector xấu. Bạn có thể sử dụng smartctlđể kiểm tra xem nó chỉ là một khu vực xấu hay ít, hoặc những thứ đĩa cuối cùng đã gần kề.
derobert

@derobert Bây giờ tôi đã quản lý để chạy smartctltrên ổ đĩa (xem UPDATE1 trong OP). Bất kỳ hiểu biết?
Landroni

Đề nghị của tôi sẽ là gắn nó vào máy Mac và thử sửa chữa với OS X gốc fsckhoặc diskutil.
bahamat

@bahamat Ít nhất là trong Debian, hfspross ngược dòng là ... Apple. Mặc dù gói Debian đã lỗi thời. Việc tìm phiên bản mới nhất ngược dòng là tốt, đầy thách thức ... Có lẽ đó là opensource.apple.com/source/hfs/hfs-226.1.1 nhưng có phiên bản thấp hơn, vậy ai biết!
derobert

@derobert: Chà ... Phiên bản của Debian là 332.25-11. Theo thay đổi 332.25-1 là một bản phát hành ngược dòng mới phù hợp với Mac OS X 10.4 vào năm 2009. Trước đó, phiên bản nhỏ là 332,23. Vì vậy, có vẻ như phiên bản của Debian đang theo dõi Tiger. Nếu là tôi , tôi sẽ lo lắng khi điều hành Tiger fsckcho mọi thứ hiện đại.
bahamat

Câu trả lời:


7

Có vẻ như tôi đã tìm thấy chủ đề này quá muộn, nhưng đối với những độc giả tương lai của chủ đề này:

Khi thực hiện cứu dữ liệu, bước đầu tiên của bạn là tạo một hình ảnh đầy đủ của ổ đĩa bằng dd hoặc một cái gì đó tương tự (cloneZilla là một lựa chọn phổ biến).

Nói cách khác, hãy lấy dấu ấn của ổ đĩa để bạn không làm hỏng thêm âm lượng trong khi cố gắng cứu dữ liệu.


2
Yup, chính xác! Đó là lỗi ban đầu của tôi suốt. Tất cả điều đó testdisk, kiểm tra FS, vv các công cụ đã làm là làm trầm trọng thêm các vấn đề phần cứng. Có lẽ tốt nhất là sao chép hình ảnh của ổ đĩa bằng một công cụ như thế ddrescue, vì nó cho phép bỏ qua một cách thông minh các khu vực có vấn đề (trong khi ddđơn giản là sẽ thất bại ở dấu hiệu hư hỏng phần cứng đầu tiên).
Landroni 4/2/2015

1
Thậm chí tốt hơn, sử dụng dd_resTHER thay vì ddresTHER. Nó chủ động mong đợi và xử lý các hoạt động của các khu vực bị hư hỏng, nhảy đến các khu vực lành mạnh để có được càng nhiều càng tốt các dữ liệu dễ đọc trước khi quay lại để thử lại các khu vực bị lỗi chậm. Thiên tài và tự do.
hmijail thương tiếc những người từ chức

3

Dựa trên nhật ký thông minh đầu tiên, bạn có thể có 124 thành phần xấu - phần này:

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

Bạn nên thực hiện quét toàn bộ để chắc chắn về số lượng thực tế. Một số tập tin bị hư hỏng cho chắc chắn. Đó là lý do tại sao bạn có Số lỗi: 1210, mỗi lần đọc một khu vực bị hỏng, bạn sẽ gặp lỗi +1. Bạn phải ghi số không vào các sector này nếu bạn muốn làm cho đĩa hoạt động vì các sector chỉ có thể được di chuyển khi chúng được ghi. Tôi không thể cho bạn biết cách vận hành trên hệ thống tập tin hfs vì tôi chưa bao giờ sử dụng nó. Nếu bạn có ext4, bạn có thể sử dụng fsck với các tùy chọn sau:

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

Vì vậy, bạn có thể lấy danh sách tất cả các khối xấu, và sau đó bạn có thể biết vị trí của chúng, điều này có thể giúp ước tính nếu các khối xấu làm hỏng các tệp thông thường hoặc thứ gì khác. Tôi đã sử dụng debugfs. Sau đó, bạn có thể viết số không cho các lĩnh vực này thông qua:

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

và xóa các tập tin bị hư hỏng.

Từ nhật ký bạn cung cấp:

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

Bạn biết tập tin nào bị hỏng.

Điều tiếp theo là giá trị của tham số sau:

193 Load_Cycle_Count        0x0032   037   037   000    Old_age   Always       -       635340

Điều này giết chết đĩa của bạn, hoặc đã giết nó. Đĩa của tôi, ví dụ, có 500k trọn đời. Tôi đã phát hiện ra điều này khi nó đạt tới 350 nghìn ... Cuối cùng, tôi đã tắt tính năng này trong phần sụn đĩa của mình và nó hoạt động cho đến nay.

Điều tiếp theo là siêu khóa hệ thống tập tin. Bạn nên thực hiện một bản sao của khối đó cho loại tình huống này và sau khi loại bỏ các lỗi xấu, bạn có thể khôi phục siêu khối. Nếu siêu khối bị hỏng và bạn không có bản sao lưu hoặc bạn không nhớ vị trí của các bản sao lưu, bạn sẽ không thể khôi phục dữ liệu. Thử sử dụng:

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

Nhưng bạn có thể đọc hệ thống tập tin (lệnh ls), vì vậy nó không tệ và tôi nghĩ sau khi xóa các badblocks và xóa một số tệp, mọi thứ sẽ ổn.


Cảm ơn! Như một lưu ý chung, tôi có chút nghi ngờ rằng ổ đĩa đã bị hỏng (trước đó tôi thậm chí có thể gắn kết phân vùng HFS +, nhưng bây giờ kernel không phát hiện ra điều đó; tiết lộ đầy đủ: Tôi dại dột chạy testdisktrên nó trong một đêm và thiệt hại có khả năng trở nên tồi tệ hơn so với trước đây khi chủ sở hữu chỉ cần bỏ nó). Vì vậy, bây giờ tôi chỉ đơn giản là hy vọng ddrescuebất cứ điều gì tôi có thể từ nó , và sau đó photorecbất cứ điều gì có thể được cứu vãn.
Landroni

Một vài câu hỏi. "Load_Cycle_Count" Điều đó có nghĩa là gì và tại sao nó lại giết đĩa? Làm thế nào bạn có thể vô hiệu hóa nó trong phần sụn? "Điều tiếp theo là siêu khóa hệ thống tập tin. Bạn nên thực hiện một bản sao của khối đó [..]" Tôi nên hoàn thành một bản sao của toàn bộ ngay khi tôi nhận được nó !! Nhưng dù sao, bây giờ siêu khối có khả năng bị xào, vì gần đây khi tôi kết nối đĩa, hạt nhân đã phàn nàn về siêu khối bị hỏng dmesg.
Landroni

1
Đọc về nó ở đây Community.wd.com/t5/My-Book-Live/, - Tôi có đĩa WD và tôi có thể sử dụng idle3-tools - idle3-tools.sourceforge.net
Mikhail Morfikov

1
Đó là do ba giá trị 001 001 001- nếu VALUE = <THRESH, đĩa có thể sẽ bị lỗi, vì vậy bạn có được thông tin đó. Nó cũng có nghĩa là không có gì.
Mikhail Morfikov

1
@landroni - Tôi không chắc việc đóng băng đĩa là một ý tưởng hay, nhưng nếu đĩa của bạn đã chết hoặc gần như đã chết và bạn không thể làm cho nó hoạt động được, bạn không thể làm hại nhiều hơn, vì vậy nếu bạn không có lựa chọn nào khác, chỉ cần làm điều đó, nhưng tôi không nghĩ nó sẽ giúp ích.
Mikhail Morfikov

-2

Lỗi ổ đĩa cơ

Để khôi phục dữ liệu từ các khối xấu, bạn có thể sử dụng tiện ích SpinRite $ 89 để khôi phục dữ liệu. SpinRite không phụ thuộc vào hệ thống tập tin.

HFS + hỏng hệ thống tệp

Khi có sự cố trong hệ thống tệp HFS +, hãy sử dụng tiện ích DiskWar Warrior $ 99,95 trên Mac OS X để sửa chữa các sự cố HFS +.

Vì bạn đã sử dụng các công cụ sửa chữa (fsck) khác, bạn cần sử dụng DiskWar Warrior trong chế độ " nhặt rác ". Bạn có thể tiếp cận tùy chọn "nhặt rác" ẩn bằng cách nhấn và giữ nút alttrước khi nhấn nút "Rebuild" ("Rebuild" thay đổi thành "Rebuild ..." trong khi giữ phím alt). Bây giờ thêm dấu kiểm vào "Scavenge" và bắt đầu "Rebuild".

"Scavenge" của DiskWar Warrior được tối ưu hóa để khôi phục các tệp sau khi một tiện ích sửa chữa đĩa khác đã được sử dụng để khôi phục các tệp. Tham nhũng của OP có thể được gây ra bởi các vấn đề logic hoặc vật lý. DiskWar Warrior chuyên loại bỏ các lỗi thư mục "logic", SpinRite chuyên phục hồi dữ liệu do các sự cố ổ cứng "vật lý" gây ra.


Có gì khác so với bình thường về chế độ "nhặt rác" của DiskWar Warrior? Tại sao các công cụ này đặc biệt phù hợp để giải quyết tình trạng của OP?
một CVn

1
@ "Scavenge" của MichaelKjorling DiskWar Warrior được tối ưu hóa để khôi phục các tệp sau khi một tiện ích sửa chữa đĩa khác đã được sử dụng để khôi phục các tệp. Tham nhũng của OP có thể được gây ra bởi các vấn đề logic hoặc vật lý. DiskWar Warrior chuyên loại bỏ các lỗi thư mục "logic", SpinRite chuyên phục hồi dữ liệu do các sự cố ổ cứng "vật lý" gây ra.
Sao lưu chuyên nghiệp

Bạn nên chỉnh sửa bài đăng của mình để bao gồm thông tin bổ sung, sau đó có thể sử dụng @ -comment để thông báo cho người bình luận ban đầu. Thông tin trong các bình luận chỉ có xu hướng dễ bị lạc với tiếng ồn.
CVn

1
Tôi phải giới thiệu SpinRite LẠI . Khi tôi thử trục vớt dữ liệu từ đĩa cứng, nó chỉ lãng phí thời gian quý báu trên đĩa chết (> 24 giờ với ít hơn 1 MB, cho đến khi tôi bỏ cuộc và thử thứ khác). Cuối cùng tôi đã tìm cách lấy lại khoảng 80% dữ liệu bằng cách sử dụng Linux (ddresTHER và dd_resTHER). Tôi đã có những trải nghiệm tốt với DiskWar Warrior, mặc dù không ở chế độ nhặt rác.
hmijail thương tiếc những người từ chức

Tôi đã có một tình huống rất giống nhau một vài lần, xử lý sự cố mới ngay bây giờ; và tôi phải @hmijail 2 trên rằng: ddrescue, testdisk, và các công cụ phần mềm miễn phí khác đã chứng minh hữu ích nhất cho đến nay. jpgrecovertrên kho Debian hoạt động tuyệt vời. Ngoài ra, đối chiếu một công cụ OSX gây phiền nhiễu có tên là Trình hướng dẫn khôi phục tệp easyus hoạt động tốt, nhưng KHÔNG nếu đĩa bị rối như trong câu hỏi OP, tại đây.
quênstackxpassword
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.