我们每天登录Linux服务器,通常只需要开机、等待几秒,再输入用户名和密码。但在登录界面出现之前,系统其实已经完成了一条非常复杂的启动链路。
从BIOS或UEFI执行硬件自检,到寻找可启动设备;从GRUB加载Linux内核,到内核初始化CPU、内存、驱动和文件系统;再到systemd以PID 1启动,按照target依赖关系拉起网络、SSH、日志以及各类系统服务——任何一个环节出现问题,都可能导致服务器卡在黑屏、进入救援模式,甚至完全无法启动。
很多人处理Linux启动故障时,上来就重启、改配置或者重装系统,却没有先判断问题究竟发生在固件层、引导层、内核层,还是用户空间。这样排查不仅效率低,还可能破坏原本能够恢复的系统环境。
今天分享Linux真实的启动顺序,把整个过程拆成8个关键阶段,讲清楚BIOS/UEFI、启动设备、GRUB、Linux内核、systemd、target单元、启动脚本和用户登录之间的关系。理解这条链路后,再遇到开机卡顿、GRUB报错、内核启动失败或服务无法拉起,就能快速定位故障所在的环节。