主分区/扩展分区/逻辑分区MBR和DBR

从网上整理的知识,在这里汇总一下,具体的来源网页恕不写出。


MBR(master boot record)
即主引导记录,有时也称主引导扇区。位于整个硬盘的 0 扇区(硬盘的 0~62 即前 63 个扇区为保留扇区,目前只有 MBR 占用其中的第一个或前几个扇区),可以看作是硬盘的第一个扇区,通常只占用这一个扇区,如 XP 的 MBR,grub4dos占用 0~17 共 18 个扇区

DBR(DOS boot record)
即操作系统引导记录区,也称分区的主启动代码,位于分区的第 0 扇区,通常只占用这一个扇区,特殊情况也要占用其它保留扇区,而 grub4dos 如果是写入硬盘 MBR 方式则不修改也不使用 DBR

结构

MBR( Master Boot Record )主引导记录包含两部分的内容,前446字节为启动代码及数据,而
从446(0x1BE)开始则是分区表,分区表由四个分区项组成,每个分区项数据为16字节,记录了
启动时需要的分区参数。

DBR扇区的结构
经由FORMAT高级格式化写到该扇区的内容为称为DOS的引导记录(DBR),其主要功能是完成DOS系统的自举。
以FAT16的硬盘DBR为例,它由以下5个部分组成:

·跳转指令。占用3个字节的跳转指令将跳至引导代码,其内容随DOS版本而变化。

·厂商标识和DOS版本号。该部分总共占用8个字节,其内容随DOS的版本而不同。·BPB(BIOS Parameter Block,BIOS参数块)。BPB从第12(0BH)字节起占用19个字节,各字节内容及地址分配如上面图表所示。在该部分记录了磁盘的扇区字节数、磁头数等重要信息。该部分的内容随磁盘类型的不同而不一样。
·DOS引导程序。DOS引导程序即占用480字节的BOOT代码,负责完成DOS的3个系统文件的装入工作。这部分内容随DOS版本不同而变化。
·结束标志字。结束标志占用2个字节,其值为AA55。
以上5个部分共占用512个字节,也正好是一个扇区,因此称它为DOS引导扇区或BOOT区。在该区间的内容中,除了第5部分结束标志字是固定不变之外,其余4个部分都是不确定的。第1、2、4部分都因DOS版本的不同而不同,第3部分BPB信息的内容也将随DOS的版本及时间的变化而变化。



硬盘分区表(DPT)项结构(16字节)
====================================================================================
01     typedef struct _PARTITION_ENTRY
02     {
03       UCHAR BootIndicator  // 活动标志,00表示非活动分区;80表示活动分区;其他为无效分区
04       UCHAR StartHead   // 该分区起始磁头号
05       UCHAR StartSector  // 起始柱面号高2位:6位起始扇区号
06       UCHAR StartCylinder  // 起始柱面号低8位
07       UCHAR PartitionType  // 分区类型
08       UCHAR EndHead   // 该分区终止磁头号
09       UCHAR EndSector   // 终止柱面号高2位:6位终止扇区号
10       UCHAR EndCylinder  // 终止柱面号低8位
11       ULONG StartLBA   // 起始扇区号
12       ULONG TotalSector  // 分区尺寸(总扇区数)
13     }PARTITION_ENTRY,*PPARTITION_ENTRY
DPT 总共64字节(01BE--01FD), 如上所示每个分区占16个字节, 所以可以表示四个分区, 这也就是为什么一个磁盘的主分区和扩展分区之和总共只能有四个的原因.

MBR分区结构
================
  000H--08AH MBR启动程序(寻找开机分区)
  08BH--0D9H MBR启动字符串
  0DAH--1BCH 保留( "0 ")
  0x1BE(446)--1FDH 硬盘分区表
  1FEH--1FFH 结束标志(55AA)


启动

在CPU上电之后,若由硬盘启动,则BIOS将硬盘的主引导记录(位于0柱面、0磁道、1扇区)读
入7C00处,然后将控制权交给主引导代码。主引导代码的任务包括:
(1) 在主分区表中搜索标志为活动的分区. 如果发现没有活动分区或有不止一个活动分区, 则转停止. 
(2)将活动分区的第一个扇区读入内存地址 0000 : 7C00 处,
(3) 检查(WORD) 0000 : 7DFE是否等于0xAA55,若不等于则显示"Missing Operating System"然后停止,或尝试软盘启动
(4) 将控制权交给引导扇区代码
启动程序,之后MBR将cpu控制权交给DBR,所以DBR的第1个扇区的前3个字节必须对应x86的跳转指令”E8 58 90”,该指令负责跳过接下来的几个不可执行的字节(BPB和扩展BPB),跳到操作系统引导代码部分。
DBR位于当前分区的起始扇区,比如c盘的第1个起始扇区地址,就是c盘对应的DRB区,

主分区/扩展分区/逻辑分区

主分区 中不能再划分其他类型的分区,因此每个主分区都相当于一个 逻辑磁盘
1.扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分区的一部分。
 2.一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。  
3.主分区和扩展分区的信息位于MBR硬盘分区表(DPT)中, 而逻辑驱动器的信息则位于扩展分区的起始扇区。
3. 分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,剩下的部分就浪费了。
4. 由主分区和逻辑分区构成的 逻辑磁盘 称为 驱动器(Drive) 卷(Volume)
5. 活动分区是在系统加电后具有自举(引导系统)能力的分区,在活动分区上的主引导记录中有一段主引导程序,每当系统启动后,这段程序被调入内存运行,以引导(启动)保存在硬盘上的操作系统。

