MBR、主引导扇区,主分区、扩展分区、逻辑分区,活动分区、引导分区、系统分区、启动分区的区别详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MBR、主引导扇区,主分区、扩展分区、逻辑分区,活动分区、引导分区、系统分区、启动分区的区别详解
什么是MBR和主引导引导扇区?什么是主分区、扩展分区、逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。

网上虽然不少解释,但很多是模棱两可甚至是错误的,反而越弄越糊涂。

煞费苦心的把这一大串概念研究了很长时间,试图搞明白,为了以后查阅方便,于是把对这些概念的理解总结了一下。

而要想分清这些概念,真要费一点脑筋啊!
一、MBR和主引导扇区
首先简要介绍MBR和主引导扇区的关系。

主引导扇区是硬盘0号柱面,0号磁头的第一个扇区,大小为512字节。

(注:硬盘可以用柱面、磁头和扇区定位)
MBR,占用主引导扇区的前446字节,紧随其后的64字节是分区表DPT(Disk Partition Table),最后还剩两个字节则恒为55AA,表示结束符号。

(下图,演示了它们的位置关系)
然后,具体说说MBR和分区表。

MBR,全称为Master Boot Record,即硬盘的主引导记录。

MBR,共446字节,一般在操作系统安装时写入,但它并不属于操作系统。

MBR就是一段引导程序,用于检测磁盘的分区合法性和加载操作系统,它的重要作用就是识别活动分区,并引导操作系统。

分区表DPT,全称为Disk Partition Table,共64字节,记录了硬盘有多少分区以及分区的各种属性。

由于一个分区的信息要占用16字节,所以分区表只能定义4个分区,这就是为什么我们说硬盘一般最多只能分为4个主分区(这里说“一般”是对基本磁盘而言,而对于动态磁盘则无此限制,但大部分都在使用基本磁盘,可以暂不考虑)。

分区表的16个字节意义如下:
计算机开机后BIOS加电自检,一切正常后,找到第一个启动设备(一般就是硬盘),然后从这个启动设备的主引导扇区读取MBR。

MBR这段引导程序识别活动分区,引导操作系统。

二、主分区、扩展分区、逻辑分区
正如前面所讲,主分区是由主引导扇区中64字节的分区表所定义的,最多只能有4个。

但为了满足更多分区的需求,便产生了扩展分区。

形式上,如果拥有扩展分区,就必须牺牲一个主分区,而且最多有一个扩展分区,也就是说:主分区+扩展分区<=4 并且扩展分区<=1。

因此扩展分区也可以看成一种特殊的主分区。

但扩展分区并不可以直接使用,扩展分区又必须以逻辑分区的形式出现,可以这样认为:扩展分区包含着若干逻辑分区,而且至少包含一个。

扩展分区中的逻辑分区是以链式存在的。

即每一个逻辑分区都记录着下一个逻辑分区的位置信息,依次串联。

事实上每一个逻辑分区都有一个和主引导扇区类似的引导扇区,引导扇区里有类似的分区表。

该分区表记录了该分区的信息和一个指针,指向下一个逻辑分区的引导扇区。

因此,逻辑分区是借鉴了主分区的方法,相当于在一个主分区下面建立了若干级“主分区”。

从上面的描述,猫猫推测,逻辑分区是建立在操作系统级别,由操作系统识别的。

另一个可以预测的现象是:一旦某一个逻辑分区损害,跟在它后面的所有逻辑分区都将丢失,而前面的逻辑分区去可以保留。

这也是链式结果的特点。

三、活动分区、系统分区、启动分区、引导分区
这四个术语和前面三个不同,前面三个是讲述分区的“物理”形成。

而这四个术语描述了分区的功能,并且更易混淆。

首先,根据Windows XP随机帮助文档看,引导分区就是启动分区,两者是同一概念,所以下面就只讨论活动分区、系统分区和启动分区。

系统分区和启动分区比较。

这是两个极易混淆的概念,因为两者的含义似乎和它们的名字正好颠倒了。

Windows帮助文件的术语表里是这样解释他们的:”系统分区,包含加载 Windows(例如,Ntldr、Osloader、Boot.ini、)所需的硬件特定文件的分区。

系统分区可以(但不是必须)与启动分区相同。

启动分区,包含 Windows 操作系统及其支持文件的分区。

启动分区可以(但不是必须)与系统分区相同。


看起来是很糊涂,但说的简单些就是:系统分区包含Ntldr、Osloader、Boot.ini、等文件,而启动分区包含Windows和system32文件。

所以,真正包含操作系统内核文件的分区是启动分区,包含操作系统引导文件的却是系统分区,这是要特别注意的一点。

有些人就疑问了,我的Ntldr、Osloader、Boot.ini、和Windows、system32文件都在C盘,那是怎么回事?这很容易解释,你的C盘既是系统分区也是启动分区,只安装一个操作系统的计算机大都属于这种情况,所以微软在括号里说“但不是必须”。

其实系统分区是针对引导来说的,而启动分区是针对操作系统来说的。

