设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> Linux应用技巧 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Linux中十个不该以Root登…
让我们从今天起开始驾驶…
Linux与Windows谁更适合…
Linux上数据自动备份与刻…
Backup your Linux Syst…
如何判定你是否具备有学…
Slackware Linux操作系统…
Linux能干高精尖事情Win…
为Linux操作系统创建文件…
走进Linux世界,纯正的网…
  linux硬盘数据恢复工具         
linux硬盘数据恢复工具
 

如同dd一样, dd_rescue可以把数据从一个文件或块设备拷贝到另一个地方. dd_rescue主要用于从损坏分区恢复数据. 如果dd读出失败, dd_rescue将尝试读出. 用户也可以随时中断拷贝, 以便任何时间继续. dd_rescue还可以向后拷贝.


dd_rescue的优点

想象一下, 你的某个分区失效, 存在一些硬错误, 你不会想继续写任何数据到这块硬盘. 这时候需要把上面数据拷贝出来. 然而, 通常情况下, 你不能访问文件, 因为文件系统已经损坏.

现在, 你可能会拷贝整个分区到一个文件, 或烧入到一个CD-Rom, 这样将不再丢失任何数据. 你也可以创建一个loop设备, 使用fsck修复损坏的分区, 然后访问上面的数据.

在Un*x系统上使用cat或dd拷贝损坏分区将会失败, 因为它们遇到错误后会终止拷贝. 而dd_rescue将尝试从坏扇区读出数据, 然后继续下面的扇区. 输出文件(output file)会存在有一些错误. 你可以通过写入日志文件看到这些错误的位置.

当遇到错误的时候, dd_rescue的数据丢失率是很低的. 如果你终止当前拷贝, 你不会丢失任何数据. 可在任何地方继续. 输出文件将不断被填充, 而不像其它Un*x工具会有截端.

如果你的分区有一个坏扇区, 你可以考虑从两边拷贝, 这将是一个不错的主意.

两个块大小是一个不错的优化, 更大的块将有更好的优化效果. 但是在硬盘发生错误的情况下, 你想恢复的是每个扇区上的数据. 所以harbs最好设置成硬件扇区大小(通常是512字节), softbs数值会大一些, 缺省是16K.

在Debian上安装dd_rescue

运行下面命令安装ddrescue
#apt-get install ddrescue

在Ubuntu上安装ddrescue

sudo apt-get install ddrescue

ddrescue的语法

dd_rescue [options] infile outfile
现在我们将看到如何使用ddrescue在损坏硬盘上恢复数据

如果你有一块损坏的硬盘/dev/sda1和一块没有任何数据的硬盘/dev/sda2. 现在如果你想把数据从/dev/sda1拷贝到/dev/sda2上, 运行下面命令:
# dd_rescue /dev/sda1 /dev/sda2/backup.img

如果你使用ubuntu linux, 运行下面命令(拷贝sda1所有数据到sda2):
sudo dd_rescue /dev/sda1 /dev/sda2/backup.img

现在你需要检查备份(拷贝)数据的连续性:
#fsck -y /dev/sda2/backup.img

如果你使用ubuntu linux, 运行下面命令:
sudo fsck -y /dev/sda2/backup.img

检查完后, 从加载镜像文件到本地的recoverydata分区:
#mount /dev/sda2/backup.img /mnt/recoverydata

如果你使用ubuntu linux, 运行下面命令:
sudo mount /dev/sda2/backup.img /mnt/recoverydata

你将可以通过加载的分区(/mnt/recoverydata)访问镜像文件(backup.img)上的数据, 然后检查是否有任何问题.

恢复镜像

如果你想恢复镜像到损坏的硬盘, 运行下面命令:
#dd_rescue /dev/sda2/backup.img /dev/sda1

如果你使用ubuntu linux, 运行下面命令:
sudo dd_rescue /dev/sda2/backup.img /dev/sda1

使用SSH拷贝磁盘镜像到远程机器上
如果你想通过ssh拷贝磁盘镜像到远程机器上, 运行下面命令:
#dd_rescue /dev/sda1 - | ssh username@machineip ‘cat /datarecovery/backup.img’

如果你使用ubuntu linux, 运行下面命令:
sudo dd_rescue /dev/sda1 - | ssh username@machineip ‘cat /datarecovery/backup.img’

然后会显示用户口令输入提示, 输入指定用户的口令, 然后dd_rescue开始拷贝, 结束后通过网络拷贝到远程机器上.

可能的错误

如果你在拷贝中遇到下面错误可忽略:
dd_rescue: (warning): output file is not seekable!
dd_rescue: (warning): Illegal seek

如果你需要压缩磁盘镜像文件, 运行下面命令:
#tar zcvf - /dev/sda1 | ssh username@machineip ‘cat@@>/tmp /datarecovery/backup.tar.gz’

如果你使用ubuntu linux, 运行下面命令:
sudo tar zcvf - /dev/sda1 | ssh username@machineip ‘cat@@>/tmp /datarecovery/backup.tar.gz’

更多dd_rescue的参数用法, 你可以参考dd_rescue的man page.

参考:
Recover Data From a dead hard drive using ddrescue
Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-3 0:28:14
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持