(一)系统启动流程

系统启动流程

  • CPU初始化

    • CS:IP = 0xf000:fff0

    • 第一条指令是跳转指令

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

    • CS:IP是16位寄存器

    • 指令指针PC = 16*CS + IP

    • 最大地址空间是1MB

  • BIOS初始化过程

    • 硬件自检POST

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

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

    • 执行系统BIOS,进行系统检测;

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

    • 更新CMOS中的拓展系统配置数据ESCD(能知道系统有什么设备,会变)

    • 按指定启动顺序软盘、硬盘或光驱启动。(读进到第一块扇区)

  • 主引导记录MBR格式

    • 启动代码:446字节

      • 检查分区表正确性

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

    • 硬盘分区表:64字节

      • 描述分区状态和位置

      • 每个分区描述信息占据16字节(4个分区)

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

      • 主引导记录的有效标志

  • 分区引导扇区格式

    • 跳转指令: 跳转到启动代码 (jmp)

      • 与平台相关代码

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

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

    • 结束标志: 55AA

  • 加载程序(bootloader)

    • 文件系统中读取启动配置信息 (加载程序)

    • 可选的操作系统内核列表和加载参数 (启动菜单) (加载时候内核或参数不同)

    • 依据配置加载指定内核并跳转到内核执行 (操作系统内核)

  • 系统启动规范

    • BIOS (启动流程标准)

      • 固化到计算机主板上的程序

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

      • BIOS-MBR(主引导记录)、BIOS-GPT(全局唯一标识分区表)、PXE(网络系统, 从服务器上下载镜像)

    • UEFI

      • 接口标准

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

      • 可信启动流程,读磁盘上的引导记录时候,会对引导记录的可信性进行检查。可信这些代码在我的系统上运行。

 

posted @ 2017-02-23 00:18  douzujun  阅读(234)  评论(0编辑  收藏  举报