系统的启动流程

学习链接:

http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X+sp/courseware/1d95cdf6f0e943448801e538b039300a/ffca4e1f29a145338461662b9b37fcf2/

系统的启动大概流程:加电-->BIOS-->加载程序-->内核映像

可以细分如下:

CPU的初始化

CPU加电稳定后从0xfffff0读第一条指令

  CS:IP = 0xf000:fff0

  第一条指令是跳转指令

CPU初始化状态为16位实模式

  CS:IP是16位的寄存器

  指令指针PC=16*CS+IP

  最大地址空间是1M

BIOS初始化过程

  硬件自检POST

  检测系统中内存和显卡等关键部件的存在和工作状态

  查找并执行显卡等接口卡BIOS,进行设备初始化

  执行系统的BIOS,进行系统检测

    检测和配置系统中安装的即插即用设备

  更新CMOS中的扩展系统配置数据ESCD

  按指定启动顺序从软盘、硬盘、或者光盘启动

主引导记录MBR格式

  启动代码:446字节

    检查分区表正确性

    加载并跳转到磁盘上的引导程序

  硬盘分区表:64个字节

    描述分区状态和位置

    每个分区描述信息占据16个字节

  结束标志:2个字节(55AA)

    主引导记录的有效标志

分区引导扇区格式

  跳转指令:跳转到启动代码

    与平台相关的代码

  文件卷头:文件系统描述信息

  启动代码:跳转到加载程序

  结束标志:55AA

 加载程序的细化

系统启动规范

  BIOS

    固话到计算机主板上的程序

    包括系统设置,自检程序和系统自启动程序

    BIOS-MBR,BIOS-GPT,PXE

  UEFI

    接口标准

    在所有平台上一致的操作系统启动服务

原文地址:https://www.cnblogs.com/y15821933792/p/8934420.html