求真百科欢迎当事人提供第一手真实资料,洗刷冤屈,终结网路霸凌。

扩展分区查看源代码讨论查看历史

事实揭露 揭密真相
跳转至: 导航搜索

扩展分区是硬盘磁盘分区的一种。MBR下的硬盘分区有三种,主磁盘分区扩展磁盘分区逻辑分区

基本概念

所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。[1]

而扩展分区的概念是比较复杂的,极容易造成硬盘分区与逻辑磁盘混淆;分区表的第四个字节为分区类型值,正常的可引导的大于32mb的基本DOS分区值为06,扩展的DOS分区值是05。如果把基本DOS分区类型改为05则无法启动系统 ,并且不能读写其中的数据。

如果把06改为DOS不识别的类型如efh,则DOS认为该分区不是DOS分区,当然无法读写。很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。

在windows下激活的主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区,正常分的话就是C区。在linux下主分区和逻辑分区都可以用来放系统,引导os开机,grub会兼容windows系统开机启动。

分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。

但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。 在linux中第一块硬盘分区为hda分区,主分区编号为hda1-4,逻辑分区从5开始。

硬盘的容量=主分区的容量+扩展分区的容量

扩展分区的容量=各个逻辑分区的容量之和

主分区也可成为“引导分区”,会被操作系统和主板认定为这个硬盘的第一个分区。所以C盘永远都是排在所有磁盘分区的第一的位置上。

MBR(主引导记录)的分区表(主分区表)只能存放4个分区,如果要分更多的分区的话就要一个扩展分区表(EBR),扩展分区表放在一个系统ID为0x05的主分区上,这个主分区就是扩展分区,扩展分区能可以分若干个分区,每个分区都是个逻辑分区。

分区区分

DOS和FAT文件系统最初都被设计成可以支持在一块硬盘上最多建立24个分区,分别使用从C到Z 24个驱动器盘符。但是主引导记录中的分区表最多只能包含4个分区记录,为了有效地解决这个问题,DOS的分区命令FDISK允许用户创建一个扩展分区,并且在扩展分区内再建立最多23个逻辑分区,其中的每个分区都单独分配一个盘符,可以被计算机作为独立的物理设备使用。关于逻辑分区的信息都被保存在扩展分区内,而主分区和扩展分区的信息被保存在硬盘的MBR内。这也就是说无论硬盘有多少个分区,其主启动记录中只包含主分区(也就是启动分区)和扩展分区两个分区的信息。


实战扩展swap分区

参考文献

  1. [刘伟.数据恢复深度揭秘.北京:电子工业出版社,2010]