Linux :系统启动过程,破解root密码与故障修复
一、标准启动流程
- 开机自检 (BIOS/UEFI POST)
- 硬件初始化与检测
- MBR引导
- 读取硬盘主引导记录(512字节)
- GRUB2菜单
- 加载
/boot/grub2/grub.cfg
显示启动菜单
- 加载
- 加载Linux内核
- 载入Linux 内核文件
- 内核初始化
- 建立运行环境:任务调度、内存管理、驱动加载
- 启动systemd进程
- 首个用户态进程(PID=1)
- 解析
/etc/systemd/system/default.target
确定运行级别
二、运行级别管理(systemd目标单元)
级别 | Target Unit | 用途 | 操作命令示例 |
---|---|---|---|
0 | poweroff.target | 关机 | systemctl poweroff |
1 | rescue.target | 单用户/救援模式 | systemctl rescue |
3 | multi-user.target | 多用户命令行(默认服务器) | systemctl set-default multi-user.target |
5 | graphical.target | 图形界面 | systemctl isolate graphical.target |
6 | reboot.target | 重启 | systemctl reboot |
管理命令:
systemctl get-default # 查看当前默认级别
systemctl set-default TARGET # 永久修改默认级别
systemctl isolate TARGET # 临时切换级别
三、关键故障修复
▶ Root密码破解
-
GRUB菜单按
e
编辑内核参数 -
在
linux
行尾添加rd.break
→Ctrl+X
启动 -
挂载真实根分区:
mount -o remount,rw /sysroot chroot /sysroot passwd root # 或 echo "newpasswd" | passwd --stdin root touch /.autorelabel # SELinux重标记 exit; reboot
▶ GRUB2修复
grub2-install /dev/sda # 重建引导程序
grub2-mkconfig -o /boot/grub2/grub.cfg # 重新生成配置
▶ /boot目录丢失恢复
-
进入救援模式 →
chroot /mnt/sysroot
-
重装内核:
mount /dev/cdrom /mnt rpm -ivh /mnt/Packages/kernel-*.rpm --force
-
重建GRUB:
grub2-install /dev/sda grub2-mkconfig > /boot/grub2/grub.cfg
四、GRUB2安全加固
▶ 密文密码加密
grub2-mkpasswd-pbkdf2 # 生成加密密码
编辑 /etc/grub.d/00_header
:
cat << EOF
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.10000.9A2B3C4D...
EOF
grub2-mkconfig -o /boot/grub2/grub.cfg