无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 20032|回复: 47
打印 上一主题 下一主题

[解决] 引导扇区、启动扇区与mbr的区别与联系

[复制链接]
跳转到指定楼层
1#
发表于 2009-9-25 07:44:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引导扇区、启动扇区与mbr的区别与联系?

[ 本帖最后由 wwmy1982 于 2009-9-28 07:04 编辑 ]
2#
发表于 2009-9-25 11:46:24 | 只看该作者
拿硬盘系统启动来讲,计算机引导有四个阶段,首先是BIOS引导阶段,BIOS自检结束后,会检查MBR(硬盘主引导扇)的合法性,合法就装入MBR,并将引导的控制权交给装入内存的硬盘MBR引导代码,由MBR引导代码继续进行引导,这是引导的第二阶段,MBR引导代码要完成对分区表合法性的检查,并找到活动分区表项,将活动分区的DBR(操作系统引导扇)装入内存,然后将引导控制权移交给DBR引导代码,至此计算机引导进入第三阶段,DBR引导代码主要根据DBR中的BPB表定义的文件系统格式参数,来访问和搜索操作系统的启动文件,对于windows XP系统,就是查找到NTLDR,并将NTLDR装入内存,再把引导控制权移交给NTLDR,第四阶段的引导就开始了,这时才是真正的操作系统引导过程的开始。LZ的问题比较模糊,我就没顺着提问的顺序回复,说的也不一定对,请高手斧正。
回复

使用道具 举报

3#
发表于 2009-9-25 15:04:44 | 只看该作者
我觉得楼主的问题,首要需要解决的是,楼主是否理解这三个概念分别代表什么意思?

在我看来,如果你理解了概念,自然就很容易的分清其区别和联系,如果连概念也分不清,又何谈区别和联系呢。说白了,你要搞清楚老虎和猫的区别和联系,你得首先搞清楚什么样的叫猫,什么样的叫老虎。这比喻可能不恰当,请高手斧正。
回复

使用道具 举报

4#
发表于 2009-9-25 15:09:11 | 只看该作者
这是个学术问题,LZ总结的不错,它们确实是既有区别又有联系。

[ 本帖最后由 holts 于 2009-9-25 15:10 编辑 ]
回复

使用道具 举报

5#
发表于 2009-9-26 08:47:55 | 只看该作者
蛙哥讲的很不错.  我现在也分不清楚 引导扇区、启动扇区到底是不是一回事.
MBR是主引导记录,位于整个硬盘的逻辑0扇区,我们知道每个扇区是512字节,在0扇区前446个字节是引导程序,后面的64字节是分区表,最后面两个字节取值55 AA,作为分区表有效标志.

据我的理解,引导扇区指的是DBR扇区,也就是文件系统开始的0号扇区,在文件系统的0号扇区,除了描述文件系统相关参数(比如每扇区字节数,每簇扇区数,FAT表的大小,FAT表的个数等),也就是BPB参数块,其余的就是引导代码了.  

我现在学习的东西有限,不对的地方,请大家指正.
回复

使用道具 举报

6#
发表于 2009-9-26 12:13:07 | 只看该作者
引导扇区、启动扇区这种中文译名本身就很笼统, mbr BPB 的概念是清晰的

主引导扇区、 主引导程序; 某分区引导扇区 、某分区引导程序; 主分区表 、 某分区分区表 这样说我觉得就清楚了。
按微软的原来习惯,引导程序和分区表一共占用一个扇区,当然现在可能变了。

看看这篇文章    FAT文件系统原理.rar (254.55 KB, 下载次数: 874)

[ 本帖最后由 wwwzhx 于 2009-9-26 12:17 编辑 ]
回复

使用道具 举报

7#
发表于 2009-9-26 13:08:29 | 只看该作者
严格讲,引导和启动是有区别的,我认为,只要不是操作系统启动文件的启动过程,应该称为引导过程,因为这些过程所做的,都是为操作系统启动而做的牵引过程,这些过程实际上是没有操作系统属性的,因此也谈不上启动哪个操作系统,只有当操作系统初始启动文件开始执行,操作系统的引导过程才算结束,而操作系统的启动就正式开始了,我前面讲的四个阶段,前三个阶段都可以说是属于引导过程,只有当NTLDR开始运行,操作系统的启动才算真正开始,这个阶段才应该叫启动过程。
回复

使用道具 举报

