Windows基本磁盘结构简析(二)——MBR结构分析

来源:互联网 发布:招工软件 编辑:程序博客网 时间:2024/05/18 21:07

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

000209834.jpg

1、引导代码

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

2、分区表

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

000311539.jpg

3、磁盘签名

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

4、结束标志

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

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

本文出自 “Jsl_mes” 博客,请务必保留此出处http://jslmes.blog.51cto.com/5008224/1317465

0 0