计算机启动过程中各个步骤
1. 电源自检(POST,Power-On Self-Test)
当计算机接通电源并按下启动按钮时,电源管理单元(PMU)会接收到电源按钮信号,并向主板发送电源开启信号。一旦电源供应正常,主板上的BIOS(或UEFI)会开始执行自检程序,也称为POST。POST的主要目的是检查计算机的硬件组件是否工作正常。
- 检查电源系统:计算机会检查电源插头是否插紧,电源线是否连接牢固,以及电源开关是否处于打开状态。同时,还会检查电源输出是否稳定,以确保计算机能够正常工作。
- 检查硬件组件:BIOS会逐一检查CPU、内存、显卡、硬盘等硬件组件。例如,它会检查CPU的时钟频率和缓存是否正常,内存模块是否存在且能正常访问,显卡和显示器是否连接正常等。
- 显示错误信息:如果POST检测到任何硬件故障,计算机会发出蜂鸣声或在屏幕上显示错误信息,提示用户进行相应的处理。
2. 初始化硬件
完成POST后,BIOS会开始初始化系统中的硬件组件。
- 设置默认配置:BIOS会为硬件组件设置默认的配置参数,如内存时序、硬盘模式等。
- 分配资源:BIOS会为各个硬件组件分配必要的资源,如内存地址、中断号、I/O端口等。这些资源是硬件组件正常工作的基础。
- 准备引导设备:BIOS会检查并准备引导设备,如硬盘或固态硬盘,以便从中加载引导加载程序。
3. 加载引导程序
一旦硬件初始化完成,BIOS会根据用户设置的启动顺序(通常是在BIOS设置菜单中配置的)尝试从指定的存储设备中加载引导加载程序。
- 读取引导扇区:BIOS会尝试读取引导设备的第一个扇区,也称为引导扇区(Boot Sector)。这个扇区通常包含引导加载程序的信息,如位置、大小等。
- 加载引导加载程序:BIOS会将引导加载程序加载到内存中,并准备将其执行。引导加载程序是一个小型的程序,它的主要任务是加载操作系统内核并启动它。
4. 加载操作系统内核
引导加载程序被加载到内存中后,它会开始执行,并将操作系统内核加载到内存中。
- 查找操作系统内核:引导加载程序会在硬盘上搜索操作系统内核的位置。这通常是通过读取文件系统的元数据来实现的。
- 加载内核:一旦找到操作系统内核的位置,引导加载程序会将其加载到内存中。这个过程可能涉及读取多个文件,并将它们组合成一个完整的内核映像。
- 传递控制权:加载完成后,引导加载程序会将控制权传递给操作系统内核。此时,操作系统内核开始执行,并接管计算机的控制权。
5. 操作系统初始化
操作系统内核开始运行后,会进行一系列的初始化操作。
- 初始化设备驱动程序:操作系统会加载并初始化必要的设备驱动程序,以确保硬件设备能够正常工作。这些驱动程序通常存储在硬盘的特定目录中。
- 启动系统服务:操作系统会启动一系列的系统服务,如网络服务、打印服务等。这些服务为用户提供了各种功能支持。
- 配置网络堆栈:如果计算机连接到网络,操作系统会配置网络堆栈,以便进行网络通信。
- 读取配置文件:操作系统会读取各种配置文件,如系统配置文件、用户配置文件等。这些文件包含了系统的默认设置和用户自定义的设置。
- 设置环境变量:操作系统会设置一系列的环境变量,这些变量用于控制程序的运行环境和行为。
6. 显示登录界面
当初始化完成后,操作系统就正式进入了运行状态。此时,用户通常会看到操作系统的启动画面或登录界面。
- 启动画面:操作系统会显示一个启动画面,通常包含操作系统的名称、版本信息、制造商的徽标等。
- 登录界面:如果用户需要登录系统,操作系统会显示一个登录界面。用户可以在此输入用户名和密码来验证身份。一旦验证成功,用户就可以开始使用计算机系统了。