损坏硬盘 数据恢复拷贝软件DDrescue

[复制链接]
  • TA的每日心情
    开心
    2012-4-25 18:36
  • 签到天数: 1 天

    [LV.1]布衣百姓

    200

    主题

    862

    回帖

    2601

    积分

    Intohard Team

    づ甜甜橙子ぜ

    Rank: 7Rank: 7Rank: 7

    积分
    2601
    发表于 2007-7-18 16:12:31 | 显示全部楼层 |阅读模式
        dd_rescue硬盘扇区数据拷贝工具, 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[wiki]字节[/wiki]), 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拷贝语法说明原文:

    NAME
        dd_rescue - copies data from one file (or block device) to another

    SYNOPSIS
        dd_rescue [options] infile outfile

    DESCRIPTION
        This manual page documents briefly the dd_rescue command. This manual page was written for the Debian distribution because the original program
        does not have a manual page.

        dd_rescue is a program that copies data from one file or block device to another, it is a tool to help you to save data from crashed partition.
        It tries to read and if it fails it will go on with the next sectors, where tools like dd will fail. If the copying process is interrupted by the
        user it is possible to continue at any position later. It can copy backwards.

    OPTIONS
        -s ipos
           start position in input file (default=0)

        -S opos
           start position in output file (def=ipos)

        -b softbs
           block size for copy operation (def=16384)

        -B hardbs
           fallback block size in case of errs (def=512)

        -e maxerr
           exit after maxerr errors (def=0=infinite)

        -m maxxfer
           maximum amount of data to be transfered (def=0=inf)

        -l logfile
           name of a file to log errors and summary to (def="")

        -r   reverse direction copy (def=forward)

        -t   truncate output file (def=no)

        -w   abort on Write errors (def=no)

        -a   spArse file writing (def=no)

        -A   Always write blocks, zeroed if err (def=no)

        -i   interactive: ask before overwriting data (def=no)

        -f   force: skip some sanity checks (def=no)

        -q   quiet operation

        -v   verbose operation

        -V   display version and exit

        -h   Show summary of options

    ddrescue-1.0.tar.rar

    22 KB, 下载次数: 796, 下载积分: 金子 -2

  • TA的每日心情
    奋斗
    2012-4-26 09:09
  • 签到天数: 1 天

    [LV.1]布衣百姓

    63

    主题

    1842

    回帖

    2339

    积分

    [INTOHARD]营长

    金牌会员

    Rank: 6Rank: 6

    积分
    2339
    QQ
    发表于 2007-7-19 12:33:36 | 显示全部楼层
    支持了......................................................

    该用户从未签到

    13

    主题

    61

    回帖

    179

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    179
    发表于 2007-7-20 08:14:21 | 显示全部楼层
        这个是unix系统的,对我没用啊
  • TA的每日心情
    开心
    2013-5-25 11:06
  • 签到天数: 22 天

    [LV.4]七品知县

    8

    主题

    155

    回帖

    397

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    397
    发表于 2007-7-21 14:28:32 | 显示全部楼层
    如此详细,版主费心了,兄弟支持你!
  • TA的每日心情
    开心
    2015-4-28 17:12
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    77

    回帖

    272

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    272
    发表于 2007-7-21 19:50:42 | 显示全部楼层
    谢谢 [s:205] [s:205]

    该用户从未签到

    28

    主题

    311

    回帖

    1146

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1146
    发表于 2007-7-22 14:10:34 | 显示全部楼层
    这不是文都四内核的啊?

    该用户从未签到

    1

    主题

    13

    回帖

    30

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    30
    发表于 2007-7-25 13:34:29 | 显示全部楼层
    哇,这个比较复杂啊,不过还是学习了

    该用户从未签到

    7

    主题

    54

    回帖

    79

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    79
    发表于 2007-7-28 02:19:46 | 显示全部楼层
    [s:208] [s:208] 收下研究!!

    该用户从未签到

    0

    主题

    25

    回帖

    22

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    22
    发表于 2007-8-5 00:05:00 | 显示全部楼层
    DD COPY虽然好用,不过没有DE和MTR好用

    该用户从未签到

    9

    主题

    199

    回帖

    378

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    378
    发表于 2007-8-6 16:02:21 | 显示全部楼层
    很好用!感谢! [s:206]
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表