自己的总结:

1.MBR中分区表存储的是主分区和扩展分区的信息,最多存储4个分区的信息。
2.扩展分区没法在”我的电脑“里看到,看到的只是主分区和逻辑分区。
3.扩展分区必须分为逻辑分区才能使用
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
什么是MBR引导引导扇区?什么是分区扩展分区逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。网上虽然不少解释,但很多是模棱两可甚至是错误的,反而越弄越糊涂。猫猫煞费苦心的把这一大串概念研究了很长时间,试图搞明白,为了以后查阅方便,于是把对这些概念的理解总结了一下。而要想分清这些概念,真要费一点脑筋啊! 一、MBR引导扇区 首先简要介绍MBR引导扇区的关系。 引导扇区是硬盘0号柱面,0号磁头的第一个扇区,大小为512字节。(注:硬盘可以用柱面、磁头和扇区定位) MBR,占用引导扇区的前446字节,紧随其后的64字节是分区表DPT,最后还剩两个字节则恒为55AA,表示结束符号。(下图,演示了它们的位置关系) 然后,具体说一说MBR分区表。 MBR,全称为Master Boot Record,即硬盘的引导记录。MBR,共446字节,一般在操作系统安装时写入,但它并不属于操作系统。MBR就是一段引导程序,用于检测磁盘的分区合法性和加载操作系统,它的重要作用就是识别活动分区,并引导操作系统。 分区表DPT,共64字节,记录了硬盘有多少分区以及分区的各种属性。由于一个分区的信息要占用16字节,所以分区表只能定义4个分区,这就是为什么我们说硬盘一般最多只能分为4个分区(这里说“一般”是对基本磁盘而言,而对于动态磁盘则无此限制,但大部分都在使用基本磁盘,可以暂不考虑 )。 计算机开机后BIOS加电自检,一切正常后,找到第一个启动设备(一般就是硬盘),然后从这个启动设备的引导扇区读取MBRMBR这段引导程序识别活动分区,引导操作系统。 二、分区扩展分区逻辑分区 正如前面所讲,分区是由引导扇区中64字节的分区表所定义的,最多只能有4个。但为了满足更多分区的需求,变产生了扩展分区。形式上,如果拥有扩展分区,就必须牺牲一个分区,而且最多有一个扩展分区,也就是说:分区+扩展分区<=4 and 扩展分区<=1。因此扩展分区也可以看成一种特殊的分区。 但扩展分区并不可以直接使用,扩展分区又必须以逻辑分区的形式出现,可以这样认为:扩展分区包含着若干逻辑分区,而且至少包含一个。 扩展分区中的逻辑分区是以链式存在的。即每一个逻辑分区都记录着下一个逻辑分区的位置信息,依次串联。事实上每一个逻辑分区都有一个和引导扇区类似的引导扇区,引导扇区里有类似的分区表。该分区表记录了该分区的信息和一个指针,指向下一个逻辑分区的引导扇区。 因此,逻辑分区是借鉴了分区的方法,相当于在一个分区下面建立了若干级“分区”。从上面的描述,猫猫推测,逻辑分区是建立在操作系统级别,由操作系统识别的。另一个可以预测的现象是:一旦某一个逻辑分区损害,跟在它后面的所有逻辑分区都将丢失,而前面的逻辑分区去可以保留。这也是链式结果的特点。 三、活动分区、系统分区、启动分区、引导分区 这四个术语和前面三个不同,前面三个是讲述分区的“物理”形成。而这四个术语描述了分区的功能,并且更易混淆。 首先,根据Windows XP随机帮助文档看,引导分区就是启动分区,两者是同一概念,所以下面就只讨论活动分区、系统分区和启动分区。 系统分区和启动分区比较。 这是两个极易混淆的概念,因为两者的含义似乎和它们的名字正好颠倒了。Windows帮助文件的术语表里是这样解释他们的:”系统分区,包含加载 Windows(例如,Ntldr、Osloader、Boot.ini、Ntdetect.com)所需的硬件特定文件的分区。系统分区可以(但不是必须)与启动分区相同。启动分区,包含 Windows 操作系统及其支持文件的分区。启动分区可以(但不是必须)与系统分区相同。“ 看起来是很糊涂,但说的简单些就是:系统分区包含Ntldr、Osloader、Boot.ini、Ntdetect.com等文件,而启动分区包含Windows和system32文件。所以,真正包含操作系统内核文件的分区是启动分区,包含操作系统引导文件的确实系统分区,这是要特别注意的一点。 有些人就疑问了,我的Ntldr、Osloader、Boot.ini、Ntdetect.com和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才有效。再次印证了我的假设。 另外,如果两个系统都安装在分区,则可以通过标记各自的安装分区为活动分区,而启动不同的操作系统。 参考资料: Linux引导过程内幕:http://www.ibm.com/developerworks/cn/linux/l-linuxboot/ 维基百科-引导扇区:http://zh.wikipedia.org/wiki/%E4%B8%BB%E5%BC%95%E5%AF%BC%E6%89%87%E5%8C%BA 硬盘引导记录详解(汇编代码详解):http://www.cnblogs.com/woodfish1988/archive/2007/11/25/971482.html Windows XP随机帮助文档(Windows帮助文档是一个很好的东西,有些人优化系统竟然把它删了,真是太不应该了。 呵呵,本文地址,猫猫的园地:http://blog.mm-share.cn/post/Partition-Comparison.html 写了这么多,希望对大家有所帮助。若有不足之处,望方家指正!另外,还有基本磁盘、动态磁盘,卷和分区的区别等待问题,还要进一步研究。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值