在什么情况下我应该选择 dd 而不是 GNU ddrescue?

在什么情况下我应该选择 dd 而不是 GNU ddrescue?

据我所知,将 dd 与 ddrescue 进行比较,可以得出结论,ddrescue 在从损坏的数据源中拯救数据方面要好得多。dd 没有这种能力。

dd_rescue 与 dcfldd 与 dd

有时,在开始备份之前,我根本不知道数据源是否完全正常或者是否以某种方式损坏。

那么为什么不忘记 dd 而每次都只使用 ddrescue 呢?

是不是这样的:如果数据源没有问题,ddrescue 就会进行良好的备份,如果数据源坏了,ddrescue 也许能够处理这个问题。

到目前为止我能看到的唯一原因是如果 dd 可用而 ddrescue 不可用,但我认为在大多数情况下,当有人进行备份时,他可能可以获得 root 访问权限并简单地安装 ddrescue。

在精细数据源上,ddrescue 的运行速度是否比 dd 慢?

答案1

很简单?DD 是标准您将要使用的工具可以预见地在大多数 unix 或 unix 启发的操作系统中,它以某种形式出现。它的设计以极简和简单为中心。这是它唯一的优势。没有内置验证,没有校验和,没有花哨的部分。但是你可以走到任何linux 系统并制作一个映像。它是一把锤子。它是一根棍子上的一块钢,你知道每个车间都有一把,它可以很好地敲钉子。至少它看起来像这样,你找到的任何其他锤子至少可以做到这一点。ddrescue 还应该给你一个位完美的副本,你可以用校验和来验证。

块状基本锤 Gnu dd rescue 是一个专用工具的功能恰好与通用工具相同。你也许能用专用工具拔出钉子,但用普通锤子却不行。这是锤子

在此处输入图片描述

它能把钉子钉进去它会将它们取出。它为您提供了恢复数据的最佳机会,但代价可能是更多时间,并且优化是为了最大限度地恢复数据,而不是完美无缺。它还会对完全健康的驱动器进行映像处理。

我也亲自青睐gnuddrescue 语法。我认为它更简单,更傻瓜化。

我会用其中任何一种工具添加一张正确完成的图像,基本上可以以相同的方式使用。

大多数 unix 老手都会说“使用大而无当的东西”——这是“正确”的做法。我更喜欢 gnuddrescue,因为它对最终用户来说是一个更优雅的工具,恰好更多的也就是说,在某些情况下,知道如何使用两者还是很有用的,例如在处理无法安装您喜欢的系统时。

答案2

ddrescue在您想要在磁盘和磁盘映像之间进行克隆的基本情况下,它可以很好地工作。

然而,有些情况下它根本行不通,或者要让它工作需要一个复杂的额外抽象过程。这通常是因为ddrescue需要可寻找的源和目标。例如,在以下情况下,这一点很重要:

  • 您想直接通过网络发送磁盘流。dd很乐意让您将其输入从或输出到ncssh等。ddrescue无法做到这一点。您需要提供可寻址的远程文件系统,可能使用 SMB、NFS 或 SSHFS - 但它们都会带来额外的开销。(可以说,您应该改用rsync- 但有时位精确图像可能会有用。)
  • 您想压缩磁盘映像。也许您没有足够的空间来存放完整的未压缩映像。使用dd,您可以轻松地通过 进行管道传输gzip。使用ddrescue,您需要类似 的东西fusecompress

是的,仍然可以ddrescue做这些事情,但是当您有理由确定源不会引发读取错误时,这dd会更容易,并且可以与其他标准 *nix 工具很好地融合。

相关内容