论坛风格切换
正版合作和侵权请联系 sd173@foxmail.com
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 2415阅读
  • 0回复

[教程资料]数据恢复原理专贴之MBR分区分析 之一 [复制链接]

上一主题 下一主题
离线pony8000
 

发帖
53392
今日发帖
最后登录
2024-11-15
只看楼主 倒序阅读 使用道具 楼主  发表于: 2012-06-27 21:30:59
现在讲win下的分区体系

例如一个考题:把一个新磁盘平均分成5个区。大多数会怎么分呢?

这个大家自己来做。

下面看我的分法:



注意:这里有一个主分区和一个扩展分区,扩展分区包括4个逻辑分区

现在看看winhex里的数据:





磁盘的0扇区(MBR)包括启动代码,通过启动代码可以启动相应的操作系统。一般还原软件大都在这里写上它的启动代码,来拦截系统的int13中断。因此想卸载这些还原软件,可以重新设置这个代码,可以用diskgenius,或用DOS下的FDISK /MBR命令来写启动代码。
因为DOS系统的原因,分区表项只有4个,理解为主分区记录(或叫分区表项)(包括扩展分区也占一个主分区记录)。
最后是55AA,磁盘有效标志。0扇区的结尾一定是这两个字节。如果不是55AA,大家可以试试。显示磁盘没有初始化。在磁盘在大量坏道的情况下,一接入磁盘就4了,根本不能操作。这种情况下可以去了55AA,让磁盘在启动时系统不自动搜索它的分区,这样启动就不卡了。再用数据恢复软件来操作原来卡死的磁盘。可以在mhdd下用switchmbr命令来实现,或用DOS下的DE来清空。

下面用winhex自带的模板来查看这个磁盘的分区。


要用图上所示的模板。
下面是模板显示的数据:




可以看出,这个磁盘一共有两个分区表项。但是这个磁盘有5个分区,但是为什么只有两个分区表项就能记录五个分区表呢?

原因就在第二个分区表项的分区类型为0x05(0x代表十六进制)。0x05和0x0F的区别是小于8G是0x05,大于8G是0x0F,当然这也不是绝对的实验证明0x05和0x0F都不影响windows识别扩展分区。

MBR记录的两个分区表项为:
第一个分区开始为物理63扇区;第一个分区大小为417627个扇区。
第二个分区开始于物理417690扇区;第二个分区大小为1638630个扇区。


现在转到MBR记录的第一个分区开始看看:




上图是物理63扇区的信息。下面调用NTFS启动扇区的模板看看记录的本扇区数是多少。看下图:





这是一个NTFS分区的信息。它从物理磁盘的63扇区开始,共有417626个连续扇区。这些扇区组成的区域显示为一个逻辑磁盘。它和MBR中记录的第一个分区信息是相对应的,不过大家注意分区表项中记录的扇区要比实际大1.这是NTFS的特性,讲到NTFS后再说。

下面看MBR记录的第二个分区,定位到物理磁盘的417690扇区(从这个扇区开始属于扩展分区了,一共1638630个扇区)。如下图:

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_2ff6358b7f74f03.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_95ca8ff9e422f62.jpg[/img]
同样可以用Master Boot Recorder这个模板来查看分区表如下图。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_22701a4a72b31d1.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_b229bec8148b918.jpg[/img]

有两个分区表项:1:开始扇区63,大小401562个扇区。
2:开始扇区401625,大小401625个扇区。


[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_31a4c326feb09fa.jpg[/img]
现转到物理磁盘的417753扇区看看。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_81c50a92fd3bd9b.jpg[/img]
或者进行下图的操作:

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_89c800b05c49feb.jpg[/img]
现在到了物理磁盘的417753扇区了。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_96c2829bb55f9a4.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_a52bd58bf1e5aed.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_56357e595c241ea.jpg[/img]

可以看出这个分区开始于物理417753扇区,大小为连续的401561个扇区。

现在看一下第二个分区表项
2:开始扇区401625大小401625个扇区。
注意:windows中扩展分区(本例中是从0扇区MBR记录的417690开始一共163860个扇区)中的扩展(0x05/0x0F)开始都是相对于扩展分区的开始算的。


因此下一个分区表位于417690+401625=物理819315扇区。

下面定位于物理819315扇区。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_926e178b9d75bb8.jpg[/img]
也可以在物理417690位置往下跳401625(0x620D9)个扇区如下图。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_6e4618ef839e88f.jpg[/img]

现在是EBR的位置,它描述两个分区表项。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_979dea8f44580d5.jpg[/img]
看看模板

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_5aa18af89808bbf.jpg[/img]
有两个分区表项:1:开始扇区63,大小401562个扇区。
2:开始扇区803250,大小401625个扇区。


看看63扇区以后的逻辑分区(物理819378扇区)开始:
相对后跳63(0x3F)扇区如下图。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_52d7a76f14dba55.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_bea761670c0c9e7.jpg[/img]
可以看出这是个FAT32分区,下面用模板看看这个分区的大小。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_c1fe9a54d436e50.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_33cb35eebdfa6a4.jpg[/img]
分区大小401562个扇区。这个分区位于物理819378扇区开始连续的402562个扇区。

再看下一个分区表项开始于803250(0xC41B2)扇区.

从扩展分区的开始(物理417690扇区开始往后跳803250(0xC41B2)个扇区)
看下图。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_9ab97aee9669d9b.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_964963e53565c1a.jpg[/img]
现在这是物理1220940扇区,这也是个EBR。描述两个分区表项。
两个分区表项:1:开始扇区63,大小401562个扇区。
2:开始扇区1204875,大小433755个扇区。

下面我就不分析了和上面的类似。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_cda37bf77090a0e.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_dfde793032d1559.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_2840563269b642d.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_e5a7ad43cf3027c.jpg[/img]

现在到417690+1204875(0x12628B)=1622565扇区。

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_26f7de77505b925.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_41628a95e74738e.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_e7a1e348a5fbdd4.jpg[/img]

看看这个分区表项描述的分区,后移63(0x3F)个扇区.看下图

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_55404cf25d7368a.jpg[/img]

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_8f570c63e2e0953.jpg[/img]
上图明显NTFS分区。
看参数

[img]http://bbs.crsky.com/1236983883/Mon_1206/6_210844_de9e649c8fc9db4.jpg[/img]
分区大小为433691个扇区。
已经到磁盘结尾了。分区结束。



现在已经明了了。各个分区的开始已经找到了。分区大小还没有具体说。

这个教程先到这吧。大家先消化一下。下一个教程继续分区。
精品软件:百度搜闪电软件园  最新软件百度搜:闪电下载吧
有问题联系 sdbeta@qq.com