MBR和分区表(DPT)的区别与联系

发布时间:2011-09-25 01:54:01   来源:文档文库   
字号:

MBR和分区表(DPT)的区别与联系

MBR和分区表(DPT)的区别与联系

.       什么是MBR和主引导引导扇区?什么是主分区、扩展分区、逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。网上虽然不少解释,但很多是模棱两可甚至是错误的,反而越弄越糊涂。 猫猫 煞费苦心的把这一大串概念研究了很长时间,试图搞明白,为了以后查阅方便,于是把对这些概念的理解总结了一下。而要想分清这些概念,真要费一点脑筋啊!

一、MBR 主引导扇区

首先简要介绍MBR和主引导扇区的关系。 主引导扇区 是硬盘0号柱面,0号磁头的第一个扇区,大小为512字节。(注:硬盘可以用柱面、磁头和扇区定位)

MBR,占用主引导扇区的前446字节,紧随其后的64字节是 分区表DPT 最后还剩两个字节则恒为55AA,表示结束符号。MBR和分区表,一般都是存在0号磁头的第一个扇区上。应该说0号磁头的第一个扇区包含MBR和分区表,而不应该是MBR包含分区表。

(下图,演示了它们的位置关系)

然后,具体说一说MBR和分区表。 MBR ,全称为Master Boot Record,即硬盘的主引导记录。MBR,共446字节,一般在操作系统安装时写入,但它并不属于操作系统。MBR就是一段引导程序,用于检测磁盘的分区合法性和加载操作系统,它的重要作用就是识别活动分区,并引导操作系统。

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

计算机开机后BIOS加电自检,一切正常后,找到第一个启动设备(一般就是硬盘),然后从这个启动设备的主引导扇区读取MBRMBR这段引导程序识别活动分区,引导操作系统。

二、 主分区、扩展分区、逻辑分区

        正如前面所讲, 主分区 是由主引导扇区中64字节的分区表所定义的,最多只能有4个。但为了满足更多分区的需求,变产生了 扩展分区 。形式上,如果拥有扩展分区,就必须牺牲一个主分区,而且最多有一个扩展分区,也就是说: 主分区+扩展分区<=4 and 扩展分区<=1 。因此扩展分区也可以看成一种特殊的主分区。

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

        扩展分区中的逻辑分区是以链式存在的。即每一个逻辑分区都记录着下一个逻辑分区的位置信息,依次串联。事实上每一个逻辑分区都有一个和主引导扇区类 似的引导扇区,引导扇区里有类似的分区表。该分区表记录了该分区的信息和一个指针,指向下一个逻辑分区的引导扇区。

        因此,逻辑分区是借鉴了主分区的方法,相当于在一个主分区下面建立了若干级“主分区”。从上面的描述, 猫猫 推测,逻辑分区是建立在操作系统级别,由操作系统识别的。另一个可以预测的现象是:一旦某一个逻辑分区损害,跟在它后面的所有逻辑分区都将丢失,而前面的逻辑分区去可以保留。这也是链式结果的特点。

三、 动分区 、系统分区、启动分区、 引导分区

        这四个术语和前面三个不同,前面三个是讲述分区的“ 物理 ”形成。而这四个术语描述了分区的 功能 ,并且更易混淆。

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

系统分区和启动分区比较 这是两个极易混淆的概念,因为两者的含义似乎和它们的名字正好颠倒了。Windows帮助文件的术语表里是这样解释他们的:” 系统分区 ,包含加载 Windows(例如,NtldrOsloaderBoot.iniNtdetect.com)所需的硬件特定文件的分区。系统分区可以(但不是必须)与启动分区相同。 启动分区 ,包含 Windows 操作系统及其支持文件的分区。启动分区可以(但不是必须)与系统分区相同。“

        看起来是很糊涂,但说的简单些就是:系统分区包含NtldrOsloaderBoot.iniNtdetect.com等文件,而启动分区包含Windowssystem32文件。所以, 真正包含操作系统内核文件的分区是启动分区,包含操作系统引导文件的确实系统分区 ,这是要特别注意的一点。

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

         其实系统分区时针对引导来说的,而启动分区时针对操作系统来说的。 像我的电脑C盘先安装 Vista,后来D盘安装了XP,现在C盘是系统分区;至于哪个是启动分区,就要看我用那个系统了,进VistaC盘就是启动分区,进XPD盘就是 启动分区。(再强调,启动分区包含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的新式引导方式,恢复xpboot.ini式引导方式(此时,C Vista已无法引导),发现分别修改C盘和D盘的boot.ini,只有C盘的boot.ini才有效。再次印证了我的假设。

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

Powered by 无名小鬼 wumingxiaogui.blog.163.com

本文来源:https://www.2haoxitong.net/k/doc/c2d0f88202d276a200292ee3.html

《MBR和分区表(DPT)的区别与联系.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式