我朋友有一台(几乎已满)故障的 1 TB Western Digital My Passport。它只能偶尔安装在我的 MacBook 上,并且完全拒绝安装在我的 Ubuntu 机器上。我正尝试使用 GNU ddrescue 1.19(在 Ubuntu 机器上)在 2 TB Western Digital My Passport Ultra 上创建驱动器映像。故障驱动器是 NTFS,目标驱动器格式化为 ExFat。
两者都通过 USB 3 连接。即使使用-n
来跳过抓取,我的平均读取速度也约为 60-70 kB/s。这相当于大约半年的时间才能读取完整 TB 的数据。每当 ddrescue 启动时,通常前 2 或 3 次读取报告的速度约为 1-2 MB/s 或更多,但随后它立即不可避免地急剧下降。
我在网上搜索了一下,发现很多人都有类似的问题,但没有好的解决办法。我试过调整-b
扇区大小、-c
簇大小和-d
内核缓存旁路,但都没有成功。我的infile
是/dev/sdc
,我的outfile
是输出磁盘上的 .dd 文件,安装在 /media 中。
我还能尝试什么来加快这个速度?
编辑:
智能输出:
$ sudo smartctl -H /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.16.0-41-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 133 133 140 Pre-fail Always FAILING_NOW 2829
答案1
步骤 1)确保驱动器可以在总线上看到:
sudo lshw-businfo
步骤 2)获取 hddsupertool这里。
以 root 身份运行,选择设备,然后选择 VSC 条目。
步骤3)选择此条目:
4)WD royl(Marvel)补丁mod 02(慢速修复)
步骤 4)你首先要
1)将模块读入文件并创建补丁。
其次是
2)将修补后的数据写回磁盘。
步骤5)返回VSC入口,选择:
5)WD royl(Marvel)补丁mod 32(慢速修复)
并再次执行条目 1 和 2(读取修改、修补和写回)
注意:最后一步可能会提示失败。但对我来说还是有用的。
步骤 6)关闭驱动器电源并循环
您刚刚所做的操作:您已清除 SMART 状态和文件重定位列表。重定位列表包含有关哪些扇区需要重定位的信息,在 WD 的案例中,这种情况在读取失败时经常发生。
信用: 斯皮尔迪特(手动操作方法)&斯科特·德怀尔(hddsupertool 的作者)
修复后,我的 testdisk 扫描 i/o 速度从 130KB/s 提升至 11-13MB/s,并且从我第一次使用该驱动器时开始,我就能以 +100MB/s 的速度恢复数据。这是经过一周的研究,排除了大量死胡同之后的结果。
祝你好运!
答案2
警告/免责声明
此过程被认为有风险。如果您的数据足够有价值,您应该直接联系数据恢复专家,因为您的任何尝试都可能使他们的工作更加困难,因此成本甚至会更高。
也就是说,它对我来说完美无缺,但是 YMMV。
这并不意味着您的驱动器将再次可用,而只是意味着您可以以合理的速度恢复仍可读的内容。
WD Slow 问题修复
- 得到硬盘超级克隆从其下载区,使用最新的 Debian,你应该选择
hddsuperclone_xxxx_amd64.deb
sudo apt install ./hddsuperclone_*_amd64.deb
从下载目录安装- 您可以使用提供的
hddsuperclone-install-depends-deb.sh
脚本安装依赖项,但仅仅apt-get install libusb-0.1 -y
是此过程所必需的。 sudo hddsuperclone --tool
在 root 可以写入某些文件的目录中运行A) ATA Passthrough
- 选择您的磁盘(再三检查是否有一些相似)
7) VSC
4) WD royl (Marvel) patch mod 02 (slow fix)
1) Read the module to a file and create the patch.
2) Write the patched data back to the disk.
- 输入您被要求输入的内容
q) Quit
- 对磁盘进行电源循环(拔下、重新插入)
- 重复步骤 4 至 7
- 但选择
5) WD royl (Marvel) patch mod 32 (slow fix additional)
- 重复第 9 至 13 步
瞧,现在你的磁盘想它没有坏块!你当然更清楚。我回到 ddrescue。驱动器路径在第一次电源循环时发生了变化,但在第二次电源循环后又恢复了。
致谢
当然,全部功劳都归功于@SmokinGrunts,这只是他答案的更新。
还要非常感谢 hddsupertool 的作者 Scott Dwyer,这似乎是唯一可以进行这种简单修复的免费工具。
语境
我一直在尝试为朋友恢复 WDC WD10JMVW-11AJGS2(仅限 USB)磁盘上的数据。该磁盘确实发出可怕的噪音,因此我尽快运行了 ddrescue。它开始运行良好,但几分钟后,速度确实慢得像爬行一样,几乎正好是 64KB/s...
我尝试了所有可能的 ddrescue 选项,并听从了所有可能的帮助,但都无济于事。我把问题归咎于 btrfs,这是我第一次将其用作目标文件系统,并且还尝试了很多其他方法。还是没用。
然后我开始偶然发现很多关于可怕的“WD 速度慢问题”的讨论,其中大部分都是毫无帮助甚至粗鲁的评论。然后我来到这里,找到了第一个真正的免费解决方案。
我必须挖开茂密的HDDSuperClone 文档,了解如何将此处的说明适应新版本。搜索以wd_royl_patch_mod02
找到相关部分,几乎在最后。因此我想发表评论,但作为新手,我不得不写一个答案。我尽力了,如果可以做得更好,请提出建议。
问候。