原文链接:「链接」
Hello,大家好啊,今天给大家带来一篇 Linux 启动详解的文章,欢迎大家分享点赞,点个在看和关注吧!在日常使用 Linux 系统的过程中,我们可能很少关注它是如何从按下电源键一步步进入图形界面或命令行终端的。但对于系统维护、优化启动速度、排查故障等任务而言,了解 Linux 的启动过程就显得非常重要了。今天就为大家详细拆解一下 Linux 的完整启动流程。
一、BIOS/UEFI 加电自检阶段
当按下电源键时,首先进入的是 BIOS 或 UEFI 固件。它主要完成以下几项任务:
硬件初始化(内存、硬盘、显卡等)
加载并执行启动设备(如硬盘、U盘)中的 Boot Loader
提供启动菜单和选择功能
UEFI 是 BIOS 的升级版本,支持更大磁盘、更快启动和图形界面。
二、Boot Loader 阶段(以 GRUB 为例)
BIOS/UEFI 会将控制权交给 Boot Loader,最常见的是 GRUB(GRand Unified Bootloader)。它负责:
加载内核文件(vmlinuz)
加载内存盘(initramfs/initrd)
提供多系统启动菜单
传递启动参数给内核
常见的 GRUB 配置文件路径是 /boot/grub/grub.cfg,我们可以在这里修改默认内核、设置启动等待时间等。
三、Kernel 内核阶段
内核是系统的核心,在这一阶段会完成:
初始化硬件驱动
挂载根文件系统(rootfs)
载入 init 程序(PID=1,最初始的用户空间程序)
此阶段也会把早期文件系统挂载在 /initrd 或 /initramfs 中,临时支持内核操作。
四、Init/Systemd 阶段(用户空间启动)
从这一刻开始,内核把控制权交给了用户空间程序 init 或 systemd:
Systemd(现代 Linux 默认使用)会并行启动各种服务(unit)
读取配置文件:/etc/systemd/system/、/lib/systemd/system/
启动网络、图形服务、登录管理器等
你可以通过以下命令查看启动时间分析:
systemd-analyze
systemd-analyze blame
五、登录阶段
最终,系统进入登录阶段:
控制台模式:使用 getty 提供 tty 登录界面
图形模式:通过 GDM、LightDM、SDDM 等图形登录管理器进入桌面环境
至此,整个启动过程才算正式完成!
六、总结:Linux 启动流程图
如果你希望进一步探索:
如何设置系统启动项:grub-mkconfig、grub-customizer
systemd 高级用法:systemctl, journalctl
排查启动失败问题:查看 /var/log/boot.log 或使用恢复模式
以上就是今天为大家带来的 Linux 启动流程详解,希望能帮助你更深入地理解系统底层的运行逻辑。如果觉得有用,欢迎点赞、收藏、转发分享!我们下期再见,拜拜!