尝试使用 ddrescue 拯救 2012 款 macbook pro 故障磁盘

尝试使用 ddrescue 拯救 2012 款 macbook pro 故障磁盘

我有一个 Macintosh HD 磁盘突然出现故障(系统无法再启动 - diskutil 抱怨 B 树有问题。过去尝试过各种 diskutil 命令但没有成功),最近几天我尝试使用 ddrescue 来挽救它(我目前只有基于 Linux 的计算机) - 使用命令:

ddrescue -f -r0 -n -d /dev/sdc /storage/macos.img /storage/macos_recovery.log

经过很长一段时间后,该过程今天结束,并显示出非常令人失望的输出 解救 这是 2012 年 MacBook 上的库存 500GB HDD HFS+ 磁盘。第一行几乎一切正常,所以我想我可以在那里保存一些重要的文件(它们通常<100kb,所以也许还有希望?)。这是我在 img 文件上尝试过的操作:

1 - 尝试对其进行 photorec - 除了无用的 txt 文件之外找不到任何内容

2 - 尝试使用 testdisk - 报告一个无分区磁盘(无论如何我将其设置为 EFI GPT)并在各处发现随机 HFS+ 分区。

3 - 目前正在尝试 gparted 分区恢复

这是我的问题:

  • 磁盘500GB,输出img文件931G。这怎么可能?
  • 什么可能导致这种损坏模式?我在 stackX 网站上看到了各种图案(通常是线性的 - 就像磁盘上的划痕),但从未见过像这样的规则波浪。这可以解决吗?
  • 我在哪里可以找到有关 2012 macbook 磁盘的原始信息,以便手动重建分区图(例如,有关恢复 hd/macintosh hd 分区开始/结束位置的信息)?

    • 关于如何从混乱中恢复过来还有其他想法吗?

多谢 !

编辑 - smartctl -a 的输出

smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.3.6-xanmod5] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi/HGST Travelstar 5K750
Device Model:     APPLE HDD HTS547550A9E384
Serial Number:    J2260051KWP00D
LU WWN Device Id: 5 000cca 641f6db5d
Firmware Version: JE3AD70F
User Capacity:    500 107 862 016 bytes [500 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Form Factor:      2.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 6
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Sun Oct 27 09:14:48 2019 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: 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:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (   45) 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:    ( 139) minutes.
SCT capabilities:          (0x003d) 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   049   049   062    Pre-fail  Always   FAILING_NOW 625027130
  2 Throughput_Performance  0x0005   100   100   040    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0007   176   176   033    Pre-fail  Always       -       1
  4 Start_Stop_Count        0x0012   091   091   000    Old_age   Always       -       14740
  5 Reallocated_Sector_Ct   0x0033   001   001   005    Pre-fail  Always   FAILING_NOW 597
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   040    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0012   077   077   000    Old_age   Always       -       10420
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   092   092   000    Old_age   Always       -       13180
160 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
191 G-Sense_Error_Rate      0x000a   095   095   000    Old_age   Always       -       65545
192 Power-Off_Retract_Count 0x0032   096   096   000    Old_age   Always       -       3813930958943
193 Load_Cycle_Count        0x0012   019   019   000    Old_age   Always       -       810746
194 Temperature_Celsius     0x0002   222   222   000    Old_age   Always       -       27 (Min/Max 4/46)
195 Hardware_ECC_Recovered  0x000a   100   100   000    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   050   050   000    Old_age   Always       -       1351
197 Current_Pending_Sector  0x0022   001   001   000    Old_age   Always       -       58752
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0
223 Load_Retry_Count        0x000a   100   100   000    Old_age   Always       -       0
254 Free_Fall_Sensor        0x0032   036   036   000    Old_age   Always       -       8589951106

SMART Error Log Version: 1
Warning: ATA error count 65535 inconsistent with error log pointer 4

ATA Error Count: 65535 (device log contains only the most recent five errors)
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 65535 occurred at disk power-on lifetime: 10410 hours (433 days + 18 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 38 e8 1c 00  Error: UNC at LBA = 0x001ce838 = 1894456

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 08 58 38 e8 1c 40 00   1d+22:15:55.577  READ FPDMA QUEUED
  ef 10 02 00 00 00 a0 00   1d+22:15:55.576  SET FEATURES [Enable SATA feature]
  27 00 00 00 00 00 e0 00   1d+22:15:55.576  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00   1d+22:15:55.573  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00   1d+22:15:55.573  SET FEATURES [Set transfer mode]

Error 65534 occurred at disk power-on lifetime: 10410 hours (433 days + 18 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 38 e8 1c 00  Error: UNC at LBA = 0x001ce838 = 1894456

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 08 80 38 e8 1c 40 00   1d+22:15:55.186  READ FPDMA QUEUED
  ef 10 02 00 00 00 a0 00   1d+22:15:55.186  SET FEATURES [Enable SATA feature]
  27 00 00 00 00 00 e0 00   1d+22:15:55.186  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00   1d+22:15:55.183  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00   1d+22:15:55.183  SET FEATURES [Set transfer mode]

Error 65533 occurred at disk power-on lifetime: 10410 hours (433 days + 18 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 10 38 e8 1c 00  Error: UNC at LBA = 0x001ce838 = 1894456

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 10 48 38 e8 1c 40 00   1d+22:15:54.805  READ FPDMA QUEUED
  60 00 38 28 3c 84 40 00   1d+22:15:54.799  READ FPDMA QUEUED
  60 00 30 28 3a 84 40 00   1d+22:15:54.765  READ FPDMA QUEUED
  60 f8 28 30 42 06 40 00   1d+22:15:54.762  READ FPDMA QUEUED
  60 f8 20 30 41 06 40 00   1d+22:15:54.760  READ FPDMA QUEUED

Error 65532 occurred at disk power-on lifetime: 10410 hours (433 days + 18 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 38 e8 1c 00  Error: UNC at LBA = 0x001ce838 = 1894456

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 08 98 38 e8 1c 40 00   1d+22:14:48.581  READ FPDMA QUEUED
  ef 10 02 00 00 00 a0 00   1d+22:14:48.580  SET FEATURES [Enable SATA feature]
  27 00 00 00 00 00 e0 00   1d+22:14:48.580  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00   1d+22:14:48.577  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00   1d+22:14:48.576  SET FEATURES [Set transfer mode]

Error 65531 occurred at disk power-on lifetime: 10410 hours (433 days + 18 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 10 38 e8 1c 00  Error: UNC at LBA = 0x001ce838 = 1894456

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 10 28 38 e8 1c 40 00   1d+22:14:48.189  READ FPDMA QUEUED
  60 00 20 28 3c 84 40 00   1d+22:14:48.183  READ FPDMA QUEUED
  60 00 f0 28 3a 84 40 00   1d+22:14:48.150  READ FPDMA QUEUED
  60 f8 e8 30 42 06 40 00   1d+22:14:48.147  READ FPDMA QUEUED
  60 f8 e0 30 41 06 40 00   1d+22:14:48.145  READ FPDMA QUEUED

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.

编辑2

我注意到硬盘在绿色部分(好扇区)工作完美,没有任何噪音,但在可能坏的扇区上开始发出奇怪的噪音(例如重复的低沉/静音敲击声和一些高音调的“旧硬盘”读取)噪音)。我昨天打开盘面,顶板看起来很完美,磁头返回到停止位置。看起来没有任何东西被烧毁或移位。关于这种噪音的来源有什么想法吗?

相关内容