Linux系统启动与故障修复指南

一、Linux系统启动流程

阶段关键动作说明
1. 开机自检BIOS/UEFI 初始化硬件检测CPU、内存、磁盘等基础硬件。
2. MBR引导从硬盘MBR读取引导程序(GRUB2)MBR(主引导记录)位于磁盘第一个扇区,存储GRUB2引导程序。
3. GRUB菜单加载 /boot/grub2/grub.cfg 显示引导菜单用户可选择不同内核或进入救援模式。
4. 加载内核载入Linux内核文件(如 vmlinuz-x.x.x内核文件位于 /boot 目录。
5. 内核初始化内核解压、初始化任务调度/内存管理/驱动加载等建立内核运行环境,控制权从GRUB移交内核。
6. 启动systemd执行首个进程 systemd(PID=1)取代传统init进程,负责管理系统服务。
7. 设置运行级别读取 /etc/systemd/system/default.target根据链接文件确定系统启动目标(等价于运行级别)。
8. 启动登录界面加载对应目标的服务,启动登录管理器(如GDM)用户通过图形或命令行登录系统。

简化流程:开机自检 → MBR引导 → GRUB菜单 → 加载内核 → 运行systemd。


二、系统运行级别(启动目标)

级别systemd目标用途操作
0poweroff.target关机systemctl poweroff
1rescue.target单用户模式(紧急修复)systemctl rescue
2multi-user.target多用户无网络(极少使用)
3multi-user.target多用户命令行模式systemctl isolate multi-user.target
4(保留)未定义
5graphical.target图形化界面systemctl isolate graphical.target
6reboot.target重启systemctl reboot
常用命令
# 查看默认启动目标
systemctl get-default

# 设置默认启动目标(永久生效)
systemctl set-default multi-user.target  # 命令行模式
systemctl set-default graphical.target   # 图形模式

# 临时切换目标(重启后失效)
systemctl isolate graphical.target       # 临时切换到图形界面

三、故障修复与安全配置

1. 破解root密码
1. 重启后按 `e` 进入GRUB编辑模式
2. 在内核行末尾添加 `rd.break` → 按 `Ctrl+X` 启动
3. 重新挂载根目录并修改密码:
   mount -o remount,rw /sysroot
   chroot /sysroot
   echo "linux123" | passwd --stdin root
4. 重建SELinux标签并退出:
   touch /.autorelabel
   exit
   exit
2. GRUB2加密
# 方法1:明文加密(不安全)
vim /etc/grub.d/00_header
-----------------------------------------
cat << EOF
set superusers="admin"
password admin 123456
EOF
-----------------------------------------
grub2-mkconfig -o /boot/grub2/grub.cfg

# 方法2:密文加密(推荐)
grub2-mkpasswd-pbkdf2  # 生成加密密码(复制输出)
vim /etc/grub.d/00_header
-----------------------------------------
cat << EOF
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512...  # 粘贴密文
EOF
-----------------------------------------
grub2-mkconfig -o /boot/grub2/grub.cfg

注意:加密后需输入用户名/密码才能编辑GRUB菜单。


3. 修复GRUB2引导
# 情况1:GRUB目录被删除(不需救援模式)
grub2-install /dev/sda          # 在硬盘上重装引导程序
grub2-mkconfig -o /boot/grub2/grub.cfg  # 重新生成配置文件


# 使用安装介质进入救援模式(GRUB损坏或无法启动时)
1. 从安装U盘/光盘启动,选择"Troubleshooting"
2. 选择"Rescue a CentOS system"
3. 按提示选择"1"继续,系统挂载到/mnt/sysroot
4. 执行 chroot /mnt/sysroot 切换至原系统

# 情况2:/boot目录丢失(需救援模式)
chroot /mnt/sysroot              # 挂载原系统
mount /dev/cdrom /mnt            # 挂载安装镜像
rpm -ivh /mnt/Packages/kernel-*.rpm --force  # 强制重装内核
grub2-install /dev/sda           # 重装GRUB
grub2-mkconfig > /boot/grub2/grub.cfg  # 生成配置

关键命令速查

功能命令
生成GRUB配置grub2-mkconfig -o /boot/grub2/grub.cfg
安装GRUB到磁盘grub2-install /dev/sda
强制重置root密码`echo “newpass”
修复SELinux标签touch /.autorelabel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值