跳转至

一个整体的开机流程

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

1. 开机自检 (POST)

  1. 开机
  2. 当您打开计算机电源时,电源会向主板和所有连接的组件供电。

  3. POST

  4. 固件(BIOS 或 UEFI)运行一系列称为开机自检 (POST) 的诊断测试。这会检查必要的硬件组件(CPU、RAM、存储设备等)以确保它们正常运行。如果发生任何错误,系统可能会显示错误消息或蜂鸣代码。

2. 固件初始化

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

3. 启动设备选择

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

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

  1. 引导设备访问
  2. 固件访问所选的引导设备并查找引导加载程序。
  3. 如果 GPT 磁盘带有 UEFI,它将扫描 EFI 系统分区 (ESP) 以查找引导条目。

  4. 加载引导加载程序

  5. UEFI 根据引导顺序找到适当的 .efi 文件(例如,GRUB 的 grubx64.efi)并将其加载到内存中。

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

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

6. 加载操作系统

  1. 操作系统内核加载
  2. 一旦用户选择操作系统或选择默认操作系统,引导加载程序就会执行必要的命令,将操作系统的内核加载到内存中。
  3. 引导加载程序将控制权交给内核,初始化内核的子系统并加载运行操作系统所需的基本驱动程序。

  4. 用户空间初始化

  5. 内核初始化系统进程和服务,挂载根文件系统,并为用户空间应用程序准备环境。
  6. 这包括加载必要的驱动程序和系统服务,使计算机能够与键盘、鼠标和显示器等硬件进行通信。

启动过程摘要:

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

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