MBR分区结构

MBR分区结构

主引导记录(Master Boot Record,缩写:MBR)是开机后必须要读取的首个扇区,在硬盘的(0柱面,0磁头,1扇区)。该扇区开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。

在我电脑上使用WinHex查看扇区如下:
MBR分区结构_第1张图片
引导程序代码是自检后启动操作系统的,改变它可以实现多系统。
硬盘分区表存着分区信息,大小为64字节,4项,每一项占16字节,每一项的意义如下:
MBR分区结构_第2张图片
MBR结构的硬盘只支持4个主分区,或者3个主分区加上1个拓展分区,拓展分区为链式结构,可划分多个逻辑分区,MBR分区容量最大为2T。GPT分区结构与MBR不同,理论上支持很多个主分区,但是操作系统会做限制。

当前磁盘情况为
MBR分区结构_第3张图片

磁盘分区表为
这里写图片描述
分区表第一项为

80 20 21 00 07 FE 3F 0C 00 08 00 00 00 20 03 00

80:分区为活动分区,00表示的是非活动分区
20 21 00:开始磁头、起始扇区、起始柱面
07:文件系统标示,07表示文件系统类型为NTFS
    常见的还有:
      05:CHS寻址模式的拓展分区,容量最大为2Gb
      0F:LBA寻址模式的拓展分区,容量最大为2Tb
      0B:CHS寻址模式的FAT32,容量最大为2Gb
      0C:LBA寻址模式的FAT32,容量最大为2Tb
FE 3F 0C:结束磁头、结束扇区、结束柱面
00 08 00 00:分区起始相对扇区号
00 20 03 00:分区总扇区
注:开始扇区开始柱面、结束扇区结束柱面等会限制容量,CHS寻址模式使用,LBA寻址模式似乎不用,而现在应该基本都是LBA模式的了,详细信息自行搜索。

因此第一分区起始扇区为:00 00 08 00,也就是从2048扇区开始,容量为:00 03 20 00扇区,即204800扇区,为100兆;使用diskpart查看第一分区大小为100兆,偏移为1024Kb,也就是2048个扇区。
MBR分区结构_第4张图片
使用WinHex查看分区参数为:
MBR分区结构_第5张图片

同理计算第二个分区起始扇区为:00 03 28 00,容量为04 F1 98 00扇区,计算为:82941952扇区,约为39.55Gb:使用WinHex查看分区表参数为:
MBR分区结构_第6张图片

下一个分区表项的分区类型为0F,表示LBA寻址方式的拓展分区,这时候该项实际上并不储存分区,只是储存逻辑分区的分区入口。
它的起始扇区为:04 F4 C0 00,大小为: 02 8B 38 00,约为20.35Gb,这个大小是拓展分区的大小,也就是两个逻辑分区的总容量,它的起始扇区实际上存着逻辑分区入口。
使用WinHex查看分区参数为:
MBR分区结构_第7张图片

接下来我们需要进入到逻辑分区,扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录(Extended Boot Record,EBR)。进入相对扇区:04 F4 C0 00或者绝对地址:09 E9 80 00 00查看拓展引导记录:
MBR分区结构_第8张图片

可以看到第一项偏移为:00 00 08 00,大小为:01 38 80 00扇区,约为:9.77Gb,这里为什么有一个:00 00 08 00的偏移呢?
WinHex中看到的是这样,表示这里有一个1Mb的Partition gap,不知道这个分区间隙怎么出现的。
MBR分区结构_第9张图片

接下来第二项是偏移在:01 38 88 00处,大小为:01 52 B0 00扇区,约为:10.58Gb;
第三项第四项都应当是空的,第一项是当前分区信息,第二项连接到下一个分区,最后一个分区的EBR第二项应当以全0填充。

我们到下一个分区,偏移:01 38 88 00处(计算得到绝对地址为:0C 5A 90 00 00)可以看到:MBR分区结构_第10张图片

可以看到和预料的一样,EBR只有第一项,其他项全为0。

可以用下图粗略描述MBR分区结构:
MBR分区结构_第11张图片

参考:http://www.blogfshare.com/mbr-dpt-ebr.html

你可能感兴趣的:(磁盘)