跳过正文
  1. Posts/

一个整体的开机流程

·1152 字·3 分钟· loading · loading · · ·
ICE345
作者
ICE345
CS Student | System | Linux | OCaml

当然!启动计算机的过程,从开机到加载操作系统并进入桌面,涉及多个阶段和组件。下面详细介绍了整个启动过程,包括 BIOS/UEFI、引导加载程序、启动管理器的作用以及操作系统的加载。

1. 开机自检 (POST)
#

  1. 开机
  • 当您打开计算机电源时,电源会向主板和所有连接的组件供电。
  1. POST
  • 固件(BIOS 或 UEFI)运行一系列称为开机自检 (POST) 的诊断测试。这会检查必要的硬件组件(CPU、RAM、存储设备等)以确保它们正常运行。如果发生任何错误,系统可能会显示错误消息或蜂鸣代码。

2. 固件初始化
#

  1. BIOS/UEFI 初始化
  • 完成 POST 后,固件初始化硬件并为启动过程设置环境。
  • BIOS(基本输入/输出系统)是旧系统中使用的传统固件,而 UEFI(统一可扩展固件接口)是现代替代品,可提供增强的功能,包括支持更大的磁盘和更快的启动时间。
  • UEFI 固件会初始化storage(SSD, HDD 等), cpu, memory(RAM) 基本外围设备。一开始,主机控制权在 UEFI 固件中,然后如果有 bootloader 或者 boot manager,控制权可能就转交给他们。系统加载完成后,控制权就交给系统了。

3. 启动设备选择
#

  1. 启动顺序
  • 固件查看其设置中配置的启动顺序以确定从哪个设备启动(例如硬盘、SSD、USB、网络)。
  • UEFI 通常具有图形界面来配置启动选项,而 BIOS 可能具有基于文本的界面。

4. 加载引导加载程序(bootloader)
#

  1. 引导设备访问
  • 固件访问所选的引导设备并查找引导加载程序。
  • 如果 GPT 磁盘带有 UEFI,它将扫描 EFI 系统分区 (ESP) 以查找引导条目。
  1. 加载引导加载程序
  • UEFI 根据引导顺序找到适当的 .efi 文件(例如,GRUB 的 grubx64.efi)并将其加载到内存中。

5. 引导管理器(如果适用)
#

  1. 引导管理器角色
  • 如果引导加载程序(如 GRUB)包含引导管理器功能,则在检测到多个操作系统时,它将向用户显示菜单。例如,GRUB 可以显示 Linux 和 Windows 的选项。
  • 如果没有显示菜单,它将自动加载默认操作系统。

6. 加载操作系统
#

  1. 操作系统内核加载
  • 一旦用户选择操作系统或选择默认操作系统,引导加载程序就会执行必要的命令,将操作系统的内核加载到内存中。
  • 引导加载程序将控制权交给内核,初始化内核的子系统并加载运行操作系统所需的基本驱动程序。
  1. 用户空间初始化
  • 内核初始化系统进程和服务,挂载根文件系统,并为用户空间应用程序准备环境。
  • 这包括加载必要的驱动程序和系统服务,使计算机能够与键盘、鼠标和显示器等硬件进行通信。

启动过程摘要:
#

  1. 固件 (BIOS/UEFI) 执行开机自检 (POST)
  2. 固件初始化硬件组件并检查启动顺序
  3. 找到并从EFI 系统分区或 MBR 加载引导加载程序(如 GRUB)。
  4. 如果适用,启动管理器会显示一个菜单供操作系统选择。
  5. 引导加载程序将操作系统内核加载到内存中。
  6. 操作系统初始化系统进程并准备用户环境。

从开机到进入桌面的整个过程通常只需几秒到一分钟,具体取决于硬件性能以及操作系统及其配置的复杂性。

相关文章