本文描述windows系统下已经确定文件系统下的磁盘主引导扇区,文件系统为NTFS。其他操作系统下是否完全相同,暂时不知。
MBR以及DBR扇区分析
1 MBR
MBR全称为Master Boot Record ,俗称为主引导扇区。它是系统运行时第一块加载到内存中的扇区,其结构为:引导程序、磁盘签名、主分区信息和结束标记。每一部分在MBR中所占的位置如下图:
图1 MBR扇区结构
黑框内为引导程序,绿色框内为 磁盘签名,红色框内为结束标志。引导程序不是我们感兴趣的不做分析。
磁盘签名在上图中标记占用了6B,但是实际上磁盘签名仅仅占用了前4个字节。磁盘签名的作用是说明当前物理磁盘已经完成了格式化和分区,如果磁盘签名为空,即4个字节的数据全部为00,那么说明磁盘尚没有完成初始化,操作系统无法识别和加载,从而导致系统崩溃。如果我们连续两次对物理磁盘进行格式化,那么每次格式化得到的磁盘签名是不相投的。
结束标志,结束标志的值始终是55 AA,占用2个字节。如果结束标志不是55 AA,那么在系统加载磁盘时候会报错。
在磁盘签名和结束标志之间是当前物理磁盘的分区信息。众所周知,通过操作系统界面,我们看到的磁盘分区有好多个。如果你通过管理界面查看分区信息,会看到有的磁盘分区是主分区,有些磁盘分区是扩展分区。之所以有这些差别,其原因就在这里。在MBR中每个分区记录占用16个字节,所以在仅仅占用64个字节中包含所有的磁盘分区信息是不肯能的。在MBR中最多包含4个分区的信息,而这4个分区称之为主分区;不在MBR中的分区信息称之为扩展分区。第一个扩展分区的位置信息在MBR中最有一个分区记录中表示。下面对分区记录中每个字节所代表的意义进行分析和阐述。
我们对图1中的第一条分区记录和最后一条分区记录进行分析,之所与选择这两条记录,原因是:当前物理磁盘总共划分了8个分区,第一条记录是普通的一条主分区记录,最后一个分区记录包含了扩展分区信息所在位置等信息。
第一条分区记录是:80 6B 10 00 07 86 0E 30 00 80 00 00 00 20 03 00
最后一条分区记录是:00 86 CE FF 0F 86 CE FF B1 A1 A9 03 60 10 6E 21
为了更加直观和清晰的表示每个字节所代表的意义,采用列表方式,如下表
偏移量 |
值 |
长度 |
意义 |
1BE |
80 |
1B |
引导标志,指明该分区是否为活动分区 |
1BF |
6B |
1B |
开始磁头 |
1C0 |
10 |
6b |
起始扇区,并且只是用了“10”字节中的0~5位,后面两位6、7用于起始柱面 |
1C1 |
00 |