经过上一篇文章对硬盘的基本结构的详细介绍后,我们再来看看MBR和EBR的结构
MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了 DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。
主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分 区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变 的,从而实现多系统共存。
其中从0x01BE到0x01FD这六十四个字节表示的是4个主分区的信息。每个主分区16个字节描述,这16反个字节的含义是:
注:由于硬盘的发展,234字节的分区起始扇区所在柱面,磁头,扇区,678字节的分区终止扇区所在的柱面,磁头,扇区信息已不正确,如果硬盘稍微大点,chs逻辑硬盘地址方案中的c值有可能就不能由现在分配的位数表达了。因而,在柱面超过3FF的时候,将失效,这三个值一般为FE FF FF(16450560个扇区之后,也就是扇区位置超过7.44G時设为这个值),在MBR规范中,直接舍弃“virtual CHS values逻辑硬盘地址方案”,而采用LBA方案,
更详细的分区类型符如下
知道MBR的基本信息之后,我们再来看看实际的情况事怎样的.我将我电脑磁盘分了五个区,其中三个基本分区,三个扩展分区(其中一个分区格式化成FAT16)
然后,用WinHex查看MBR的数据
可以看到446字节的主引导程序和64字节的分区表项+两字节的”55 AA”有效分区结束标志
第一个分区表项
80 01 01 00 07 FE FF FF 3F 00 00 00 C1 FF BF 03
80 活动分区
01 01 00 磁头号1,扇区号1,柱面号0
07 NTFS分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
3F 00 00 00 分区起始扇区号63
C1 FF BF 03 分区所占扇区数03BFFFC1(62914497),30G大小
第二个分区表项
00 FE FF FF 07 FE FF FF 00 00 C0 03 00 00 40 00
00 非活动分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
07 NTFS分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
00 00 C0 03 分区起始扇区号62914560
00 00 40 00 分区所占扇区数(4194304),2G大小
第三个分区表项
00 FE FF FF 07 FE FF FF 00 00 00 04 00 00 40 00
00 非活动分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
07 NTFS分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
00 00 00 04 分区起始扇区号67108864
00 00 40 00 分区所占扇区数(4194304),2G大小
第四个分区表项
00 FE FF FF 0F FE FF FF 00 00 40 04 00 00 C0 00
00 非活动分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
0F 扩展分区
FE FF FF 超过第16450560个扇区,设为最大值,可忽视
00 00 40 04 分区起始扇区号71303168
00 00 C0 00 分区所占扇区数(12582912),6G大小
通过分区表项,我们便可以得到分区所在的扇区范围,找到分区相应的扇区.但是如果是扩展分区,还需要EBR找到相应扩展分区所在的位置
扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR),也有人称之为虚拟mbr或扩展mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个 逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一般位于相对扇区32或63。但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记 录和逻辑