硬盘:
主引导扇区位于整个硬盘的 0 磁道 0 柱面 1 扇区,包括硬盘主引导记录 MBR(Main Boot
Record)和分区表 DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是
否正确以及确定哪个分区为启动分区(活动分区),并在程序结束时把该分区的启动程序(也
就是操作系统引导扇区)调入内存加以执行。
MBR(Master Boot Record),中文意为主引导记录。硬盘的 0 磁道的第一个扇区称为
MBR,它的大小是 512 字节,而这个区域可以分为两个部分。第一部分为 pre-boot 区(预
启动区),占 446 字节;第二部分是 Partition table 区(分区表),占 66 个字节,该区相当
于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并
运行该区中的代码。
MBR 具体组成:
·主引导程序(偏移地址 0000H--0088H),它负责从活动分区中装载,并运行系统引导程
序。
主引导记录最开头是第一阶段引导代码。其中的硬盘引导程序的主要作用是检查分区
表是否正确并且在系统硬件完成自检以后将控制权交给硬盘上的引导程序(如 GNU
GRUB)。MBR 是由分区程序(如 Fdisk)所产生的,它不依赖任何操作系统,而且硬盘引
导程序也是可以改变的,从而能够实现多系统引导。
·分区表(DPT,Disk Partition Table)含 4 个分区项,偏移地址 01BEH--01FDH,每个分区
表项长 16 个字节,共 64 字节为分区项 1、分区项 2、分区项 3、分区项 4。
·结束标志字,偏移地址 01FE--01FF 的 2 个字节值为结束标志 55AA,如果该标志错误系统
就不能启动。
活动分区:
活动分区是计算机启动分区,操作系统的启动文件都装在这个分区,windows 系统下
一般被默认为 C 盘。在 Windows7 中,Windows7 系统自动分出 100MB 的分区用来存放
Windows7 操作系统的启动文件,此分区即为活动分区并且这个分区没有分配盘符。而 Linux
则根据具体设置而定。启动系统时,活动分区上的操作系统将执行一个称为驱动器映像的过
程,它给主分区和逻辑驱动器分配驱动器名。所有的主分区首先被映像,而逻辑驱动器用后
续的字母指定。
主引导扇区的读取流程
§ 系统开机或者重启。
1. BIOS 加电自检( Power On Self Test -- POST )。BIOS 执行内存地址为
FFFF:0000H 处的跳转指令,跳转到固化在 ROM 中的自检程序处,对系统硬件(包
括内存)进行检查。
2. 读取主引导记录(MBR)。当 BIOS 检查到硬件正常并与 CMOS 中的设置相符后,
按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS 将相应启动设
备的第一个扇区(也就是 MBR 扇区)读入内存地址为 0000:7C00H 处。
3. 检查 0000:7DFEH-0000:7DFFH(MBR 的结束标志位)是否等于 AA55H,若不等于
则转去尝试其他启动设备,如果没有启动设备满足要求则显示
系统启动过程详解 来自淘豆网m.daumloan.com转载请标明出处.