8#
发表于 2009-9-26 14:50:31 | 只看该作者
原帖由 lvyanan 于 2009-9-26 13:08 发表
严格讲,引导和启动是有区别的,我认为,只要不是操作系统启动文件的启动过程,应该称为引导过程,因为这些过程所做的,都是为操作系统启动而做的牵引过程,这些过程实际上是没有操作系统属性的,因此也谈不上启 ...

受益匪浅,比较赞同蛙哥的见解.

在这儿提个问题,向蛙哥请教.

我们在DOS下面使用SYS命令时,SYS命令做了哪些操作???  我指的是除了拷贝文件的过程,做了哪些操作. 我的想法是,SYS命令修改的是文件系统的0号扇区,也就是DBR扇区.  可是它都修改了哪些地方呢???  是不是要修改BPB参数块中的某些字节??   还有就是是不是会写引导代码??

在XP的命令恢复控制台下,使用FIXBOOT命令,刷新的是不是也是DBR??  都修改了哪些地方???  会不会修改BPB???

FIXMBR命令是不是只会重写主引导程序???
回复

使用道具 举报

9#
发表于 2009-9-27 07:08:20 | 只看该作者
真要想这么仔细的进行分析的话,

最好建一个虚拟机,分好区,将0扇区 C盘引导扇区的引导程序全填0,

只保留分区表,然后从ISO里的DOS启动盘启动,再执行SYS命令,

或从PE启动,再FIXBOOT,

然后用winhex查看扇区是否改写。
回复

使用道具 举报

10#
发表于 2009-9-27 08:26:14 | 只看该作者
就本人理解,我看不出引导与启动有什么区别,在英文来说,都是一个boot而已,这只是同一个词的不同翻译方法。你可以说“启动操作系统”,也同样可以说成“引导操作系统”,用英文就是boot ... OS。

点评

你说的对,楼主提这个问题是因为没搞清楚 引导扇区和启动扇区. 如果只论 MBR 和BOOT SECTOR 的话 那这个问题很简单  发表于 2014-12-27 17:11
回复

使用道具 举报

11#
发表于 2009-9-27 21:02:59 | 只看该作者
引导过程与操作系统无关. 启动过程就是操作系统对自我的初始化

               A操作系统-----------------鼠标操作
               |               (启动过程)
电源-----bios---MBR
   ( 引导过程)    |
                      XXX
引导是通过BIOS固件完成,通过加载mbr也就是引导扇区,从而激活操作系统
我是这样理解的   :)
回复

使用道具 举报

12#
发表于 2009-9-27 21:03:58 | 只看该作者
排版问题  - -"
MBR 指定操作系统
回复

使用道具 举报

13#
 楼主| 发表于 2009-9-28 07:03:20 | 只看该作者
什么是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加电自检,一切正常后,找到第一个启动设备(一般就是硬盘),然后从这个启动设备的主引导扇区读取MBR。MBR这段引导程序识别活动分区,引导操作系统。

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

        正如前面所讲,主分区是由主引导扇区中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才有效。再次印证了我的假设。

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

使用道具 举报

14#
发表于 2009-9-28 07:15:21 | 只看该作者
如果是WinXP、WinPE等操作系统,在没有活动分区标志的情况下,只要引导程序能装入该分区的DBR,Windows操作系统就能启动,也就是说,活动分区标志的检查和识别,是在主引导代码执行过程中的行为,过了这一阶段,对于Windows操作系统就不存在依赖活动分区的问题了,DOS系统则不然,DOS在启动中,会重新识别活动分区标志的。
回复

使用道具 举报

15#
发表于 2009-9-30 12:51:00 | 只看该作者
有些规定是历史条件局限或人为规定造成的,一开始设计成什么样子,大家只好遵守,否则自绝于人民。

比如只允许有一个标记为80的活动分区,这就是微软当初的设计 416字节的引导程序限制了功能够用就行,

其实属于编程不完善,容错性不好,可是微软是事实标准,大家只好顺从。
回复

使用道具 举报

16#
发表于 2009-10-27 11:39:27 | 只看该作者
原帖由 wwmy1982 于 2009-9-28 07:03 发表
什么是MBR和主引导引导扇区?什么是主分区、扩展分区、逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。网上虽然不少解释,但很多是模 ...


说得很详细,谢谢了
回复

使用道具 举报

