从按下开机键到Linux系统界面显示,这中间究竟经历了怎样的过程?本文将为您一一揭开Linux启动的神秘面纱,详细剖析每个环节的工作原理,让你从内核出生到系统服务启动,一路见证这个过程的壮阔与精彩。
一、概述
Linux系统的启动过程大致可以分为以下几个阶段:
- 上电自检(POST)
- 基础输入输出系统(BIOS)
- 主引导记录(MBR)和引导加载程序(GRUB)
- 加载内核(Kernel)
- 初始化init进程
- 启动运行级别(Runlevel)
接下来,我们就一起走进每个阶段,深入探索其中的奥秘。
二、上电自检(POST)
上电后,首先是上电自检(Power-On Self-Test,POST)环节,主要工作是检查计算机硬件是否正常。
POST由主板上的BIOS芯片中的指令完成,它会逐一检查系统中的硬件设备,包括CPU、内存、硬盘等。
POST 工作流程如下:
- 当计算机加电时,BIOS 会首先进行加电自检 (POST),检查计算机硬件是否正常工作,例如 CPU、内存、硬盘等。
- 如果硬件检测失败,BIOS 会发出警报或显示错误信息。
- 如果硬件检测成功,BIOS 会继续执行启动过程。
三、基础输入输出系统(BIOS)
BIOS 是英文 Basic Input/Output System 的缩写,中文意思是基本输入输出系统。它是一段固化到计算机主板上的程序, 它负责管理计算机最基本的硬件设备,例如键盘、鼠标、显示器、硬盘等,并引导操作系统,提供系统设置选项,负责管理电源 。
1、BIOS 的功能和作用
-
硬件检测和初始化,确保计算机硬件正常工作
在计算机启动时,BIOS 会检测并初始化所有连接到主板的硬件设备,例如键盘、鼠标、显示器、硬盘等,确保这些设备能够正常工作。
-
引导操作系统
BIOS 会从硬盘或其他启动设备中加载操作系统内核,并将其传递给操作系统进行启动。
-
提供系统设置选项
BIOS 提供一些系统设置选项,例如启动顺序、日期和时间、硬件配置等,方便用户进行系统配置。
-
管理电源
BIOS 可以控制计算机的电源状态,例如开机、关机、休眠等,方便用户进行电源管理。
2、 BIOS 的类型
-
传统 BIOS: 传统 BIOS 是使用 16 位代码编写的,它只支持 16 位 CPU 和 1MB 以下的内存。
-
UEFI BIOS: UEFI BIOS 是使用 32 位或 64 位代码编写的,它支持 32 位或 64 位 CPU 和更大的内存。
3、BIOS 的工作流程
Step1, 加电自检 (POST)过程
BIOS 系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检过程(按下电源开关后,BIOS检查设备,可以听到“滴”的一声就说明设备正常),这个过程其实就是检查CPU和内存,计算机最基本的组成单元(控制器、运算器和存储器)。
Step2, 加载 MBR
BIOS还有一个主要的功能就是存储了磁盘的启动顺序,BIOS会按照启动顺序去查找第一个磁盘头的MBR信息,并加载和执行MBR中的Bootloader程序&#x