什么是MBR
硬盘的0柱面、0磁头、1扇区称为主引导扇区,该记录占用512个字节,它用于硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。
的第一个扇区主要记录了两个重要的信息,分别是
引导记录(Master Boot Record,MBR),可以安装开机管理程序(系统引导程序,BootLoader)的地方,有446个字节。
.分区表,记录整个硬盘的分割状态,有64字节。
MBR的组成
一个扇区的硬盘主引导记录MBR由如下图所示的4个部分组成。
- 主引导程序(偏移地址0000H—0088H),它负责从活动分区中装载,并运行系统引导程序。
- 出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。
- 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。
- 结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。
0000-0088
Master Boot Record
主引导程序
主引导
程序
0089-01BD出错信息数据区数据区
01BE-01CD
分区项1(16字节)
分区表
01CE-01DD
分区项2(16字节)
…
01DE-01ED
分区项3(16字节)
…
01EE-01FD
分区项4(16字节)
…
01FE
55
结束标志
01FF
AA
…
MBR中的分区信息结构
占用512个字节的MBR中,偏移地址01BEH--01FDH的64个字节,为4个分区项内容(分区信息表)。它是由磁盘介质类型及用户在使用 FDISK定义分区说确定的。在实际应用中,FDISK对一个磁盘划分的主分区可少于4个,但最多不超过4个。每个分区表的项目是16个字节,其内容含义 如表6-19所示。
表6-19 分区项表(16字节)内容及含义
存贮字节位内容及含义第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字节本分区的总扇区数
为什么需要分区?
(1)数据安全性
受到影响。
(2)效率
于分区将数据集中在某个磁柱的区段,第一个分割槽位于磁柱号码 1~100
号,如此一来当有数据要读取自该分割槽时, 磁盘叧会搜寻前面 1~100 的磁柱范围,由于数据
集中了,将有助于数据读取的速度。
分区表只有记录四组数据的空间,并不意味着只能有4个分区,可以使用扩展分区,扩展分区内可以划分逻辑分区。
X86开机流程
引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上读到RAM中 然后跳转到内核的入口点去运行,也即开始启动操作系统。即如下四步:
会执行的第一个程序,保存在固件中。
(2)MBR:BIOS会依据设定去取得能够开机的硬盘,并且会读取该硬盘的第一个扇区的MBR,内涵开机管理程序。
开机管理程序(Boot Loader),找到操作系统内核
执行操作系统
tLoader),而且只有446个字节,所有这个BootLoader是非常小的。它主要完成以下功能:
项:用户可以选择不同的开机选项,这也是多重引导的重要功能。
(2)载入操作系统内核:直接指向操作系统入口
3)转交给其他开机管理程序(Boot Loader)
备注:开机管理程序除了可以安装在MBR之外,也可以安装在其他主分区的启动扇区中(实现多重引导)。
举一个例子来说,假设你的个人计算机只有一个硬盘,里面切成四个分割槽,其中第一、二分割槽
分别安装了 Windows 及 Linux, 你要如何在开机的时候选择用 Windows 还是 Linux 开机呢?假设
MBR 内安装的是可同时认识 Windows/Linux 操作系统的开机管理程序,那么整个流程如下: