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