系统结构
DBR,主引导记录;
DPT,分区表;
DBR,分区引导扇区
引导扇区
MBR
Main Boot Record,主引导扇区,硬盘主引导记录区,
注意,MBR扇区只存在磁盘的0扇区,磁盘分区后,分区的起始是结构DBR
对于SD卡,在安装FATFS文件系统之后,0扇区就是MBR,但是分区的起始扇区却是DBR
MBR由三部分构成,主引导程序代码,占446字节;硬盘分区表 DPT,占64字节;主引导扇区结束标志,占两个字节
其中MBR占据446个字节的空间,偏移量 0x0000 ~ 0x01BD
主引导程序, 0x0000 ~ 0x0088 ,负责从活动分区中装载并运行系统引导程序
出错信息数据区, 0x0089 ~ 0x01E1
装载出错信息, 0x01E2 ~ 0x01BD ,这部分空间全为0
DPT占据64个字节,偏移量 0x01BE ~ 0x01FD
结束符占2个字节,偏移量 0x01FE ~ 0x01FF
主引导记录中为硬盘的一系列参数和一段引导程序
引导程序用于检查分区表是否正确,引导具有激活标志的分区上的操作系统,将控制权交给引导程序
MBR由分区程序产生,不依赖任何操作操作系统,并且硬盘引导程序可改变,从而实现多系统共存
偏移长度 | 所表达的意义 |
---|
0 字节 | 分区状态:如 0–>非活动分区 80–> 活动分区 |
1 字节 | 分区起始头( HEAD) |
2 字节 | 分区起始扇区和起始柱面 |
4 字节 | 分区类型:如 82–> Linux Native 分区 83–> Linux Swap 分区 |
5 字节 | 分区终止头( HEAD) |
6 字节 | 分区终止扇区和终止柱面 |
8 字节 | 分区起始绝对分区 |
C字节 | 分区扇区数 |
80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00
/***********************************************************************************
* 80 ,为分区的激活标志,表示系统可引导
* 01 01 00 ,表示分区开始磁头号 01,开始扇区 01,开始柱面号 00
* 0B ,表示分区的系统类型是 FAT32,04 FAT16,07 NTFS
* FE BF FC ,表示分区结束磁头号 FE,结束扇区 63 0x3F 低6位,结束柱面号 764 0x02FCB 高2位 + 尾字节
* 3F 00 00 00 ,表示首扇区的相对扇区号为 63,0x0000 003F
* 7E 86 BB 00 ,表示总扇区数量为 12289622,0x00BB 8656
**********************************************************************************/
DPT
DPT,硬盘分区表,最多包含四个分区表表项,偏移地址,0x01BE ~ 0x01FD
每个分区表表项占16个字节,4个表项共64字节,每个表项对应一个分区的分区表,最开始是主分区的分区表
硬盘的总分区数不能大于4,可激活分区数不得大于3,扩展分区数不得大于1,当前活动分区数量必须小于等于1
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200603122251665.png)
80 01 01 00 07 FE FF 7B 3F 00 00 00 3D A8 DA 00
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200603122400434.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI4MTQ3Njc5,size_16,color_FFFFFF,t_70)
结束标志偏移地址,0x01FE ~ 0x01FF,这两个字节值为结束标志,0x55AA,如果该标志错误系统就不能启动
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)