计算机开机过程笔记

来源:互联网 发布:mac cad中文版下载 编辑:程序博客网 时间:2024/05/29 15:08

1 、BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。BIOS是一个写到主板上的硬件程序,开机的时候BIOS是计算机主动执行的第一个程序,BIOS会去分析计算机里有哪些存储设备(CMOS是记录各项硬件参数并且嵌入在主板上的存储器),BIOS会依据用户的设置去取得能够开机的硬盘,并且到该硬盘去读取第一个扇区的MBR。

2、读取主引导记录(MBR)。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。同时 检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于55AAH,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。MBR就是主引导加载程序(Master Boot Recorder),因为MBR比较小,不能载入操作系统的核心,所以只能先载入一个可以载入计算机核心的程序,这个程序叫做引导程序(grub就是一个引导程序)。第一个扇区有512Byte大小,其中446B是存放MBR,另外有64B是放置硬盘的分区表,另外2B存放magic number,固定为55AA。

3、当检测到有启动设备满足要求后,BIOS将控制权交给相应启动设备。启动设备的MBR将自己复制到0000:0600H处, 然后继续执行。然后 根据MBR中的引导代码启动引导程序(Bootloader)。

4、Bootloader将内核加载到内存,Bootloader有2个阶段