磁盘分区和引导

什么是MBR

     硬盘的0柱面、0磁头、1扇区称为主引导扇区,该记录占用512个字节,它用于硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。

  磁盘第一个扇区主要记录了两个重要信息,分别是

   1.主引导记录(Master Boot Record,MBR),可以安装开机管理程序(系统引导程序,BootLoader)的地方,有446个字节。

   2.分区表,记录整个硬盘的分割状态,有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)数据安全性

       各个分区的数据是分离的,C盘出问题了,D盘不会受到影响。

  (2)效率

        由分区将数据集中在某个磁柱区段,第一个分割槽位磁柱号码 1~100
号,如此一来当有数据要读自该分割槽时, 磁盘叧会搜寻前面 1~100 的磁柱范围,由数据
集中了,将有助于数据读取的速度


分区表只有记录四组数据的空间,并不意味着只能有4个分区,可以使用扩展分区,扩展分区内可以划分逻辑分区。


 X86开机流程

引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上读到RAM中 然后跳转到内核的入口点去运行,也即开始启动操作系统。即如下四

 (1)BIOS: CPU会执行的第一个程序,保存在固件中。

 (2)MBR:BIOS会依据设定去取得能够开机的硬盘,并且会读取该硬盘的第一个扇区的MBR,内涵开机管理程序。

 (3)开机管理程序(Boot Loader)找到操作系统内核

 (4)执行操作系统

  MBR中会存放开机管理程序(BootLoader),而且只有446个字节,所有这个BootLoader是非常小的。它主要完成以下功能:

  (1)提供选:用户可以选择不同的开机选项,这也是多重引导的重要功能。

 (2)载入操作系统内核:直接指向操作系统入口

  (3)转交给其他开机管理程序(Boot Loader)

备注:开机管理程序除了可以安装在MBR之外,也可以安装在其他主分区的启动扇区中(实现多重引导)。

举一个例子来说,假设你个人计算机有一个硬盘,里面切成四个分割槽,其中第一、二分割槽
分别安装了 Windows 及 Linux, 你要如何在开机时候选择用 Windows 还是 Linux 开机呢?假设
MBR 内安装是可同时认识 Windows/Linux 操作系统开机管理程序,那么整个流程如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值