| linux/Unix平台data-recovery常用的工具 |
 |
作者: 来源: 日期:2011-7-13 1:07:04 点击次数: |
|
数据恢复中经常会遇到linux或是Unix,如果无法把存储链接到windows的话,就没有办法使用像winhex这样的16进制磁盘编辑软件,也就更谈不上分析存储结构!
在这种情况下可以使用dd、dd_rescue、od或是Vim来简单的读取访问存储上面的数据,如果问题比较简单容易处理,也可以直接对其进行修改!
下面详细说一下这几个工具的使用:
1) dd dd 的主要选项: if=文件 源文件名,缺省为标准输入 of=文件 目标文件名,缺省为标准输出 ibs=x 每次读取的个字节大小 (即输入的块大小为x字节) obs=y 每次写入的个字节大小 (即写入的块大小为y字节) bs=z 同时设置读写块的大小,同 ibs=obs=z cbs=c每次转换c个字节 skip=s 略过输入文件前s个字节,即从第s 1个字节开始拷贝 seek=s略过输入文件前s个块。(当输出文件是磁盘或磁带) count=b 需要复制的块数(ibs指定的大小) conv=c [,conversion...] 用指定的参数转换文件 比较重要的参数:noerror 出错时不停止 notrunc 不截短输出文件 sync 把每个输入块填充ibs个字节,不足部分用空字符补齐 例子: dd if=/dev/sda of=/dev/sdb bs=32M 将sda备份到sdb dd if=/dev/fd0 of=~/soft.img bs=1440k 制作软盘镜像 dd if=/dev/sda of=~/mbr.img bs=512 count=1 读取sda的mbr dd if=/dev/sda of=~/sda.img bs=4096 conv=noerror,sync noerror 参数说明在碰到读写错误(可能是由于坏道引起的)时继续向下操作,而不是停止退出。sync 参数说明对于从源设备无法正常读取的块,就使用NULL填充。
2) dd_rescue dd_rescue [options] in文件 out文件 选项: -s ipos 输入文件的开始位置(default=0) -S opos输出文件的开始位置 (def=ipos) -b softbs 拷贝时的块大小 (def=65536) -B hardbs当出现错误时,拷贝操作的块大小 (def=512) -e maxerr当出现maxerr个错误时退出 (def=0=infinite) -m maxxfer 交换最大的数据量 (def=0=inf) -y syncfrq调用输出文件的频率,即每读取n个块后写入 (def=512*softbs) -l log文件错误记录文件 (def=”") -o bb文件 记录坏块的文件 (def=”") -r 反向复制 (def=forward) -t截断输出文件 (def=no) -d/D使用 O_DIRECT 进行读写(def=no) -w出现写错误时中止 (def=no) -a写稀疏文件 (def=no) -A当出现错误时总是使用0填充 (def=no) -i interactive:在数据覆盖时询问 (def=no) -f force: 跳过一些正常的检查 (def=no) -p preserve:保留属性 (def=no) -q 静默方式操作 -v 显示详细信息 注意:块大小的单位必须为 b(=512) 或 k(=1024) 或 M(=1024^2)或 G(1024^3) bytes。 相比dd,dd_rescue 优点在于在碰到错误时,可以以更小的数据块重新读取这段数据,从而确保能够读出尽量多的数据,此外,据说相同环境下速度会比dd略快。
3) od 以十进制、八进制、十六进制和ASCII码来显示文件。 od [选项] 文件… 选项: - A 指定地址基数,包括: d 十进制 o 八进制(系统默认值) x 十六进制 n 不打印位移值 - t 指定数据的显示格式,包括: c ASCII字符或反斜杠序列 d 有符号十进制数 f 浮点数 o 八进制(系统默认值为02) u 无符号十进制数 x 十六进制数 注意:除选项c外,其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。 上一篇:硬盘数据误删除,恢复成功 下一篇:gawk详解(一) |
|
|
 |
| 北京总部: 4006-505-808 |
| 天 津 部: 4006-505-808 |
| 上 海 部: 4006-505-808 |
| 深 圳 部: 4006-505-808 |
| 广 州 部: 4006-505-808 |
| 重 庆 部: 4006-505-808 |
| 南 京 部: 4006-505-808 |
| 其它地区: 4006-505-808 | |
|
 |
|