Linux系统开机流程

Linux系统开机启动的过程可以分为BIOS自检阶段、引导程序加载阶段、内核启动阶段三个阶段。

BIOS自检阶段

当计算机开机时,先由计算机的主板芯片组中的BIOS(Basic Input/Output System,基本输入输出系统)自检硬件,例如内存、硬盘、光驱、键盘、指针设备等是否正常并提供接口信息。单板系统的BIOS存储在主板上的一个芯片中,而桌面机的BIOS则存储在主板上的一个闪存芯片中。

引导程序加载阶段

BIOS自检完毕后,会寻找存储设备上的引导程序。Linux不同于Windows操作系统,在安装时会在主分区(MBR)中启动引导程序。由于Linux的引导程序较小,因此它经常被存储在一个名为“/boot”的分区中。一旦BIOS找到了引导程序,它就把引导程序从存储设备的起始扇区读取进内存,并跳转到引导程序的入口点,由引导程序来完成后续的加载操作。常见的Linux引导程序包括LILO(Linux Loader)和GRUB (GRand Unified Bootloader)。

内核启动阶段

引导程序的主要工作是读取硬盘中的Linux内核文件。Linux内核文件的名字通常是“vmlinuz”。内核被加载到内存之后,引导程序将把控制权交给内核,内核接着会初始化操作系统所以必要的硬件和软件资源,同时加载文件系统,使系统能够确定和管理硬件设备,最终启动X窗口管理器并提供系统使用。