前言

从某书上看到,记录下来~~

BIOS

Basic Input/Output System,输入输出系统。当CPU的复位引脚被触发,在0xfffffff0处执行一条命令,转跳到ROM中的启动代码,并开始执行,这些代码称为BIOS。

主要作用

硬件自检(BIOS自检、上电自检POST),检测系统外围关键设备是否正常。如果自检发现严重故障,直接停机,没有任何提示或者信号,非严重故障,出现提示或者报警信号。

引导设备

在BIOS中需要设定一个顺序,在自检完成之后,按顺序将控制权转交给外部设备。

系统引导

PC引导(bootloader)分两部分,主引导记录(MBR),引导位于某个分区上的第二部分引导程序,如NTLDR、BOOTMGR、GRUB。主引导主要告诉计算机,硬盘哪个位置找操作系统,1~446字节:调用操作系统的机器码,447~510:分区表,511~512:主引导记录签名(0x55和0xAA)

从BIOS上获取到控制权后,读取该设备的第一扇区(前512字节),如果最后两字节为0x55和0xAA,就表明设备可以启动,否则将控制权移到下一设备。

分区

分区表长度64字节,分为4项,每项16字节,所以一个硬盘最多只有4个一级分区(主分区)。第1字节:0x80表示主分区激活,一级分区只能有一个是激活的。2~4字节:主分区第一扇区的物理地址(柱面、磁头、扇区号等)。5:主分区类型。6~8:主分区最后一个扇区的物理位置。9~12:第一个扇区的逻辑地址。13~16:主分区的扇区总数。所以一个分区最大为扇区大小*(2^32)。

系统在激活的主分区:计算机会读取激活分区的第一个扇区,激活分区叫作卷引导记录(VBR),此时会加载操作系统。

系统在逻辑分区:分区表只有四项,因此规定了其中一个区可以定义成扩展分区,在该分区中又有多个逻辑分区。先读取第一个扇区扩展引导记录EBR,里面也包含一张64字节的分区表,分区表分为两项,描述第一个逻辑分区和描述第二个逻辑分区,这样可以完成无限个分区连续。如果要启动这个分区上的系统,需要事先安装好启动管理器,如GRUB,这意味着第二部分代码启动了,在此选择启动系统。