原文链接:「链接」

Hello,大家好啊,今天给大家带来一篇 Linux 启动详解的文章grub2命令行启动linuxlinux虚拟机,欢迎大家分享点赞linux系统下载官网,点个在看和关注吧!在日常使用 Linux 系统的过程中,我们可能很少关注它是如何从按下电源键一步步进入图形界面或命令行终端的。但对于系统维护、优化启动速度、排查故障等任务而言,了解 Linux 的启动过程就显得非常重要了。今天就为大家详细拆解一下 Linux 的完整启动流程。

一、BIOS/UEFI 加电自检阶段

当按下电源键时,首先进入的是 BIOS 或 UEFI 固件。它主要完成以下几项任务:

硬件初始化(内存、硬盘、显卡等)

grub2命令行启动linux_Linux启动流程详解_GRUB启动过程分析

加载并执行启动设备(如硬盘、U盘)中的 Boot Loader

提供启动菜单和选择功能

UEFI 是 BIOS 的升级版本grub2命令行启动linux,支持更大磁盘、更快启动和图形界面。

二、Boot Loader 阶段(以 GRUB 为例)

BIOS/UEFI 会将控制权交给 Boot Loader,最常见的是 GRUB(GRand Unified Bootloader)。它负责:

grub2命令行启动linux_Linux启动流程详解_GRUB启动过程分析

加载内核文件(vmlinuz)

加载内存盘(initramfs/initrd)

提供多系统启动菜单

传递启动参数给内核

常见的 GRUB 配置文件路径是 /boot/grub/grub.cfg,我们可以在这里修改默认内核、设置启动等待时间等。

grub2命令行启动linux_Linux启动流程详解_GRUB启动过程分析

三、Kernel 内核阶段

内核是系统的核心,在这一阶段会完成:

初始化硬件驱动

挂载根文件系统(rootfs)

载入 init 程序(PID=1,最初始的用户空间程序)

GRUB启动过程分析_grub2命令行启动linux_Linux启动流程详解

此阶段也会把早期文件系统挂载在 /initrd 或 /initramfs 中,临时支持内核操作。

四、Init/Systemd 阶段(用户空间启动)

从这一刻开始,内核把控制权交给了用户空间程序 init 或 systemd:

Systemd(现代 Linux 默认使用)会并行启动各种服务(unit)

读取配置文件:/etc/systemd/system/、/lib/systemd/system/

grub2命令行启动linux_Linux启动流程详解_GRUB启动过程分析

启动网络、图形服务、登录管理器等

你可以通过以下命令查看启动时间分析:

systemd-analyze

systemd-analyze blame

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复