首页 百科大全文章正文

MBR解析:深入理解主引导记录的奥秘

百科大全 2025年03月17日 06:05 34 访客


MBR是什么意思?

MBR是硬盘的主引导记录。它是硬盘上的一个重要组成部分,位于0磁头0柱面1扇区。MBR主要由以下三大部分构成:

主引导程序:这是MBR的核心功能部分,负责引导操作系统。当计算机启动时,主引导程序会首先被执行,它会寻找并加载操作系统。

分区表:分区表包含了四个分区的信息,用于描述硬盘上各个分区的属性和位置。这些信息对于操作系统来说至关重要,因为它们帮助操作系统识别和管理硬盘上的不同分区。

主引导记录有效标志字:这个部分用于确认MBR的完整性,确保其正确性和可靠性。如果MBR被损坏或篡改,这个标志字可能会发生变化,从而影响计算机的启动和操作系统的加载。

在更具体的操作层面上,可以使用如Winhex等工具来查看MBR的内容,分区表则位于特定的位置。如果想要深入了解MBR的相关知识,建议寻找更多相关资料进行学习。

3. MBR主引导记录区

在硬盘的世界里,一块已格式化的硬盘的分区布局隐藏在了一个神秘的角落——主引导记录区(MBR)。这个位于硬盘第一个扇区,即0磁道0柱面1扇区的512字节区域,是系统BIOS启动的入口,承载着至关重要的引导程序和分区信息。MBR的446字节(偏移0-1BDH)空间内,隐藏着引导程序的代码,以及最多四个主分区的详细布局(01BE-01FD)。

MBR启动流程如诗如画:首先,BIOS读取MBR,然后解析分区表DPT,寻找活动分区,即标记为可引导的分区。这个活动分区就是引导扇区,它负责装载并启动操作系统。MBR中的分区信息极其紧凑,仅64字节用于四个主分区,使得硬盘的分区设计受制于MBR的固定格式。每个分区信息由EFI_PARTITION_ENTRY结构描述,它包括启动代码、分区类型和分区的物理位置。

Windows和Linux的硬盘分区表设计,如同一个精心编排的故事板,展示了MBR的巧妙布局。从C盘启动为例,MBR引导过程始于硬盘的0面0道1扇区,通过引导程序找到活动分区,进一步引导到分区引导记录,进而加载IO.SYS。这个过程揭示了操作系统从硬盘启动的完整路径,即使有多种操作系统可供选择,主引导记录也能灵活地切换引导代码,让用户自由选择。

MBR的446字节中,每个分区表项占用16字节,通过BootFlag(启动标记)区分激活分区,0表示未激活,1-4表示激活。分区类型SysID揭示了分区的种类,如Fat32(0x0B)、Linux(0x83)、GPT(0xEF)等,这些都是引导和识别分区的重要依据。而未使用的分区(SysID=0)则表明该区域未被分配给任何操作系统。

总结起来,MBR是硬盘启动的基石,它以一种精巧的方式管理着硬盘的分区和引导流程。尽管MBR的时代在逐渐被GPT分区表所取代,但它在早期计算机世界中的作用不可忽视,是理解硬盘工作原理的重要窗口。通过理解MBR,我们可以深入探索计算机启动的奥秘,体验技术的奇妙之处。

主引导记录的详解

硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。

用INT13H的读磁盘扇区功能的调用参数如下:

入口参数:AH=2 (指定功能号)

AL=要读取的扇区数

DL=磁盘号(0、1-软盘;80、81-硬盘)

DH=磁头号

CL高2位+CH=柱面号

CL低6位=扇区号

CS:BX=存放读取数据的内存缓冲地址

出口参数:CS:BX=读取数据存放地址

错误信息:如果出错CF=1 AH=错误代码

用DEBUG读取位于硬盘0柱面、0磁头、1扇区的操作如下:

A>DEBUG

-A 100

XXXX:XXXX MOV AX,0201 (用功能号2读1个扇区)

XXXX:XXXX MOV BX,1000 (把读出的数据放入缓冲区的地址为CS:1000)

XXXX:XXXX MOV CX,0001 (读0柱面,1扇区)

XXXX:XXXX MOV DX,0080 (指定第一物理盘的0磁头)

XXXX:XXXX INT 13

XXXX:XXXX INT 3

XXXX:XXXX (按回车键)

-G=100 (执行以上程序段)

-D 1000 11FF (显示512字节的MBR内容) 一个扇区的硬盘主引导记录MBR由如图6-15所示的4个部分组成。

·主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。

·出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。

·分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。

·结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。 0000-0088 Master Boot Record

主引导程序 主引导