像我的电脑C
盘先安装了Vista,后来D盘安装了XP,现在C盘是系统分区;至于哪个是启动分区,就要看我用那个系统了,进Vista,C盘就是启动分区,进XP,D盘就是启动分区。

(再强调,启动分区包含Windows内核文件,而系统分区才包含操作系统引导文件,不然会越看越糊涂的。


最后要搞明白的是活动分区,这一点,比较麻烦。

Windows帮助文档里的定义是:”活动分区,基于 x86 计算机的启动分区。

活动分区必须是基本磁盘上的主要分区。

如果只使用 Windows,则活动分区可以与系统卷相同。

“补充说明有:活动分区必须是主分区,一块硬盘上只可以有一个活动分区。

其他主分区可以被标记为活动分区。

而从主引导扇区处看,活动分区仅仅是在分区表中,16个字节的最前面含有80标志的分区信息所定义的分区。

但猫猫对Windows帮助文档的定义不敢苟同(也许是我错了,但是我思来想去,只有这样可以解释通)。

首先,我们知道活动分区是通过主引导扇区的分区表标记的,所以理论上,每个主分区都可以被标记为活动(只是不当的标记会导致系统无法启动)。

Windows帮助文档说活动分区,是基于x86的计算机的启动分区,那不就是说是Windows文件所在分区。

可是对于双系统来说,这种说法显然不对,因为双系统的启动分区是依据被启动的系统而定的。

所以,我假定微软也把系统分区和启动分区的概念搞混淆了。

所以,结果变为,活动分区是基于x86计算机的系统分区。

换句话说,活动分区是一种系统分区。

在这种情况下,一个主分区是不是系统分区似乎并不具有价值,只有被标记为活动的主分区才有价值。

因为,只有标记为活动分区,这个系统分区的Windows启动支持文件才会被加载,然后通过这些引导存储在启动分区的Windows内核文件,完成Windows的启动。

所以,Windows可以被安装在逻辑分区内(我发现我的电脑就是这样的),但必须在活动分区的启动支持文件里加上对这个逻辑分区里Windows的引导信息。

具体到XP,就是boot.ini文件添加上对双系统的引导,而这个boot,ini文件必须在启动分区。

而我做了一个实验,在XP下面通过启动和故障恢复对话框修改boot.ini文件,发现修改的并非XP所在的分区的boot.ini,而是Vista所在分区的boot.ini。

(我在主分区C盘安装了Vista,逻辑分区D盘安装了XP)。

同时,我通过软件废除Vista的新式引导方式,恢复xp的boot.ini 式引导方式(此时,C盘Vista已无法引导),发现分别修改C盘和D盘的boot.ini,只有C盘的boot.ini才有效。

再次印证了我的假设。

另外,如果两个系统都安装在主分区,则可以通过标记各自的安装分区为活动分区,而启动不同的操作系统。

参考资料:
1.Linux引导过程内幕:
/developerworks/cn/linux/l-linuxboot/
2.维基百科-主引导扇区:
/wiki/%E4%B8%BB%E5%BC%95%E5%AF%BC%E6%89%87%E5%8C%
BA
3.硬盘主引导记录详解(汇编代码详解):
/woodfish1988/archive/2007/11/25/971482.html
4.Windows XP随机帮助文档(Windows帮助文档是一个很好的东西,有些人优化系统
竟然把它删了,真是太不应该了。

5.呵呵,本文地址,猫猫的园地:
/post/Partition-Comparison.html
写了这么多,希望对大家有所帮助。

若有不足之处,望方家指正!另外,还有基本磁盘、动态磁盘,卷和分区的区别等待问题,还要进一步研究。

硬盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。

一个硬盘可以有一个主分区,一个扩展分区,也可以只有一个主分区没有扩展分区。

逻辑分区可以若干。

主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区,正常分的话就是C驱。

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

但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。

他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
主分区也可成为“引导分区”,会被操作系统和主板认定为这个硬盘的第一个分区。

所以C盘永远都是排在所有磁盘分区的第一的位置上。

除去主分区所占用的容量以外,剩下的容量被认定为扩展分区。

通俗的讲就是主分区是硬盘的主人,而扩展分区是这个硬盘上的仆人,主分区和扩展分区为主从关系。

扩展分区如果不再进行分区了,那么扩展分区就是逻辑分区了。

如果还需要进行分区操作的话,则所谓的逻辑分区只能从扩展分区上操作。

就相当于在仆人中(扩展分区上)进行细分类,分成接电话的(D 盘)、扫地的(E盘)、做饭的(F盘)等等。

所以扩展分区和逻辑分区的关系相当于再分类关系。

查看磁盘管理的方法:
右键我的电脑—管理—计算机管理—存储—磁盘管理。

磁盘管理图:
硬盘只能有四个分区的原因:
MBR(Master Boot Recorder)主要开机扇区,放置硬盘的信息。

MBR 可以说是整个硬盘最重要的地方了,因为在MBR 里面记录了两个重要的东西,分别是:开机管理程序,与磁盘分区表( partition table )。

所以我们所做的硬盘分区,也就是在修改partition table。

由于这个MBR 区块的容量有限,所以,当初设计的时候,就只有设计成 4 个分区纪录(这个说法不太准确,下文有详细说明),这些分区记录就被称为Primary ( 主分区) 及Extended ( 扩展分区) ,也就是说,一个硬盘最多可以有 4 个Primary + Extended 的扇区,其中,Extended 只能有一个,因此,你如果要分区成四块磁盘分区的话,那么最多就是可以:
P +P +P +P
P +P +P +E
这两种情况来分区了。

需要特别留意的是,在上面的情况中,3P +E 只有三个『可用』的磁盘,如果要四个都『可用』,就得分区成4P 了!( 因为Extended 不能直接被使用,还需要分区成Logical 才行) 思考一:如果我要将我的大硬盘暂时分区成四个partition ,同时,还有其它的空间可以让我在未来的时候进行规划,那么该如何分区?由刚刚的说明,我们可以知道,Primary + Extended 最多只能有四个partition,而如果要超过 5 个partition 的话,那么就需要Extended 的帮忙。

因此,在这个例子中,我们千万不能分区成四个
Primary ,为什么呢?假如您是一个20 GB 的硬盘,而 4 个primary 共用去了15 GB ,您心想还有5 GB 可以利用对吧?错!剩下的 5 GB 完全不能使用,这是因为已经没有多余的partition table 纪录区可以记录了,因此也就无法进行额外的分区,当然啰,空间也就被浪费掉了!因此,请千万注意,如果您要分区超过 4 个以上时,请记得一定要有Extended 分区,而且必须将所有剩下的空间都分配给Extended ,然后再以logical 的分区来规划Extended 的空间。

思考二:我可不可以仅分区 1 个Primary 与 1 个Extended 呢?
当然可以!基本上,Logical 可以有64 个,因此,你可以仅分成一个主分区和一个扩展分区,并且将所有其它的分区都给Extended ,利用Logical 分区来进行其它的partition 规划即可!思考三:假如我的硬盘安装在IDE 1 的Master ,并且我想要分区成 6 个可以使用的硬盘扇区,那么每个磁盘在Linux 底下的代号为何?
说明:由于硬盘在Primary +Extended 最多可以有四个,因此,在Linux 底下,已经将partition table 1 ~ 4 先留下来了,如果只用了 2 个P + E 的话,那么将会空出两个partition number 呦!再详细的说明一下,假设我将四个P + E 都用完了。

其中Extended /dev/hda4包括三个逻辑分区。

实际可以使用的是/dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5,
/dev/hda6, /dev/hda7 这六个partition!至于/dev/hda4 这个Extended 扇区本身仅是用来规划出让Logical 可以利用的磁盘空间而已!
那么万一我只想要分区 1 个Primary 与 1 个Extended 呢?
因为1~4 号已经被预留下来了,所以第一个Logical 的代号由 5 号开始计算起来,而后面在被规划的,就以累加的方式增加磁盘代号啰!而其中/dev/hda3, /dev/hda4 则是空的,被保留下来的代号。

这个问题,结合历史来说会说得比较准确。

为什么最多只可以分四个主要分区,并不是单由操作系统所决定的。

第一,为什么一个扇区只有512字节,为什么不是1024字节呢?首先,我想说一个扇区是多少字节是可以自己(硬盘生产厂家)定义的,可以是1024字节的。

所以说,一个扇区是512字节并不是理论值,而是习惯值。

也就是一个扇区的大小为512字节对于硬盘的生产厂家来说都是习惯的这样定义了,谁也不想更改这种习惯。

第二,硬盘的第一扇区可以分成三个部分:第一部分MBR,需要占用446字节,第二部分DPT,需要占用64字节,这是因为一个分区表需要占用16字节,64/16=4,所以刚好能存放四个分区的表,这就是为什么只能分四个分区。

还有两个字节就用来存放结束标志。

这样
446+64+2=512字节。

对硬盘加密其实就是改写最后两个字节的结束标志。

试想如果当初硬盘厂家将一个扇区设置成1024字节,还是只能分四个分区吗?逻辑驱动器也需要分区表,它存放在扩展分区的第一扇区,所以逻辑驱动器也不是随便想分多少就分多少的。

思考四:安装双系统必须要有两个活动分区吗?
只有主分区才可以设为活动分区,所以最多有三个分区可以作为活动分区,但不能同时并存,即三个分区中只能设一个活动分区。

如果通过硬盘安装,不改变活动分区,启动文件就保存在当前的活动分区上,如果安装完成后再改变活动分区,会导致系统无法启动;如果改变活动分区后硬盘安装,启动文件就保存在新设的活动分区上,重启后会通过新的活动分区启动计算机,这样原有的系统就无法正常切换,这时要想在不同的系统间切换需要先进入系统或通过PE启动切换活动分区后重启才能进入原来的系统,要想进入新装的系统就需要再次切换活动分区;如果改变活动分区后在光盘安装,盘符就会发生混乱,活动分区为默认的C盘。

一般的多系统,其实也只有一个活动分区,所有系统的启动文件都保存在活动分区上,开机后进入启动管理,引导用户进入不同的系统。

所以只要有一个活动分区就够用了,其他的都可以作为扩展分区存在。

相关文档
最新文档