ddrescue,gddrescue和dd_rescue有什么区别?


57

dd命令通常用于对驱动器或分区进行映像备份。但是,如果源驱动器不可靠或出现故障,它的性能将很差。我读到ddrescue/ dd_rescue是一个很好的工具,可用于从故障驱动器中恢复映像,因为它会智能地尝试重新读取第一次读取失败的扇区。

但在Ubuntu软件仓库中,我看到了两个不同的ddrescue程序,有3个不同但相似的名称没有显示在不同的地方:ddrescuegddrescuedd_rescue。有什么不同?

Answers:


71

ddrescue令人困惑的是,它们可以引用两个完全独立的程序,分别dd_rescue是Kurt Garloff和GNU ddrescue。两者具有相同的目的,并得到积极发展。

Garloff的程序dd_rescue是对它进行改进的首次尝试dd;GNU ddrescue是较新的版本,旨在解决的缺陷dd_rescue

有几个消息源更喜欢GNU ddrescue dd_rescue。例如,

  • http://lwn.net/Articles/430000/

    ddrescue之所以会胜出(在我的书中),是因为它是用C ++编写的高效的独立程序(不是shell脚本冲突),在控制台/终端上产生了更清晰的输出,并且(最重要的是)优雅,智能地处理了不可读的块

  • http://www.toad.com/gnu/sysadmin/index.html#ddrescue

    GNU ddrescue是您最好的朋友。

    它以前面的两个程序dd_rescue(带有下划线)和dd_rhelp为模型。但是GNU ddrescue远胜于两者-我在同一驱动器上尝试了全部三个,并尝试使用普通的旧“ dd”。

    安东尼奥·迪亚兹·迪亚兹(Antonio Diaz Diaz)的GNU ddrescue从这些经验中学到了东西。它结合了dd_rescue读取大块然后换档的功能,以及dd_rhelp记住已经查看过磁盘的哪些部分的功能。它以非常简单的日志文件格式保存此信息,并每30秒,无论何时停止或中断都会更新此信息。它是用C ++编写的,而且体积小,速度快。

GNU ddrescue的一个优点是,它可以更快地备份大多数数据,方法是先跳过坏块(恢复速度很慢),然后仅在备份好块之后再返回它们。GNU ddrescue的一个缺点是它不支持管道输出,这意味着您不能使用gzip或压缩输出图像lzop

Ubuntu软件包

不幸的是,Ubuntu存储库中的软件包名称令人困惑。dd_rescue以名称包装ddrescue,并且ddrescuegddrescue!从包装摘要中:

  • gddrescue 包:

    请注意,这是提供/ sbin / ddrescue可执行文件的GNU ddrescue版本。如果要搜索Kurt Garloff的ddrescue版本,请改用ddrescue软件包。

  • ddrescue 包:

    请注意,这是Kurt Garloff的dd_rescue版本,提供了/ bin / dd_rescue可执行文件。如果要搜索GNU ddrescue版本,请改用gddrescue软件包。

名称摘要:

Program name     Ubuntu package name     Executable name    Name in URL
GNU ddrescue     gddrescue               ddrescue           ddrescue
dd_rescue        ddrescue                dd_rescue          ddrescue

2
迟到了两年,但是:非常好的帖子,指出了一个仍然会影响人们的问题,而不仅仅是在Ubuntu上!我将自己投入两美分,因为上面的答案中只提到了这一点:GNU ddrescue的优点之一是其日志文件功能。它不仅可以让您恢复部分恢复,并在以后重试,而且由于它既可以被人类读取,也可以被计算机读取,因此人类和计算机都可以在以后使用它进行更高级的数据恢复。最近,我不得不在损坏的驱动器上执行此操作;没有日志文件,我将不知道从哪里开始!
andlabs

4
最近的Ubuntu(14.04及更高版本)似乎只有gddrescue,现在ddrescueUbuntu软件包搜索仅显示gddrescue(&ddrescueview),Kurt Garloff的ddrescue仅在12.04
Xen2050

2
“首先跳过错误的数据块”的原因是在尝试恢复错误的数据之前先保存仍然完整的数据。驱动器上的活动可能会破坏更多的位,尤其是反复尝试恢复坏区。
乔纳斯·斯坦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.