程序 0089-01BD 出错信息数据区 数据区 01BE-01CD 分区项1(16字节) 分区表 01CE-01DD 分区项2(16字节)   01DE-01ED 分区项3(16字节)   01EE-01FD 分区项4(16字节)   01FE 55 结束标志 01FF AA   图6-15 MBR的组成结构图 占用512个字节的MBR中,偏移地址01BEH--01FDH的64个字节,为4个分区项内容(分区信息表)。它是由磁盘介质类型及用户在使用 FDISK定义分区说确定的。在实际应用中,FDISK对一个磁盘划分的主分区可少于4个,但最多不超过4个。每个分区表的项目是16个字节,其内容含义如表6-19所示。

表6-19 分区项表(16字节)内容及含义 存贮字节位 内容及含义 第1字节 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。 第2、3、4字节 本分区的起始磁头号、扇区号、柱面号。其中:

磁头号——第2字节;

扇区号——第3字节的低6位;

柱面号——为第3字节高2位+第4字节8位。 第5字节 分区类型符。

00H——表示该分区未用(即没有指定);

06H——FAT16基本分区;

0BH——FAT32基本分区;

05H——扩展分区;

07H——NTFS分区;

0FH——(LBA模式)扩展分区(83H为Linux分区等)。 第6、7、8字节 本分区的结束磁头号、扇区号、柱面号。其中:

磁头号——第6字节;

扇区号——第7字节的低6位;

柱面号——第7字节的高2位+第8字节。 第9、10、11、12字节 本分区之前已用了的扇区数。 第13、14、15、16字节 本分区的总扇区数。 启动PC机时,系统首先对硬件设备进行测试,测试成功后进入自举程序INT 19H,然后读系统磁盘0柱面、0磁头、1扇区的主引导记录(MBR)内容到内存指定单元0:7C00地址开始的区域,并执行MBR程序段。

硬盘的主引导记录(MBR)是不属于任何一个操作系统的,它先于所有的操作系统而被调入内存,并发挥作用,然后才将控制权交给主分区(活动分区)内的操作系统,并用主分区信息表来管理硬盘。

MBR程序段的主要功能如下:

·检查硬盘分区表是否完好。

·在分区表中寻找可引导的“活动”分区。

·将活动分区的第一逻辑扇区内容装入内存。在DOS分区中,此扇区内容称为DOS引导记录(DBR)。

硬盘逻辑驱动器的分区表链结构

硬盘是由很多个512字节的扇区组成,而这些扇区会被组织成一个个的“分区”。

硬盘的分区规则是:一个分区的所有扇区必须连续,硬盘可以有最多4个物理上的分区,这4个物理分区可以是4个主分区或者3个主分区加一个扩展分区。在DOS/Windows管理下的扩展分区里,可以而且必须再继续划分逻辑分区(逻辑盘)。

从MS-DOS3.2问世以后,用户就可以在一个物理硬盘驱动器上划分一个主分区和一个扩展分区,并在扩展分区上创建多个逻辑驱动器,也即我们常说的一个物理盘上多个逻辑盘。

举一个例子,一个10G的硬盘,安装Windows,有C:、D:、E:三个逻辑盘,那么它的分区情况可以是如下的方式:

分区一:主分区2GB,格式化为C:盘。

分区二:扩展分区8GB。它被再划分为两个各4GB的逻辑盘,格式化为以D:和E:盘。

在一个划分有多个主分区的硬盘上,则可安装多个不同的操作系统。如Windows、Linux、Solaris等。每个操作系统自己去管理分配给自己的分区。但是,每个操作系统对分区的操作方式是不同的。对于DOS/Windows来说,它能够把它所能管辖的一个主分区和一个扩展分区格式化,然后按照 C:、D:、E:逻辑盘的方式来管理。而Linux则不同,它是把“分区”看作一个设备,既没有“扩展分区”的概念,也没有“逻辑盘”的概念。

1.逻辑盘的链接关系

在FAT 文件系统中,硬盘的逻辑盘字符用字符C:、D:、E:、...、Z:来表示。主分区一般被格式化成C:盘,从D:盘开始的逻辑盘是建立在扩展分区之上的。在系统进行读写操作时,DOS首先查看主引导记录(MBR)中的分区信息表,分区项将指向活动主分区的DOS引导记录(DBR)。

MBR中的分区表位于0柱面、0磁头、1扇区内,以位移1BEH开始的第一分区表作为链首,有表内的链接表项指示下一分区表的物理位置(xx柱面、0磁头、1扇区),在该位置的扇区内同样位移1BEH处,保存着第2张分区表,依次类推,直至指向最后一张分区表的物理位置(yy柱面、0磁头、1扇区)。因该分区表内不存在链接表项,即作为分区表链的链尾。如图6-17所示。

硬盘 第一个虚拟 第二个虚拟 第三个虚拟

MBR分区表 MBR分区表 MBR分区表 MBR分区表 定义C:盘 ------------> 定义D:盘 -----------> 定义E:盘 ------------> 定义F:盘 描述剩余空间 描述剩余空间 描述剩余空间 描述剩余空间       未用 未用 未用 未用       未用 未用 未用 未用       55AA 55AA 55AA 55AA       图6-17 具有4个逻辑盘的分区链表示意图

