使用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进制,再换算吧。。。
首次发帖,语言混乱之处还请见谅! 可以加你好友吗 给个QQ吧跟你学习一下 可以吗 不错,值得学习 DBR中本身就包含有扇区总数
既然备份的DBR都在 这个问题就好解决了 计算下就可以了 路过。学习一下 2# wcj008521
书籍是最好的老师,看看《数据恢复技术》或者《数据重现》就好了。 4# dnv12
其中发现一个问题,期待高人解答:DBR中的扇区总数比MBR分区表中的扇区总数少1哎,为什么? 这些理论知识都知道,就是没遇到这样的坏盘来实践一下,楼主好运气。 謝謝,學習經驗. 学习学习。。。。。。。。。。