Linux系统的启动过程是如何的?

发布于 2024-04-18  264 次阅读


本文于 2024年4月18日 5:32 更新,注意查看最新内容

Linux系统的启动过程可以分为以下几个阶段:

1.BIOS/UEFI阶段:
当计算机开机时,首先会执行基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)。
BIOS/UEFI会执行自检(POST),检查硬件设备是否正常。
然后,BIOS/UEFI会尝试从预定义的启动设备(通常是硬盘、SSD或光盘)中加载引导程序。

2.引导加载程序阶段:
在BIOS/UEFI确定启动设备后,会加载引导加载程序。
常用的引导加载程序有GRUB(GRand Unified Bootloader)或者类似的BootLoader。
引导加载程序会读取其配置文件(如grub.cfg),其中包含了操作系统的启动选项,如内核的位置、命令行参数等。

3.内核加载阶段:
引导加载程序加载了内核后,控制权被转移到内核。
内核首先会初始化硬件设备,建立起基本的硬件环境。
然后,内核会挂载根文件系统,这个文件系统包含了系统所需的各种文件和目录。

4.用户空间初始化阶段:
一旦内核成功加载,它会启动名为init的用户空间进程。
init进程负责启动系统的其他用户空间进程,初始化系统环境。
在传统的UNIX系统中,init可能是SysV init或者Systemd,它们会根据配置文件启动和管理系统服务。

5.启动服务和登录阶段:
init或者Systemd会启动各种系统服务,如网络服务、文件系统服务等。
最后,系统会显示登录提示符,用户可以输入用户名和密码登录系统。
这就是Linux系统的启动过程的基本流程。在每个阶段,系统都会执行特定的任务,确保系统能够顺利启动并提供服务。


这短短的一生,我们最终都会失去。