MBR详解

目录

1. 引导信息(446Byte)

2.硬盘分区DPT详解(64Byte)

实例讲解

3.结束标志(2Byte)


MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区。在512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了 DPT(Disk Partition Table硬盘分区表),最后两个字节是分区的结束标志。这个整体构成了硬盘的主引导扇区。

我们可以使用WinHex打开一个磁盘,WinHex下载安装以及磁盘创建请参考

WinHex安装与使用_巭犇的博客-CSDN博客

 另一个磁盘

MBR详解_第1张图片

MBR详解_第2张图片

1. 引导信息(446Byte)

引导程序,占扇区前446字节。计算机在上电完成BIOS自检后,会将该主引导扇区加载到内存中并执行前面446字节的引导程序,引导程序首先会在分区表中查找活动分区,若存在活动分区,则根据活动分区的偏移量找到该活动分区上的引导扇区的地址,并将该引导扇区加载到内存中,同时检查该引导扇区的有效性,然后根据该引导扇区的规则去引导操作系统。在一些非启动磁盘上,MBR引导代码可能都是0,这对磁盘使用没有任何影响。

2.硬盘分区DPT详解(64Byte)

分区表由4项组成,每项16个字节(Byte).共4×16 = 64字节(Byte)。每项描述一个分区的基本信息。

存贮字节位 内容及含义
第1字节 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。
第2、3、4字节 本分区的起始磁头号、扇区号、柱面号。其中:
    磁头号——第2字节;
    扇区号——第3字节的低6位;
    柱面号——为第3字节高2位+第4字节8位。
第5字节 分区类型符。
    00H——表示该分区未用(即没有指定);
    06H——FAT16基本分区;
    0BH——FAT32基本分区;
    05H——扩展分区;
    07H——NTFS分区;
    0FH——(LBA模式)扩展分区(83H为Linux分区等)。
第6、7、8字节 本分区的结束磁头号、扇区号、柱面号。其中:
    磁头号——第6字节;
    扇区号——第7字节的低6位;
    柱面号——第7字节的高2位+第8字节。
第9、10、11、12字节 逻辑起始扇区号 ,本分区之前已用了的扇区数。
第13、14、15、16字节 本分区的总扇区数。

第5字节详解 

MBR详解_第3张图片

分区表上有四项,每一项表示一个分区,所以一个分区表最多只能表示4个分区。 主分区表上的4项用来表示主分区和扩展分区的信息。因为扩展分区最多只能有一个,所以硬盘最多可以有四个主分区或者三个主分区,一个扩展分区。
余下的分区表是表示逻辑分区的。这里有必要阐述一点:逻辑区都是位于扩展分区里面的,并且逻辑分区的个数没有限制。

实例讲解

(80) (01 01 00) (07) (FE FF FF) (3F 00 00 00) (82 C1 3B 3A)

  •  (80): 代表这个分区为活动分区。即系统会从本分区启动。
  • (01 01 00) :表示这个分区的起始扇区为(0柱面,1磁头,1扇区)。
  • (07):表示这个分区的文件系统为NTFS。
  • ( FE FF FF):本分区的结束磁头号、扇区号、柱面号,磁头号:254; 扇区号:(11 1111)2=(63)10; 柱面号:(11 1111 1111)2=(1023)10 
    • (FE)16=(254)10 ;(FF)16=(1111 1111)2;(FF)16=(1111 1111)2;
    • 故该分区结束扇区为(1023柱面,254磁头,63扇区)。
  • (3F 00 00 00) : 反向,(00 00 00 3F) 16 = (63) 10,为该分区起始逻辑扇区号与逻辑0扇区号之差。表示该分区前面已有63个扇区,这63个扇区为系统隐藏扇区。
  • (82 C1 3B 3A) : 反向,(3A 3B C1 82)16=(976994690)10。表明该分区有976994690个扇区。即(0柱面,1磁头,1扇区)至(1023柱面,254磁头,63扇区)共有976994690个扇区。
    • 1个扇区512字节,所以该分区大小为976994690/2/1024/1024=465G

3.结束标志(2Byte)

上图中最后的"55 AA"即为结束标志,或者称魔数,占扇区最后2字节。每次执行系统引导代码时都会检查MBR主引导扇区最后2字节是否是"55 AA",若是,则继续执行后续的程序,否则,则认为这是一个无效的MBR引导扇区,停止引导系统。

你可能感兴趣的:(java,开发语言)