问题描述
dd
命令通常是used to make image backups of a drive or partition。但是,如果源驱动器不可靠或失败,它的性能很差。我读到ddrescue
/dd_rescue
是用于从坏驱动器恢复映像的好工具,因为它会智能地尝试第一次无法读取的re-read扇区。
但是在Ubuntu存储库中,我看到两个不同的ddrescue
程序,在不同的地方出现了3个不同但相似的名称:ddrescue
,gddrescue
,dd_rescue
。有什么不同?
最佳解决办法
令人困惑的是,ddrescue
可以指两个完全独立的程序,Kurt Garloff的dd_rescue
和GNU ddrescue。两者都有相同的目的,并积极发展。
Garloff的计划dd_rescue
是第一次改进dd
的尝试; GNU ddrescue是更新的,旨在解决dd_rescue
中的缺点。
有几个消息来源比dd_rescue
更喜欢GNU ddrescue。例如,
-
http://lwn.net/Articles/430000/ ddrescue赢了(在我的书中),因为它是一个用C++编写的高效self-contained程序(不是shell脚本kludge),在控制台/终端上产生更清晰的输出,并且(最重要的是)优雅而智能地处理不可读的块。
-
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
,ddrescue
的名称为gddrescue
!从包装摘要:
-
gddrescue
包:请注意,这是提供/sbin /ddrescue可执行文件的GNU ddrescue版本。如果您正在寻找Kurt Garloff的ddrescue版本,请查看ddrescue软件包。 -
ddrescue
包:请注意,这是提供/bin /dd_rescue可执行文件的Kurt Garloff的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