DDRescue 花了几个月但没有错误?

DDRescue 花了几个月但没有错误?

我很难找到有同样错误的其他人,并且我正在努力找出最佳的前进道路。

我的硬盘速度慢得无法使用,然后停止启动。 Clonezilla 克隆失败,我使用 Clonezilla Live CD 中包含的 GNU 救援工具启动了 ddrescue。对于 2 TB 驱动器来说,速度慢得令人难以置信,平均约为 400 kBps,所以我估计将近 4 个月!在此刻。不幸的是,我的最后一次备份是在两年前,我想从中删除很多照片。令人惊讶的是,尽管花了 3 天时间,但它已挽救了大约 50 GB 的空间,到目前为止没有任何错误。我有几个关于最佳前进道路的问题,以及为什么需要这么长时间但又没有任何错误。

驱动器是否只是需要很长时间才能成功读取,但实际上从未发生故障,从而减慢了复制时间?硬盘本身没问题,但控制板之类的东西有问题吗?

我非常担心日志文件可能去哪里。我不能指望我的计算机保持稳定,并且命令在四个月内不会出错。如果我说的是让它运行甚至几周,我想将该日志文件保存到闪存驱动器上。我最初以为它会存储在新的更大的硬盘驱动器上,但现在我意识到它可能存储在 clonezilla_live 正在使用的 RAM 驱动器上。插入格式化的 USB 驱动器、安装它并复制日志文件,然后重新启动 ddrescue 是否安全? Clonezilla shell 是否会识别出我插入了启动时不存在的 USB 记忆棒,以便我可以安装它?

我假设我会尝试sudo fdisk -l列出磁盘,然后创建一个目录?sudo mkdir /logfile/usb然后安装它?sudo mount /dev/sdb1 /media/usb,然后复制?

对于任何反馈,我们都表示感谢。我在 Unix shell 中搞了一下,设置了一个 z-pool raid,但总是当我确切地知道我在做什么时,而不是在 Linux 中,更不用说一个简单的版本了。

答案1

如果有人感兴趣或在几年内遇到过此版本的存档版本。我等了两个月,建立一个日志文件来恢复复制。有两次它开始出现读取错误(直到计算机重新启动),还有一次我断电了。经过几个月的复制,我通过 USB 适配器将备份插入另一台笔记本电脑,我可能有 7.5 mb 的 ~2 tb 未复制(-r3 后仍然有错误(3 次重试))。它不可读,但我按照以下说明重建了分区表:https://perrohunter.com/repair-a-mac-os-x-hfs-partition-table/ - 我确实必须更改块大小,因为该驱动器比旧驱动器大得多。

然后它的工作几乎完美无缺。我在磁盘实用程序中进行了磁盘验证和修复以及权限修复,并且启动正常。

真正的教训?我将 backblaze 用于真正重要的文件(照片和文档)以及现场镜像可启动备份。

答案2

ddrescue 直到到达第二阶段才会标记坏扇区: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

(第二阶段;修剪) 修剪一次完成。对于每个未修整的块,从块的前沿开始一次向前读取一个扇区,直到发现坏扇区。然后从块的后沿开始向后读取一个扇区,直到发现坏扇区。然后将发现的坏扇区(如果有)标记为坏扇区,并将块的其余部分标记为未擦除,而不尝试读取它。

问题是:这个阶段开始可能需要很长时间。它分为三个通道:

  1. 向前复制并将块标记为rescued,non-trimmed和 ,non-tried具体取决于超时等。
  2. 向后复制并读取所有non-tried
  3. 向前复制而不跳过,为修剪准备大错误

不幸的是,没有人能够预测这个阶段需要多长时间,因为这取决于错误的数量(小时、天、周甚至月,如您的情况)。

注意:--retry-passes=n( r) 标志仅对第四阶段重要:

(第四阶段;重试)可以选择再次尝试读取坏扇区,直到达到指定的重试次数。

因此,它不会通过减少重试次数来加快第一阶段的速度。

但是您可以在 ddrescue 日志文件中看到它是否将某些块标记为“已救援”,因此您可以希望它能够救援驱动器的部分或全部数据。这是一个例子:

#      pos        size  status
0x00000000  0x00117000  +
0x00117000  0x00000200  -
0x00117200  0x00001000  /
0x00118200  0x00007E00  *
0x00120000  0x00048000  ?

如果日志文件包含带有+-status 的行,则还有希望。意思是“获救”。但如果它只包含?(未尝试过的)和*(未修剪过的)我认为你可以放弃。当然,有可能驱动器只是一开始就有缺陷,但我认为这只是一个很小的机会。但是,如果您有能力通过第二台电脑运行 ddrescue,您应该根据数据的重要程度进行尝试。最后的希望可能是更换头部/电子设备,但这可能很昂贵。

分析日志的另一种方法是使用 ddrescue 日志查看器: https://sourceforge.net/projects/ddrescueview/

我用分开的魔法因为它包含 ddrescue GUI 和 ddrescue 日志查看器。

您可以在此处看到第 1 阶段第 2 阶段中间查看器的屏幕截图(向后复制): ddrescue 日志查看器

箭头显示当前位置。正如您所看到的,该驱动器中间有许多可能的坏扇区(在此阶段标记为“未修剪”),这就是我放弃的原因。

答案3

确保您的数据仍在复制 - 检查输出文件,并确保它们的大小不断增加。当您尝试一次从故障硬盘上复制大量数据时,故障硬盘很可能会冻结。

如果它看起来没有做任何事情,最好停止操作,然后返回并一次复制一个目录,这样如果再次发生这种情况,您至少将拥有一个完整的目录。如果有效,您可以再保留一两天。时间估计通常是非常错误的,但绝对不应该花一个月!

我对 ddrescue 不太熟悉,但我在工作中经常使用 Data Rescue,而且我从未见过如果一天之内没有完成的完整硬盘驱动器映像。话虽这么说,最好只复制您需要的目录(可能是 /home),因为可以重新安装应用程序并重新配置设置,但无法替换文档和图片。

至于日志文件,当数据救援实用程序运行时我不会碰它们。

相关内容