DOS的硬盘分区管理

Author: 山东 陈树友 Date: 1995-03-31

        早期的DOS版本,只能产生两个DOS可以使用的分区,它们分别是DOS基本分区和DOS扩展分区。也就是说,如果硬盘上没有其他的操作系统,整个硬盘最多只能划分成两个分区使用。这对小容量的硬盘来说是可以的,但对于大容量的硬盘,如果只划分成两个分区,则分区尺寸势必过大。由于DOS只能管理约32M字节的硬盘或分区,过大的分区不但浪费,而且不利于硬盘数据的保护和管理。
        新的DOS版本(以DOS5.0为例)增强了系统和FDISK管理硬盘分区的能力,允许用户产生多达24个硬盘分区。这对于多人共同使用一台计算机的用户来说,无疑是一件好事。细心的用户也许会发现,虽然DOS允许产生多个分区,但硬盘的主分区表中仍然只有四个分区表项,那么DOS是怎样对多达24个分区进行管理的呢?
        DOS将基本分区作为C盘,而其他的分区都作为扩展分区的一部分,其逻辑驱动器符号分别为D~Z。主分区表的扩展分区表项中只登记第一个分区的信息,而在以后各分区的分区表中,除存储本分区的分区信息外,还存储下一个分区的分区信息,从而组成一个分区链,链首在主分区表的扩展分区表项中。DOS在初始化时就是通过这个链取得各分区参数的。
        各分区的结构为:保留扇区 FAT表  FAT表  目录区   数据区
        其中,保留扇区为17个扇区。除第一扇区用来存储分区表外,其余的第2~17扇区未用。分区表具有同主分区表相同的格式和偏移地址(详见DOS手册)。分区表共有两个表项,分别表示本分区和下一个分区的起止柱面号、磁头号、扇区号、扇区总数以及分区前的扇区总数等重要的分区信息。但对于最后一个分区来说,分区表中只有当前分区一个表项。值得注意的是,分区前的扇区总数是以扩展分区的第1个扇区为起点计算的。
        根据DOS的分区原理,用户可以修改分区表,自动改变分区尺寸和产生分区。用这种方法对硬盘重新分区可以不破坏原来的内容,但操作时一定要保证参数的正确性,以防数据错位。
        