Linux 系统启动与 GRUB2 核心操作指南
Linux 系统启动与 GRUB2 核心操作指南
Linux 系统的启动过程是一个环环相扣的链条,从硬件自检到用户登录,每一步都依赖关键组件的协作。其中,GRUB2 引导器和systemd 进程是核心枢纽,而运行级别则决定了系统的启动状态。以下是系统启动流程、关键配置及故障处理的详细解析
一、Linux 系统启动全流程
系统启动从硬件通电到登录界面出现,可分为 8 个关键步骤,层层递进:
- 开机自检(POST)
计算机通电后,BIOS/UEFI 会对 CPU、内存、硬盘等硬件进行检测,确保硬件正常工作。检测通过后,定位启动设备(如硬盘) - MBR 引导
从启动设备的MBR(主引导记录) 中读取引导程序 GRUB2(MBR 位于硬盘第一个扇区,仅 512 字节)。 - GRUB2 菜单加载
GRUB2 读取配置文件/boot/grub2/grub.cfg,解析内容并显示引导菜单(如多系统选择、内核版本选择) - 加载 Linux 内核
用户选择内核后,GRUB2 将内核文件(如/boot/vmlinuz-xxx)和初始化内存盘(/boot/initramfs-xxx.img)载入内存 - 内核初始化
内核接管系统控制权,完成内存分配、进程调度、驱动加载等基础环境搭建,为后续进程运行铺路 - 启动 systemd 进程
内核初始化完成后,启动系统第一个进程systemd(进程号为 1),它是所有后续进程的父进程 - 设置运行级别
systemd 读取/etc/systemd/system/default.target文件,确定系统默认运行级别,并启动对应级别的服务(如网络、图形界面) - 进入登录界面
所有服务启动完成后,系统弹出登录界面,等待用户输入账号密码 
二、运行级别:系统状态的 “开关”
运行级别定义了系统启动后的状态,通过对应的 target 文件控制。传统的 0-6 级别与 systemd 的 target 对应关系如下:
常用操作命令:
- 查看当前默认运行级别:
systemctl get-default - 设置默认运行级别(如命令行):
systemctl set-default multi-user.target - 临时切换到图形界面(不改变默认):
systemctl isolate graphical.target 
三、GRUB2 引导器:启动的 “总开关”
GRUB2 是系统启动的关键引导程序,负责加载内核。以下是其核心配置与维护操作:
- 
生成 GRUB2 配置文件
当内核更新或引导菜单需要修改时,需重新生成grub.cfg:grub2-mkconfig -o /boot/grub2/grub.cfg # 推荐方式,直接写入配置文件# 或 grub2-mkconfig > /boot/grub2/grub.cfg - 
GRUB2 加密:防止未授权修改
为避免他人通过 GRUB2 菜单篡改系统(如破解密码),可对 GRUB2 加密:- 
明文加密(简单但密码可见):
编辑/etc/grub.d/00_header,添加:cat << EOFset superusers=\"zhangsan\" # 定义管理员用户password zhangsan 123456 # 用户名+密码(明文)EOF生成配置:
grub2-mkconfig -o /boot/grub2/grub.cfg - 
密文加密(更安全):
先生成密文密码:grub2-mkpasswd-pbkdf2 # 输入密码后,复制输出的密文(不含空格)编辑
/etc/grub.d/00_header,添加:cat << EOFset superusers=\"tom\" # 管理员用户password_pbkdf2 tom 复制的密文 # 密文密码EOF生成配置:
grub2-mkconfig -o /boot/grub2/grub.cfg 
 - 
 
四、应急处理:破解 root 密码与修复 GRUB2
系统故障时,需掌握关键修复技巧:
- 
破解 root 密码(忘记密码时):
- 
重启系统,在 GRUB2 菜单按
e进入编辑模式; - 
找到内核行(以
linux16或linux开头),末尾添加rd.break,按Ctrl+X启动; - 
进入伪系统,重新挂载根目录为读写模式:
mount -o remount,rw /sysroot - 
切换到真实系统环境:
chroot /sysroot; - 
修改 root 密码:
passwd root # 手动输入新密码# 或 echo \"新密码\" | passwd --stdin root # 非交互式设置 - 
修复 SELinux 标签(避免权限问题):
touch /.autorelabel; - 
退出并重启:
exit(两次,第一次退出 chroot,第二次重启系统) 
 - 
 - 
修复 GRUB2 引导器(误删 GRUB2 目录时):
- 
重新安装 GRUB2 到硬盘(以/dev/sda为例):
grub2-install /dev/sda - 
生成配置文件恢复菜单:
grub2-mkconfig -o /boot/grub2/grub.cfg 
 - 
 - 
修复 /boot 目录(内核文件丢失时):
- 
进入救援模式(从安装盘启动,选择 “Rescue a Linux system”);
 - 
挂载系统根目录到
/mnt/sysroot,并切换到该环境:chroot /mnt/sysroot; - 
挂载安装光盘(提供内核包):
mount /dev/cdrom /mnt; - 
重新安装内核(需替换为实际内核版本):
rpm -ivh /mnt/Packages/kernel-3.10.0-xxx.rpm --force - 
恢复 GRUB2(同上述 “修复 GRUB2” 步骤);
 - 
退出并重启:
exit(两次) 
 - 
 
总结:启动流程与核心操作要点
Linux 启动的核心逻辑是 “硬件自检→引导程序→内核→初始化进程→服务启动”,其中GRUB2和systemd是两大关键组件。掌握运行级别的切换、GRUB2 的配置与加密、以及应急修复(如破解密码、恢复引导器),能有效应对系统启动故障。记住:配置修改后及时生成 GRUB2 配置文件,是避免引导失败的关键习惯