17#
发表于 2009-10-28 11:56:12 | 只看该作者
很好,应该有多些这样的学术讨论
回复

使用道具 举报

18#
发表于 2009-10-28 12:17:29 | 只看该作者
这个很想知道。。。。
回复

使用道具 举报

19#
发表于 2009-11-29 19:43:00 | 只看该作者
原帖由 wwmy1982 于 2009-9-28 07:03 发表
什么是MBR和主引导引导扇区?什么是主分区、扩展分区、逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。网上虽然不少解释,但很多是模 ...

介绍的很详细啦。
回复

使用道具 举报

20#
发表于 2009-11-29 19:54:35 | 只看该作者
刚联想知识库找到的资料 感觉应该对LZ 有用 还一个 500KB 的 因为我权限不够无法上传  没办法

Windows xp 与 Windows vista启动区别.rar

53.31 KB, 下载次数: 367, 下载积分: 无忧币 -2

回复

使用道具 举报

21#
发表于 2009-11-29 20:07:55 | 只看该作者
恩  说的不错  二楼的说的很有道理
回复

使用道具 举报

22#
发表于 2009-11-30 11:18:20 | 只看该作者
感谢教程分享,这是新手学习的宝贵经验,各位老师的学术很精彩,谢谢
回复

使用道具 举报

23#
发表于 2010-1-28 13:56:58 | 只看该作者
受益匪浅~~~

3Q
回复

使用道具 举报

24#
发表于 2010-1-28 14:45:20 | 只看该作者
既然被挖坟了,那我再请教一下

光盘的引导扇区是不是和硬盘的差别很大

在grub中,如果要启动第一个硬盘的mbr是
rootnoverify (hd0)
chainloader +1

要启动第一分区的pbr则是
rootnoverify (hd0,0)
chainloader +1

都是引导第一个扇区,即引导扇区

而当对象为光盘时,却是
chainlaoder (hd32)

整个一起了,概念模糊,弄不明白,哪位大大有空帮忙解释一下,不胜感激

[ 本帖最后由 NicTense 于 2010-1-30 02:09 编辑 ]
回复

使用道具 举报

25#
发表于 2010-1-30 01:08:45 | 只看该作者
这个 帖子真好  收藏了   值得多看 多学习
回复

使用道具 举报

26#
发表于 2010-1-30 09:17:24 | 只看该作者
学习了哈哈,不断学习。。。。。。。。。。。。
回复

使用道具 举报

27#
发表于 2010-1-30 09:44:57 | 只看该作者
学习了不少,我是新手。谢谢
回复

使用道具 举报

28#
发表于 2010-1-30 17:38:54 | 只看该作者
非常好,我收藏起来,现在还有这么深的功力,还很多看不懂的,55
回复

使用道具 举报

29#
发表于 2010-1-30 18:30:48 | 只看该作者
详细地说,目前的整个启动过程还是比较复杂的。大致分为上电(Power on)、初始化(Init)、自举(Bootstrap)和引导(Boot)、系统启动这几大步。
上电过程大致完成把BIOS芯片内容映射到4G内存段尾部、映射DOS BIOS段(E0000~FFFFF)、解压并映射ACPI、PCICFG到Exxxxxxx、完成CPU、FPU等关键器件的初始化。
初始化过程包含完成内存256K以上部分的初始化、其他PCI等设备的初始化和其内置ROM的内存段映射...热启动不包含上电部分的过程。
自举部分完成根据CMOS设置或者用户选择完成启动设备的引导扇区加载(硬盘和U盘的MBR、光盘的17扇区、软盘的DBR、网卡引导ROM根据协议从远端服务器取得引导映像)。
引导部分完成——
硬盘、U盘根据MBR加载DBR、根据DBR的BPB加载系统引导文件(MAC则加载BOOTCAMP引导分区,然后加载系统引导文件)。
光盘根据17扇区附近的映射记录加载映射文件、从映射文件加载系统引导文件。
软盘根据DBR的BPB加载系统引导文件。
网络启动从引导映像加载系统引导文件。
最后一步系统引导文件完成系统启动。
最后两步依照不同媒体介质和系统磁盘管理模式会有较大差异。

[ 本帖最后由 netwinxp 于 2010-1-30 18:35 编辑 ]
回复

使用道具 举报

30#
发表于 2010-1-31 12:26:35 | 只看该作者
各位老师讲的非常好在  这个是学习贴~ 谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-17 05:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表