`

主引导记录 MBR

阅读更多

主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统对磁盘进行读写时分区合法性的差别、分区引导信息的定位,它由磁盘操作系统在对硬盘进行初始化时产生的。

  通常,我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有绝大部分的空间,故而将习惯将该扇区称为MBR扇区(简称MBR)。由于这一扇区承担有不同于磁盘上其他普通存储空间的特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令FORMAT. COM不能清除主引导记录的任何信息。

MBR结构图

[1]

 主引导扇区由三个部分组成(共占用512个字节):

  1.主引导程序即主引导记录(MBR)(占446个字节)

  可在FDISK程序中找到,它用于硬盘启动时将系统控制转给用户指定的并在分区表中登记了的某个操作系统。

  2.磁盘分区表项(DPT,Disk Partition Table)

  由四个分区表项构成(每个16个字节)。

  负责说明磁盘上的分区情况,其内容由磁盘介质及用户在使用FDISK定义分区时决定。(具体内容略)

  3.结束标志(占2个字节)

  其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。

1.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内容)

2.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的组成结构图

3.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字节 本分区的总扇区数。

4.MBR的主要功能及工作流程

  启动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、DPT、DBR、BPB)详解.docx

    **DBR**(DOS Boot Record)即DOS引导记录,位于柱面0,磁头1,扇区1(即逻辑扇区0),是操作系统可以直接访问的第一个扇区。DBR主要由两部分组成: 1. **DOS引导程序**:用于加载操作系统核心到内存中,并执行核心...

    主引导记录(MBR)的反汇编分析.doc

    主引导记录(MBR)反汇编分析 一、引言 主引导记录(MBR)是计算机启动过程中的一个关键组件,它负责加载操作系统和管理磁盘分区。在本文中,我们将对MBR进行反汇编分析,以了解其工作原理和实现机理。 二、MBR反汇编...

    WINHEX查看磁盘主引导记录和主分区表

    在计算机系统中,磁盘的管理和数据存储离不开关键的结构——主引导记录(MBR, Master Boot Record)和主分区表。这两部分构成了硬盘启动和分区的基础。今天我们将通过专业工具WinHex,来深入了解如何查看和分析这些...

    grldr主引导记录(mbr)写入工具

    **标题详解:**“grldr主引导记录(MBR)写入工具” “grldr”是一种自启动加载器,主要用于Linux系统,特别是与GRUB(GRand Unified Bootloader)相关。GRUB是多操作系统引导器,允许用户在计算机启动时选择要加载...

    硬盘主引导记录

    硬盘主引导记录(MBR) 硬盘主引导记录(MBR)是硬盘的引导记录,不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。MBR 占用 512 个字节,位于硬盘的 0 柱面、0 磁头、1 扇区,称为主引导扇区...

    Linux系统修复之mbr主引导记录丢失

    Linux系统修复之mbr主引导记录丢失

    硬盘主引导记录(MBR)及其结构详解.doc

    ### 硬盘主引导记录(MBR)及其结构详解 #### 一、MBR概述 **硬盘主引导记录(MBR)**是硬盘上非常重要的一部分,位于硬盘的0柱面、0磁头、1扇区,通常被称为**主引导扇区**。MBR主要负责在计算机启动时将控制权传递...

    BOOTICE主引导记录

    BOOTICE是一款功能强大的系统维护工具,特别专注于主引导记录(MBR)和引导扇区的管理。在IT领域,MBR是计算机硬盘上的一个重要部分,它包含启动加载器,允许系统在开机时启动操作系统。BOOTICE就是为了解决与MBR...

    硬盘MBR介绍 主引导扇区里的MBR

    **A:** 这是因为我们使用此命令的目的是为了修复可能被病毒修改的主引导记录(MBR),或者是卸载LILO等多系统引导程序,而不是恢复整个主引导扇区。因此,只需要将备份文件`boot.NNNN`的前446个字节重写回主引导扇区...

    硬盘主引导记录结构

    硬盘主引导记录(MBR,Master Boot Record)是个人计算机硬盘上的一个重要组成部分,它位于硬盘的第一个扇区(称为扇区0或LBA 0),在传统BIOS系统中,MBR是启动计算机的关键部分。本篇文章将深入探讨MBR的结构、...

    使用WinHex手工恢复MBR

    因为主引导记录 MBR 最多只能描述 4 个分区项,如果想要在一个硬盘上分多于 4 个区,就要采用扩展 MBR 的办法。 七、使用 WinHex 恢复 MBR 使用 WinHex 恢复 MBR 需要了解数据结构和 MBR 的组成部分。首先,需要...

    磁盘主引导记录的详细解析文档(XP系统和Win7)

    **磁盘主引导记录(MBR)详解** 磁盘主引导记录(Master Boot Record,简称MBR)是硬盘上的一个重要组成部分,它位于硬盘的绝对位置0扇区,即第一扇区,也是硬盘的第一个512字节。MBR在个人计算机启动过程中扮演着...

    备份硬盘主引导扇区MBR的源代码.通过BIOSDISK对硬盘主引扇区进行备份

    标题中的“备份硬盘主引导扇区MBR的源代码”是指一种编程实践,旨在保护计算机系统的重要组件——主引导记录(Master Boot Record, MBR)。MBR是硬盘上的第一部分,它包含了启动加载器和分区表,对于系统的正常启动...

    WIN98硬盘主引导记录详解.rar_引导

    【描述】:“WIN98硬盘引导记录详解”这一主题深入探讨了Windows 98操作系统在硬盘上的启动过程,特别是关于硬盘的主引导记录(MBR)的细节。主引导记录是硬盘上的一个重要组成部分,它负责初始化系统启动,并将控制...

    WINHEX修复主引导记录教程

    在计算机技术领域中,数据丢失是一个常见的问题,尤其当遇到硬盘主引导记录(MBR)损坏时,可能导致整个硬盘无法正常读取数据,甚至是操作系统无法启动。本文将详细介绍如何使用WINHEX这款强大的十六进制编辑器来...

    硬盘主引导MBR修复工具

    MBR(Master Boot Record,主引导记录)是硬盘上的一个重要组成部分,它位于硬盘的第一个扇区,也就是0柱面、0磁道、1扇区的位置。MBR的主要功能是存储硬盘的分区表信息以及一个引导程序,这个引导程序负责加载操作...

    硬盘引导区MBR解析器

    标题中的“硬盘引导区MBR解析器”是指一个软件工具,专门用于读取和分析硬盘的主引导记录(Master Boot Record,简称MBR)。MBR是硬盘上的一个重要组成部分,它位于硬盘的绝对位置0扇区,是计算机启动时首先加载的...

    MBR、GPT简介

    MBR的引导程序占了总共512byte的主引导记录中的前446个字节(偏移0H~偏移1BDH)。BIOS在执行自己固有的程序后就会jump到MBR中的第一条指令,将系统的控制权交由MBR来执行。 (二)DPT(Disk Partition Table) DPT...

    Linux操作系统引导过程.pdf

    3. 除了主引导记录 MBR 外,它没有任何隐含文件,也不需要使用特定的分区,它的配置文件可以存放在任何分区,甚至可以存放在与 Linux 毫不相干的 DOS 分区的某个子目录下。 4. 它可以引导不同配置的内核,甚至是同一...

Global site tag (gtag.js) - Google Analytics