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