BBS水木清华站∶精华区

发信人: suzhe (I Love Linux), 信区: Linux        
标  题: Re: 再次打搅suzhe大侠了.. 
发信站: BBS 水木清华站 (Mon Nov 22 18:16:44 1999) 
 
 
其实我前面地文章已经说到这个问题了,可能说的不太清楚。 
所有扩展分区都是存放在一个链表中的,链表头就是基本扩展 
分区地记录项,记录在主分区表中。后续扩展分区的分区信息 
都记录在前一个扩展分区自己地分区表中,结构与主分区一样。 
对于逻辑分区,其分区信息则记录在包含它的那个扩展分区地分区 
表中。我将此扩展分区称为这个基本分区的父分区。 
 
当然,所有基本分区(包括基本扩展分区)的父分区就是整个硬盘。 
 
由此可知,每一个扩展分区的结构和一个独立的硬盘大体上一样。 
只不过扩展分区的 Boot Record 中没有引导程序。 
 
举个例子: 
 
现有3个逻辑分区,则应该共有三个扩展分区。第一个扩展分区即 
基本扩展分区,其信息存放在硬盘主分区表中,其大小是三个逻辑 
分区的总和。 
第一个逻辑分区的分区信息则存放在基本扩展分区的第一个扇区中 
(也就是基本扩展分区自己的分区表中)。第二个扩展分区的分区 
信息同样存放在基本扩展分区的分区表中。 
 
这样,基本扩展分区的第一个扇区中就保存了两个分区的信息,第一 
个是它的子分区(第一个逻辑分区),第二个是下一个扩展分区 
(也就是第二个逻辑分区的父分区)。 
 
依此类推,第二个扩展分区的分区表中也存放了两个分区的信息,第一 
个是它的子分区(第二个逻辑分区),第二个是下一个扩展分区 
(第三个逻辑分区的父分区)。但与基本扩展分区不同的是,第二个 
扩展分区的空间不包含后续扩展分区,也就是说他的容量与他的 
子分区相同(近似)。 
 
第三个扩展分区的分区表中则仅有一个分区的信息,即他的子分区 
(第三个逻辑分区)。 
 
扩展分区内分区信息的具体记录问题我以后会讲到。 
 
 
【 在 firestone (一天到晚落网的鱼) 的大作中提到: 】 
      阅读了您的专题(1),有几点想法不知道正确否,请指教. 
    首先,从您的文章中得知,在主分区中,实际上只能存在一个扩展分区,也就是您文章中 
   提到的基本扩展分区.它的大小是硬盘中所有逻辑盘(物理空间必须连续),即所有扩展分 
   区大小的总和.因此在主分区中,pdt中基本扩展分区的数据项是对应与所有扩展分区所 
   组成的硬盘空间来记录.换个角度来看,就好象所有的扩展分区组成了一个大的分区. 
     其次,硬盘空间中是允许有多与一个的扩展分区(实际存放数据的应该是每个扩展分区 
   对应的逻辑盘).但扩展分区的空间(即逻辑盘的空间)必须连续分配. 
     不过我还有点疑问先请教.在主分区中仅是面向所有扩展分区组成的物理空间进行 
   记录.那么扩展分区之间的关系,是以什么样的格式,记录在硬盘的哪个地方呢?仅 
   是在第一个扩展分区的第一个扇区呢?还是在每个扩展分区的第一个扇区都有记录呢? 
   具体的格式是怎样的呢?多多打搅了..:)) 
 
 
-- 
※ 修改:·suzhe 於 Nov 22 18:25:44 修改本文·[FROM: nts.Phys.Tsingh] 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: nts.Phys.Tsingh] 

BBS水木清华站∶精华区