tengrusher 发表于 2009-12-7 14:41:28

使用WinHex手工重建分区表实例及经验总结

昨天一个朋友的朋友的IBM T40笔记本重装系统操作失误,将原来40G硬盘上的三个分区格式化合并成一个C分区,D、E两个分区的数据无法获取。当然原来C盘上的数据更是无影无踪了。由于朋友的朋友的论文资料都在D盘,因此要求务必把论文找出来。
因为在误操作后电脑没再使用过,因此分析D、E分区的数据被覆盖概率不大,可以通过重建分区表找回分区。
恢复过程:

0、拆机取硬盘,还好是IDE的,我只有IDE转USB的数据线。。。连上电脑,打开WINHEX。

1、搜索DBR。意外发现NTFS的DBR竟然有备份!(呵呵,看来是自己知识不足,少见多怪了。)搜索后找到了原E分区的DBR和备份DBR,但是D分区的只找到备份的DBR。

2、先通过计算重写了MBR中E盘的分区表。直接在源盘上操作了。。。然后又拔掉,再插上,(这样是不是很笨,有没有好方法?是不是不用插拔也可以?)E分区找到了,文件都在。

3、搜索找到了D分区的$MFT的位置,根据备份DBR中MFT的位置信息,重新定位了D分区的起始扇区,未发现DBR,估计是被覆盖了。于是把备份的复制过来,写入。最后计算分区表,写入MBR中。重复插拔过程,找到D分区。运气比较好,能正常打开,文件也没问题。看来覆盖的不多,或者未覆盖关键文件。(NTFS真好!)

4、经验总结:
   写MBR分区表时由于大意发生这么一件事:把MBR中的分区表清零后写E分区的分区表时连续写了两个,即:四个分区中后两个为空,前两个完全相同。结果拔插后直接蓝屏死机,分析原因是两个分区的信息完全相同导致XP系统读取出错就蓝屏了。分析原因后用光盘启动,用DOS下的工具直接编辑扇区,将MBR分区表中第二个分区记录清零,就OK了。

此外,在手工计算分区表时出错N次,毕竟是第一次手工计算分区表。很头痛。分享一个菜鸟经验:CHS中柱面号超出1024后直接用11,1111,1111替换就可以了。磁头和扇区号不会出现这个问题。即CHS的三个字节(24位)中,前8位为磁头号,然后两位柱面号的高2位,然后6位扇区号,最后8位为柱面号的低8位。柱面号超出1024后,10位的柱面号全是1。至于对应的16进制,再换算吧。。。

首次发帖,语言混乱之处还请见谅!

wcj008521 发表于 2009-12-7 15:45:15

可以加你好友吗   给个QQ吧跟你学习一下   可以吗

jskeji 发表于 2009-12-7 16:10:24

不错,值得学习

dnv12 发表于 2009-12-7 18:41:16

DBR中本身就包含有扇区总数
既然备份的DBR都在 这个问题就好解决了 计算下就可以了

xzrj888 发表于 2009-12-7 20:59:25

路过。学习一下

tengrusher 发表于 2009-12-7 23:02:23

2# wcj008521


书籍是最好的老师,看看《数据恢复技术》或者《数据重现》就好了。

tengrusher 发表于 2009-12-7 23:07:30

4# dnv12


其中发现一个问题,期待高人解答:DBR中的扇区总数比MBR分区表中的扇区总数少1哎,为什么?

杜李敖 发表于 2009-12-8 11:41:50

这些理论知识都知道,就是没遇到这样的坏盘来实践一下,楼主好运气。

fanliy 发表于 2009-12-12 17:25:37

謝謝,學習經驗.

DIANNAOWEIXIU 发表于 2009-12-15 22:12:26

学习学习。。。。。。。。。。
页: [1] 2 3 4 5 6
查看完整版本: 使用WinHex手工重建分区表实例及经验总结