Jimmyone 发表于 2014-9-29 17:09:45

菜鸟小记1:手工重建MBR

        首先,像坛子中的各位大神致敬,有了你们的分享和远远前行的背影,才有了我们丰富的资源和不断追逐的脚步。这里,作为学习数据恢复的新人菜鸟,斗胆发第一篇文章,跟大家聊聊自己的心得和困惑。如果有什么不对的地方,希望大家勇于拍砖。
        1个礼拜多的时间学习了文件系统,这里跟大家推荐一本书,想必很多人也已经看过了,《数据恢复技术深度揭秘》对于一位新接触数据恢复的人来说写得还比较基础,并且有实例供大家分析。言归正传,Win7系统下虚拟4个分区,1个主分区,3个扩展分区。这里介绍两种方法恢复MBR。

        方法一:忽略掉EBR,只根据DBR的起始结束位置和分区大小来写MBR。
        因为是NTFS分区,搜EB5290,记录下当前的扇区号2048和分区大小4196351。NTFS分区大小偏移位置在208H处,8个字节32bit(通过数据解释器可以看到)   那么它的结束扇区就是起始位置+分区大小=4198399。跳转到4198399扇区查看一下。然后接着向下搜EB5290,找下一个扇区起始位置4200448,和分区大小6291455。以此类推,找到4个分区的起始截止位置和分区大小后,开始填写MBR了。第一个字节00或80都行,因为我这是虚拟分区所以填写00。然后的3个字节可以随便填写,他们代表磁道柱面开始信息,然后是07(NTFS标志),然后3个字节是磁道柱面结束信息,也是随便填写。接下来是重点,接着的4个字节是第一块盘的分区起始位置即2048,然后的4个字节是第一块盘的分区大小,这里注意分区大小要+1。因为计算机计数是从0开始的,类似于我们小学学习的植树问题。然后写完4个分区后,即可重现4个分区。
        方法二:通过EBR起始位置和大小,填写MBR。
        第一个EBR的位置是在第一个分区结束后的下一个分区,即4198400(EBR1)。以此类推找到EBR2=10491904,EBR3=12591104。
从EBR1里开始写数据。第一行:EBR1的起始位置(隐藏分区大小)=下一个分区开始-EBR1起始扇区号 ,大小即下一个分区大小。
第二行:开始位置该指向下一个EBR,即EBR2的相对位置。因为EBR的相对位置都是以EBR1为基准的,所以这里的大小为EBR2-EBR1。大小事下个分区大小+隐藏分区大小。以此类推写出EBR2和EBR3的。注意扩展分区的标志是05而不是07。
最后是写MBR,第一个分区表项:第一个盘的起始位置2048    和分区大小 。
第二个分区表项:EBR1开始位置   和   (剩下三个分区的大小之和+隐藏分区数*3)   
OK,4个分区也都恢复出来了。


        一点心得体会跟坛友分享,需要学习的知识还有很多,不过能恢复出这4个分区还是很有成就感滴!!这里感谢坛子里的所有乐于分享的人和齐哥。我知道这只是些皮毛,望大神轻拍~

烟台硬盘数据 发表于 2014-9-29 19:22:33

应该叫分区表重建,而不是MBR重建。

英胜数据恢复 发表于 2014-9-30 08:07:43

(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:(1:

Jimmyone 发表于 2014-9-30 13:36:06

烟台硬盘数据 发表于 2014-9-29 19:22
应该叫分区表重建,而不是MBR重建。

对对对,重建分区表

Jimmyone 发表于 2014-9-30 13:36:33

胜惟一 发表于 2014-9-30 08:07


介是什么表情。。。

csdn 发表于 2014-9-30 14:28:02

支持一下,楼下继续

hbhsjzhbhsjz 发表于 2014-10-2 13:30:50

谢谢分享~~辛苦了

高较兽 发表于 2014-10-2 19:18:22

支持一下,很厉害的样子!

pdwlz 发表于 2014-10-5 21:41:05

好好学习

674511518 发表于 2014-10-20 09:43:33

学习了,支持一下
页: [1] 2
查看完整版本: 菜鸟小记1:手工重建MBR