MBR磁盘分区是使用最为广泛的一种分区结构,也被称为DOS分区,不仅仅Windows系统,Linux、UNIX等都能够支持MBR磁盘分区。MBR磁盘都有一个引导扇区,称为主引导记录, Master Boot Record,即MBR,它位于磁盘上的第一个扇区,即0号扇区,由引导代码、分区表、磁盘签名、结束标志组成,共占用512个字节,是一个特殊而重要的扇区。通过WinHex或其他工具,可查看MBR的结构如下图所示。

1、引导代码

引导程序占用MBR的前440个字节,计算机在BIOS自检通过后,会将启动磁盘的MBR加载到内存中并执行引导程序,引导程序则会在分区表中查找活动分区,如果存在活动分区,则根据活动分区的偏移获得活动分区上引导扇区的地址,并判断引导扇区的合法性,将引导扇区读入内存,然后将控制权交给这个引导扇区,由它去引导操作系统。因此,MBR中的引导程序在系统启动过程中起到了承上启下的作用。在非启动磁盘上,MBR中的引导程序可能都是0,这对磁盘的使用没有任何影响。

2、分区表

MBR分区表示磁盘管理最重要的部分,通过分区表信息来定位各个分区、访问用户数据。分区表中包含4个分区项,每一项通过位置偏移、大小来唯一确定一个主分区或扩展分区。每个分区项16个字节,其中包括启动标志,起始、结束位置的CHS参数,开始扇区,分区大小,分区类型。具体描述如下图所示。需要注意的是,分区项的第一个字节表示该分区是否为活动分区,即是否包含系统引导扇区,用来启动操作系统,每个磁盘只能有一个活动分区。活动分区项的引导标识为0x80,其他均为0x00,虽然可以使用工具将多个分区项的引导标识改为0x80,但是MBR引导程序只会查找并使用第一个具有0x80标识的活动分区。

3、磁盘签名

每个MBR磁盘都有唯一的磁盘签名,是Windows在初始化磁盘时写入的一个磁盘标签,Windows依靠磁盘签名来识别基本MBR磁盘。如果两个磁盘的签名相同,则后加入的那个磁盘分区将不会显示给用户,在磁盘管理器中,可以看见不可识别硬盘上有一个红色的感叹号,描述为该磁盘因为签名冲突处于离线状态。在Vista以及之后的Windows系统中,每个系统引导项中都记录了引导磁盘的签名,如果磁盘签名丢失或修改,将会导致系统无法启动。

4、结束标志

MBR的最后两个字节固定为”55AA”,双字节值为0xAA55。每次执行系统引导代码是都会检查MBR最后两字节是否为”55AA”,如果是才会继续执行后面的程序,否则会认为这是一个非法的MBR,停止引导系统。

MBR磁盘上,系统通过分区表来管理磁盘分区,但是由于分区表只有64个字节,包含4个分区项,所以最多也只能管理4个分区,称为主分区,也可以创建3个主分区和一个扩展分区,并在扩展分区中创建逻辑分区。主分区和扩展分区的定位相对简单,因为MBR分区项中已经指明了该分区所在磁盘上的位置和大小,而逻辑分区则需要通过扩展分区项以及逻辑分区链来确定位置和大小,我将会在下一篇文章中说明。

转载于:https://blog.51cto.com/jslmes/1317465

