huanayun
hengtianyun
vps567
莱卡云

[Linux操作系统]探秘Linux系统启动过程,从开机到桌面|linux系统启动过程的处理步骤,Linux系统启动过程

PikPak

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]免梯免翻墙-ChatGPT拼车站月卡 | 可用GPT4/GPT4o/o1-preview | 会话隔离 | 全网最低价独享体验ChatGPT/Claude会员服务

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

Linux系统启动过程涉及多个关键步骤:BIOS/UEFI初始化硬件并加载MBR/ESP;引导加载器(如GRUB)启动,选择内核并传递参数;随后,内核加载并初始化核心组件,启动init进程;init进程根据运行级别(如System VSystemd)启动系统服务;显示管理器启动,呈现用户登录界面。整个过程确保系统从硬件层面逐步过渡到用户可操作的桌面环境。

Linux系统作为开源操作系统的代表,以其稳定性和灵活性广泛应用于服务器、嵌入式设备和桌面系统等领域,了解Linux系统的启动过程,不仅有助于系统管理员进行故障排查和优化,也能让普通用户对操作系统有更深入的认识,本文将详细解析Linux系统启动的各个阶段,带你探究竟。

1. BIOS/UEFI启动

当计算机电源开启后,首先启动的是基本输入输出系统(BIOS)或统一可扩展固件接口(UEFI),BIOS/UEFI负责初始化硬件设备,如CPU、内存、硬盘等,并进行一系列自检(POST),自检完成后,BIOS/UEFI会根据配置的启动顺序,加载启动设备上的引导程序。

2. 引导加载器(Bootloader)

引导加载器是系统启动的关键组件,常见的有GRUB、LILO等,以GRUB为例,它会在启动设备上查找配置文件(通常是/boot/grub/grub.cfg),并根据配置加载内核和初始化内存盘(initrd或initramfs)。

GRUB启动过程

1.第一阶段:MBR(主引导记录)中的GRUB第一阶段代码被加载并执行,这部分代码很小,主要任务是加载第阶段代码。

2.第二阶段:GRUB加载其配置文件和模块,显示启动菜单,允许用户选择不同的内核或操作系统。

3.加载内核和initrd:用户选择启动项后,GRUB加载指定的内核和initrd文件到内存中,并将控制权传递给内核。

3. 内核启动

内核是操作系统的核心,负责管理硬件资源、进程调度、内存管理等,内核启动后,首先进行硬件检测和初始化,包括CPU、内存、硬盘、网络设备等。

内核初始化过程

1.解压缩内核:内核被加载到内存后,首先进行解压缩。

2.硬件检测:内核检测并初始化系统硬件,加载必要的驱动程序。

3.挂载根文件系统:内核通过initrd提供的临时文件系统,加载根文件系统的驱动程序,并将根文件系统挂载到/

4. initrd/initramfs

initrd(Initial RAM Disk)或initramfs(Initial RAM File System)是一个临时的文件系统,包含内核启动初期所需的驱动程序和工具,它的主要作用是提供一个过渡环境,以便内核能够挂载真正的根文件系统。

initrd/initramfs的作用

1.加载驱动程序:提供根文件系统所需的驱动程序,如SCSI、SATA驱动。

2.执行初始化脚本:执行一些必要的初始化脚本,如设置网络、解密加密的根文件系统等。

5. 初始化系统(init)

内核启动完成后,会执行第一个用户空间进程——initinit进程的PID为1,是所有其他进程的父进程。init进程负责启动系统服务和管理运行级别。

SysVinit:传统的初始化系统,使用/etc/inittab配置文件,定义了不同的运行级别和相应的启动脚本。

Upstart:较新的初始化系统,采用事件驱动机制,逐步取代SysVinit。

Systemd:目前主流的初始化系统,具有并行启动、依赖管理、日志管理等功能。

6. 运行级别和服务启动

运行级别(Runlevel)定义了系统的不同状态,常见的有0(关机)、1(单用户模式)、3(多用户文本模式)、5(图形界面模式)等。

SysVinit运行级别

1.单用户模式:只允许root用户登录,用于系统维护。

2.多用户文本模式:多用户登录,但没有图形界面。

3.图形界面模式:多用户登录,启动图形界面。

Systemd目标单元:Systemd使用目标单元(Target Unit)代替传统的运行级别,如graphical.target对应图形界面模式。

7. 用户登录和桌面环境

当系统进入多用户模式或图形界面模式后,用户可以登录系统,图形界面模式下,会启动桌面环境(如GNOME、KDE、XFCE等),提供图形化的用户界面。

桌面环境启动过程

1.显示管理器:如GDM、KDM、LightDM等,负责用户登录界面的显示和管理。

2.会话管理器:管理用户会话,启动桌面环境和应用程序。

3.窗口管理器:管理窗口的显示和操作。

8. 系统启动完成

当桌面环境完全加载后,系统启动过程结束,用户可以开始使用操作系统进行各种操作。

Linux系统的启动过程是一个复杂而有序的流程,涉及BIOS/UEFI、引导加载器、内核、initrd/initramfs、初始化系统、运行级别、服务启动和桌面环境等多个环节,了解这一过程,不仅有助于系统管理和故障排查,也能让我们更好地理解操作系统的内部工作机制。

相关关键词

Linux系统, 启动过程, BIOS, UEFI, 引导加载器, GRUB, LILO, 内核, initrd, initramfs, 硬件检测, 根文件系统, init进程, SysVinit, Upstart, Systemd, 运行级别, 服务启动, 用户登录, 桌面环境, GNOME, KDE, XFCE, 显示管理器, 会话管理器, 窗口管理器, MBR, 配置文件, 驱动程序, 硬件初始化, 临时文件系统, PID, 事件驱动, 并行启动, 依赖管理, 日志管理, 单用户模式, 多用户模式, 图形界面模式, 目标单元, GDM, KDM, LightDM, 系统维护, 故障排查, 操作系统, 开源, 稳定性, 灵活性, 服务器, 嵌入式设备, 桌面系统, 自检, 启动顺序, 解压缩, 挂载, 过渡环境, 初始化脚本, 网络设置, 加密解密, 用户空间, 父进程, 配置文件, 启动脚本, 登录界面, 系统服务, 管理机制, 内部工作, 操作流程, 系统优化

bwg Vultr justhost.asia racknerd hostkvm pesyun Pawns


本文标签属性:

Linux系统启动过程:linux系统启动过程中/etc/rc.d

原文链接:,转发请注明来源!