谷动谷力

标题: Linux系统的启动完整过程 [打印本页]

作者: sunsili    时间: 2023-10-24 15:12
标题: Linux系统的启动完整过程

Linux系统的启动完整过程


Linux系统的启动过程是一个复杂的过程,涉及多个阶段和组件的协同工作。其主要经过以下几个阶段:

1.BIOS/UEFI阶段
开始时,计算机的基本输入/输出系统(BIOS)或统一固件接口(UEFI)被激活。这些固件负责执行初始硬件自检(POST)以及初始化一些基本硬件设置。UEFI相比BIOS更加现代,支持更多功能。

2.引导加载程序阶段
BIOS/UEFI根据设置的启动设备(通常是硬盘)中的引导记录(bootloader)来加载引导加载程序。常用的引导加载程序有GRUB(Grand Unified Bootloader)和Syslinux等。引导加载程序的任务是加载操作系统内核。

3.内核启动阶段
引导加载程序加载Linux内核镜像(通常是vmlinuz或bzImage),将其加载到内存中并开始执行。内核的启动包括以下步骤:
4.initramfs/initrd阶段
如果使用了initramfs(initial RAM filesystem),内核会在此阶段将initramfs加载到内存中。initramfs包含必要的文件和工具,以便在根文件系统挂载之前进行一些初始化操作,例如加载必要的驱动程序和准备根文件系统。

5.用户空间初始化
一旦根文件系统挂载,init进程(或其替代品,如systemd)会在用户空间初始化操作系统环境。这包括启动各种系统服务、加载驱动程序、配置网络、设置用户环境等。

6.运行级别/目标
在传统的init系统中,系统可以进入不同的运行级别(也称为运行模式或运行目标),例如单用户模式、多用户模式、图形界面模式等。每个运行级别都定义了在系统启动时需要运行的特定服务和进程。

7.系统服务启动
系统服务和守护进程(如网络服务、打印服务、时钟同步等)会在此阶段启动。这些服务通常由init脚本或现代的init系统如systemd来管理。

8.登录管理器/显示管理器
如果系统配置为使用图形界面,登录管理器(如GDM、LightDM)将被启动,提供图形登录界面供用户登录。用户可以在这里输入用户名和密码。

9.用户登录
一旦用户通过登录管理器成功登录,桌面环境或命令行Shell会被启动,用户可以开始在系统上进行操作。
    总的来说,Linux系统启动过程包括了硬件初始化、引导加载程序、内核启动、用户空间初始化、系统服务启动等多个阶段,最终使系统进入可操作状态。随着技术的发展,一些细节可能会有所不同,尤其是在新的引导和初始化系统出现后(如systemd)






欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2