计算机启动流程

本文详细介绍了计算机从加电到启动的整个流程,包括CPU初始化、BIOS初始化,以及加载程序的过程。在CPU初始化阶段,CPU从0xFFFF0地址读取第一条跳转指令进入16位实模式。BIOS进行POST硬件自检,配置系统设备,并根据主引导记录MBR加载启动程序。MBR包含启动代码和分区表信息,分区引导扇区则指示加载程序的位置。最后,加载程序读取启动配置信息,加载操作系统内核。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

note :了解计算机启动的step 1做了什么!

简述一句话:加电后,读取BIOS,BIOS读取加载程序,加载程序读内核映像。
在这里插入图片描述

1. CPU初始化

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

  • 第一条指令是跳转指令
  • CS:IP = 0xf0000 : fff0
  • CPU初始状态为16位实模式
  • PC = 16 * CS + IP
  • 最大地址空间1MB

2. BIOS初始化

别人文章的介绍:BIOS基本流程介绍

一句话简述里说,“读取BIOS,BIOS读取加载程序“,其实这里还有很多事情要做:

  1. 硬件自检POST:加电自检,检测系统中内存、显卡等关键部件是否存在、是否在正常工作,将他们进行初始化。
  2. 执行系统BIOS:进行系统检测,检测和配置系统中安装的即插即用设备;更新CMOS中的扩展系统配置数据ESCD
  3. 按指定启动顺序 从软盘、硬盘或光驱启动

老式电脑只有1个磁盘,1个分区,但现在电脑可能有好几个磁盘、分区,该去哪一个分区找加载程序呢?——

主引导记录MBR格式

在这里插入图片描述
(看图,最多只能描述4个分区)

启动代码:446字节

  • 检查分区表正确性
  • 加载并跳转到磁盘上的引导程序

硬盘分区表:64字节

  • 描述分区状态和位置
  • 每个分区描述信息占据16字节

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

  • 主引导记录的有效标志

通过读取上面的主引导扇区代码,就可以跳转到活动分区的引导扇区去了!


分区引导扇区格式

在这里插入图片描述

  • JMP : 跳转指令,跳转到启动代码,和平台有关
  • 文件卷头:文件系统描述信息
  • 启动代码:跳转到加载程序。注意:加载程序不是存在这512个字节里!存在哪由此处约定、告知,一般存在硬盘里,可以改动。

3.加载程序

在这里插入图片描述

从文件系统中读取启动配置信息(windows、linux的格式就不一样),依据配置信息确定启动参数(正常启动、安全模式启动、调试状态启动等等),所以在加载内核时候会有不同。


系统启动规范

BIOS

  • 固化到计算机主板上的程序
  • 包括系统设置、自检程序和系统自启动程序
  • BIOS-MBR(最多描述4个分区,看上边的图)
  • BIOS-GPT(全局唯一标识分区表,用来描述更多的分区结构,可以大于4,MBR的进一步发展)
  • PXE (网络启动的标准)

UEFI

  • 接口标准
  • 在所有平台上一致的操作系统启动服务
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值