Windows基本磁盘结构简析(二)——MBR结构分析相关推荐

  1. Windows基本磁盘结构简析(四)——GPT磁盘

    之前讲过,磁盘的分区方式有两种,MBR和GPT.MBR方式通过在启动扇区的分区表中记录分区的开始和结束位置来管理分区,由于分区表最多包含4项,且采用32位数据来表示分区偏移和大小,造成的主分区的个数限 ...

  2. android 勿扰模式代码结构简析

    勿扰模式代码结构简析 标签: 勿扰模式 2017-08-08 11:05  60人阅读  评论(0)  收藏  举报   分类: android(59)  版权声明:本文为博主原创文章,未经博主允许不 ...

  3. 磁盘结构,原理,MBR,文件系统,分区,swap,加密,raid,配额

    一,磁盘的组成结构: 磁盘主要由盘片.机械手臂.磁头与主轴马达,而数据的写入其实是在盘片上面 图1-–传统磁盘结构 图2--传统磁盘剖面图 解析:图2中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线 ...

  4. 加密狗+AES算法在QT Windows下的加密简析例程

    目录 一. 前言 二. 相关知识 三.效果展示 四.加密解密流程 五.主要函数解析 六.源码/相关包 ​ 一. 前言 本例主要简析加密狗加密解密的过程,结合实体加密狗和AES加密算法,提供QT Win ...

  5. Windows CE串口驱动简析(2)-PDD层实现:CReg2410Uart和TX部分(基于WinCE5.0 SMDK2410 BSP的Serial驱动)

    二.PDD层 1.PDD架构 现在我们就来看看SMDK2410中串口驱动的PDD部分. MDD层和PDD COMMON层都是由微软提供的,一般情况下我们基本无须改动.微软为开发者提供了一个CSeria ...

  6. linux目录结构简析

    随着Linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些"不明不白"的目录了.如果想熟练使用Linux,让Linux听命于自己 ...

  7. Linux Hugetlbfs内核源码简析-----(二)Hugetlbfs挂载

    本文只讨论执行"mount none /mnt/huge -t hugetlbfs"命令后,mount系统调用的执行过程(基于Linux-3.4.51),不涉及进程相关的细节. m ...

  8. Windows CE SDHC驱动简析(1)-驱动架构(基于WinCE5.0 SMDK2410 BSP的SDHC驱动)

    Windows CE的SD卡驱动包括总线驱动(bus driver),主控制器驱动(host controller driver)和客户端驱动(client driver). 总线驱动是客户端驱动和主 ...

  9. Neo4j存储结构简析

    Neo4j将边也作为数据库的"一等公民",将属性图的顶点.边.标签和属性被分开存储在不同文件中. 正是这种将图结构与图上标签 和属性分开存储的策略,使得 Neo4j 具有高效率的图 ...

  10. 勿扰模式代码结构简析

    勿扰模式是Android 7.0开始加入的功能.它的核心思想是屏蔽了通知的铃声.振动和展示. 代码分散在几部分. 1.设置代码在Settings中,ZenMode开头的一系列文件 /packages/ ...

最新文章

  1. Plant Physiol. | 中科院遗传所储成才研究组发现水稻NLR类抗病基因突变导致的白叶枯病感病机制...
  2. genrsa out php,PHP进行RSA加密解密
  3. 2018-2019-2 网络对抗技术 20165230 Exp9 :Web安全基础
  4. 相对布局(RelativeLayout)
  5. HTML里的哪一部分Javascript 会在页面加载的时候被执行?
  6. PHP的simplexml_load_file
  7. java 切面_Java笔试面试精心整理得到89道Spring 核心知识【收藏向】
  8. matlab 动画_MATLAB作图实例:51:表面动画
  9. xp 无法运行 php.exe,【xpexe文件不能执行】xp exe文件打不开_xp系统exe文件打不开-系统城...
  10. 查看环境列表_西门子COMOS软件开发定制学习8-查询列表间的数据交互
  11. win7 计算机刷新dns,刷新dns,教您怎么刷新DNS
  12. 市场调研—2021-2027中国聚氨酯联轴器市场现状及未来发展趋势
  13. Spring validation框架简介
  14. html 调用es2015模块,在浏览器中懒加载ES2015模块
  15. 第二周学习前端总结与感悟(一)
  16. faxicon.ico制作(笔记)
  17. (Adventure项目)自行车业务数据分析报告(五)
  18. 计算机查找全部文件,一键找到你电脑中的所有文件
  19. LaTeX期刊论文写作
  20. vue日历连月展示dom

热门文章

  1. python剔除异常值的方法_二维d异常值的剔除方法
  2. mysql数据库二级检索_MySQL数据库(2)检索信息
  3. 热烈祝贺电脑升级到64G内存了
  4. 庆贺:上传资源时已支持不允许动态调分
  5. 编程基本功:作为程序员,你有过写优美代码的体验吗
  6. java.lang.UnsupportedOperationException: This parser does not support specification “null“ version “
  7. 全网首发:研究WORD布局,会意之笑
  8. 创业失败反思:市场跟销售完全是两回事
  9. android.os.DeadObjectException的解决办法
  10. AbstractFactory(抽象工厂)