寻找最佳的 ddrescue 命令行选项,其中准确度 > 速度

寻找最佳的 ddrescue 命令行选项,其中准确度 > 速度

我读了一些关于这个工具的内容,当然也查看了手册页。问题是 ddrescue 需要很长时间,我需要第一次就正确输入命令。我不确定如何改进 vanilla;

$ sudo ./ddrescue -v /dev/disk0s5 MyVolImage.dmg MyVolRescue.log
$ sudo ./ddrescue -v MyVolImage.dmg /dev/disk1s3 MyVolRestore.log
  • 从 HSF+ 到 HSF+ 驱动器
  • 源(损坏)硬盘通过 USB 2.0 连接
  • 目标硬盘位于 MacBook 内部
  • 我会选择准确性而不是速度

似乎有很多选择,但我不确定它们如何影响恢复的质量和速度。

谢谢,

加夫

答案1

从 HSF+ 到 HSF+ 驱动器

因此可以通过搜索找到这一点,你的意思是 HFS+(分层文件系统)。

有用的提示:您可以sudo -s自行执行此操作以进入 root 级别 shell,因此您只需输入 sudo 一次(将其从上面的命令中删除)。因此,请执行以下操作:

$ sudo -s

确实,ddrescue 对我来说花了很长时间,但我的驱动器相当糟糕。如果您创建了一个日志文件(您应该这样做),您可以随时停止它并使用新参数重新启动。从我迄今为止发现的情况来看(可能会更新),使用该工具的最佳方法如下。

首先,使用 Unix 命令(如下)或磁盘实用程序 GUI,卸载故障分区(如果已安装)

# diskutil unmount disk0s5
# ./ddrescue -v -n /dev/disk0s5 MyVolImage.dmg MyVolRescue.log

日志至关重要。它允许您随时中断程序以及多次针对驱动器运行该程序。

(请注意,目标映像文件和日志文件都必须存储在可靠的驱动器上,而不是坏驱动器(您无论如何都已卸载)。确保您知道它们的存储位置。上述命令会将它们放在与 ddrescue 相同的文件夹中。还要注意,整个源磁盘将被复制到映像中,因此目标卷上必须有足够的磁盘空间。)

-n 选项告诉它遍历整个磁盘以复制所有可以复制的内容,而无需重试(救援)。在我看来,这是最好的选择,因为您需要一个基准,并有助于防止驱动器在此过程中完全死机。完成后,再次运行它以查找磁盘的坏区:

# ddrescue -v -r 3 /dev/disk0s5 MyVolImage.dmg MyVolRescue.log

-r 3 指示它重试坏区 3 次。请注意,我们正在重复使用第一次创建的日志文件。您可以根据自己的耐心将其设置为尽可能高,但您可能希望为最后一次运行留出一些时间。

# ddrescue -v -r 3 -R /dev/disk0s5 MyVolImage.dmg MyVolRescue.log

正如手册所述 - 重新修剪已标记为坏的区域可以取得成功,因为它将按照不同的顺序重试这些扇区。

不要这样做:

# ./ddrescue -v MyVolImage.dmg /dev/disk1s3 restore.log

您可能能够使用磁盘工具来安装映像的副本,如有必要进行修复,然后从那里开始。最好在修改磁盘映像之前复制它,以防出现问题。Finder 的复制速度也应该比 ddrescue 快。我认为使用映像更容易,因为您不必担心实际磁盘的分区大小问题。

进一步的恢复工具是 testdisk(没有尝试过,也不确定是否要尝试)和 PhotoRec,两者都在CG安全并需要编译。PhotoRec 可用于恢复多种不同类型的文件,这可以通过清除驱动器或图像来完成,而不管目录结构如何。

有人讨论使用原始设备来加速访问,但我还没有证据证明它们可靠地工作。在前面加上字母 rdisk可以让 OS X 以原始方式使用它(无缓存)。

答案2

2011 年 4 月初,我使用 Seagate 500 GB 2.5 英寸 7200 RPM 磁盘时遇到了这个问题。(该磁盘有一个卷使用了NTFS


使用建议的命令第一个答案,尽可能的恢复到磁盘映像然后:

  • 复制该图像
  • 获取 CGSecurity 的最新二进制文件测试磁盘– 免费(开源),非常很好,但是使用起来比较困难。

几何学

如果故障磁盘丢失了引导扇区,那么了解磁盘的几何结构(有关磁盘的柱面、磁头、扇区 (CHS) 的信息)可能有助于 TestDisk 处理恢复映像的副本。因此,如果可能的话,探索几何– 可以通过 Google 搜索品牌和型号来找到 PDF 格式的制造商规格。

磁盘工具

如果恢复是从包含 Intel Mac 的 HFS+ 启动卷的磁盘进行的,则该卷的磁盘将使用 GUID 分区表 (GPT)。因此,我将使用diskutil(磁盘实用程序使用的实用程序之一):

  • 打开终端窗口
  • 输入以下命令:

diskutil verifyVolume <PATH-TO-THE-DISK-IMAGE>

如果终端窗口中的输出显示图像内的文件系统不一致,则使用终端运行略有不同的命令:

diskutil repairVolume <PATH-TO-THE-DISK-IMAGE>


如果修复卷的尝试失败,那么您可以继续进行 TestDisk。

TestDisk 的屏幕截图

在终端窗口中运行sudo testdisk会显示三个日志选项。选择一个后,窗口将显示如下内容:

TestDisk 6.14 媒体选择菜单的屏幕截图

CGSecurity 有关如何进行 TestDisk 的文档已在线。

如果分区混乱到一定程度

您唯一的选择可能是“文件雕刻”来仅恢复文件 - 不包括文件名,不包括目录/文件夹。

相关内容