举例来说,本来位于柱面0、磁头0、扇区1上的分区表的每一项记录和主分区的DBR之间有一对应的关系,但是,如果在扩展分区中建立了多个逻辑盘,例如D:、E:、F:,该分区表中的分区项可指向第一个逻辑盘:,但对于其它的逻辑盘,则就没有这种对应关系了。为能够查找扩展分区中的多个逻辑盘,DOS系统可做如下安排:

·如果硬盘只有一个主分区,即是将整个硬盘作为一个逻辑盘C:,则分区命令FDISK只在硬盘的柱面0、磁头0、扇区1上建立一个MBR。

·如果硬盘被划分成2--4个分区,则FDISK除了在柱面0、磁头0、扇区1上建立一个MBR之外,还在扩展分区的每个逻辑盘的起始扇区上都建立一个虚拟MBR,每一个虚拟MBR用于扩展分区上的一个逻辑盘。

·扩展分区的第一个扇区不是用于一个逻辑盘的DBR,而是指向一个“扩展的”分区表,即第一个虚拟的MBR。该逻辑盘DBR扇区的起点应为虚拟MBR的下一个磁道1扇区。

这些MBR中的各个分区表链接成一个如图6-17所示的分区表链。这是一个硬盘具有4个表项所描述的内容。

DOS就是用这种方法来使一个扩展分区看起来象是有多个硬盘。

从图6-17中可以看到,位于磁盘柱面0、磁头0、扇区1上MBR的分区表指向基本分区及扩展分区中的第一个逻辑盘。

图解什么是mbr

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

为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言。

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

Mbr位于磁盘的0柱面,0磁头,1扇区。

MBR有三部分构成,主引导程序,硬盘分区表DPT和,硬盘的有效标志55AA。在512个字节的主引导扇区里。

主引导程序占446个字节,dpt占64个字节(4个分区,一个分区16个字节),还有2个字节55AA

首先我们先截取512个字节

dd if=/dev/sda of=/mnt/mbr bs=512 count=1

MBR(主引导记录)介绍及修复

MBR,即主引导记录,是硬盘分区引导过程中的关键组件。它位于磁盘的第一个扇区,负责引导开机,包括检查分区表的正确性、确认引导分区,并引导操作系统加载。MBR独立于具体操作系统,允许在同一个硬盘上支持多个系统的共存,因为其引导程序是可以修改的。

当MBR位于MBR磁盘的启动流程中,它扮演着核心角色。从BIOS启动时,MBR启动顺序开始,通过查找硬盘分区表,识别激活的主分区,然后调用bootmgr文件,进一步引导BCD引导配置文件。这个过程会加载winload.exe,加载系统内核,最终引导用户进入操作系统。

然而,MBR损坏将导致系统无法正常启动。在这种情况下,需要采取修复措施。一种常见的方法是通过Windows PE环境,利用如优启通的硬盘分区工具。具体步骤是:在WINPE中,选择你的硬盘,然后选择“重建主引导记录(MBR)”选项。确认操作后,点击“确定”完成MBR的重建。最后,重启电脑以验证修复是否成功,系统是否能正常启动。

重建主引导记录(重建MBR)

有时候,如果你发现C盘没有被激活为活动分区,那么你可能已经执行了重建主引导记录(MBR)的操作。主引导记录是存储在硬盘或固态硬盘的开始位置的一个重要数据区域,它包含了引导加载程序,用于启动计算机操作系统。在Windows系统中,活动分区是指可以启动操作系统的分区,而C盘作为系统盘,通常是活动分区。如果你的C盘没有被设置为活动分区,这可能会影响到操作系统的正常启动。通过重建MBR,你可以重新指定哪个分区是活动分区,从而解决启动问题。

需要注意的是,重建MBR是一个重要的系统操作,它会改变硬盘的引导信息,因此需要谨慎对待。在进行此操作前,建议先备份重要数据,以防意外数据丢失。如果你对操作不确定,建议寻求专业人士的帮助。

此外,如果你的计算机出现了启动问题,除了重建MBR之外,还有其他可能的原因,例如引导文件损坏、引导扇区感染病毒等。因此,在解决问题时,最好先进行全面的诊断,以确定最合适的解决方案。重建MBR只是众多可能的解决方法之一,而且它并不能解决所有启动问题。在某些情况下,可能需要进行更深入的系统修复或恢复操作。

综上所述,重建MBR可以解决C盘未被激活为活动分区的问题,但需要谨慎操作。在执行此操作之前,务必确保备份重要数据,并了解其他可能的解决方案,以确保问题得到妥善解决。

发表评论

增文号京ICP备19003863 备案号:川ICP备66666666号 Z-BlogPHP强力驱动 主题作者QQ:201825640