【数据恢复】一个磁盘怎样做到分区数多于4个

来源:互联网 发布:梦觉教游泳知乎 编辑:程序博客网 时间:2024/05/16 10:29

    由前面谈到的,我们可以知道,MBR的分区表项只有4个,也就是如果只是用MBR进行分区的话,最多就只能分为4个分区了。但是随着磁盘容量的日益增加,4个分区已经满足不了需求了。为了解决这个问题,聪明的设计者提出了EBR,这就就使得DOS分区变的更为复杂了。

    首先介绍EBR的原理。在没有引入扩展分区的概念前。主分区表的每个分区表项只是单纯的对应一个分区。而在使用扩展分区的情况下,分区体系形成了一个分区链表。也就是4个分区表项中,有描述主分区的,有描述主扩展分区的。当这个分区表项(我们可以称之为扩展分区表项)描述扩展分区时,扇区的起始位置就是扩展分区的起始位置,扇区大小就是整个扩展扇区的大小,所不同的是,在这个扩展分区的起始位置设置了一个“扩展引导记录 EBR”。这个扩展分区中的EBR与MBR一样也包含了4个分区表项,但不包含引导代码。EBR中的四个表项并不全部被使用,而是使用其中两个。

  • 第一个表项描述一个分区,这个分区也被称之为“二级分区”,这个分区表项描述了这个分区的全部信息,位置、大小、类型等。
  • 第二个表项描述下一个扩展分区(在这个分区中又可以包含EBR,利用这个EBR又可以描述扩展分区)。这样就可以像链表一样,往下分区。如图1所示。

           

                                                                                                      图1 扩展分区的结构图

 

    在对上的原理进行分析了之后,以我个人所使用的计算机为例来说明,一个磁盘是怎样使用EBR来分区的。我的个人电脑被分为5个分区。见图2

    

                                   图2 个人电脑的分区                                                                                                                                    图3 4个分区表项的数值

 

    而从之前所分析的主分区表项来看,其中分区表项3的类型值为)0x0F,所代表的类型Win95 Extended,也就扩展分区了。由上一篇所述我们可以知道,表项3所描述的扇区开始于61442048号扇区,也就说在这个扇区里,应该有ERB,扩展分区的记录了,我们使用WinHex中的扇区位置跳转功能,跳到对应的扇区查看是否是有ERB。该扇区的内容如下图4所示:

                                                                       图4 扩展扇区的起始扇区

    从分析来看,扩展分区的ERB中的第二个表项应该指向下一个扩展分区,但是可以看出来,这里只有一个分区表项。也就是说,WinHex可能只认为我的电脑只有4个分区,而且这第四个分区是个扩展分区。经过查看,发现在WinHex中,是有五个分区,可是一个分区显示不正常,如下图所示。不知道是否是这个原因。这个问题暂时搁置,后面解决。

                                                                                              图5 一个分区状态不正常?