单用户模式适用于GRUB可访问、根分区轻微损坏或密码丢失的场景,通过修改启动参数进入本地最小化维护环境;救援模式需外部Live介质,用于GRUB损坏、根分区严重故障等极端情况,提供完全独立的安全修复环境。

Linux 没有 Windows 那样的“安全模式”,但有功能等效的修复环境:单用户模式(用于本地磁盘修复)和光盘/USB Live 救援环境(最安全通用)。修复损坏的系统,核心是绕过已挂载的受损文件系统,在只读或未挂载状态下操作。
进入单用户模式(适合根分区轻微损坏或密码丢失)
适用于能正常进 GRUB 但无法登录或启动到图形界面的情况:
- 重启机器,在 GRUB 启动菜单按 e 编辑启动项
- 找到以
linux或linux16开头的行,将末尾的ro替换为rw init=/sysroot/bin/bash(CentOS/RHEL 7+)或rw single(旧版) - 按 Ctrl+X 或 F10 启动,进入命令行
- 若使用
init=/sysroot/bin/bash,需先执行chroot /sysroot切换到真实根环境
用 Live 环境修复(推荐,最安全可靠)
当系统完全无法启动、GRUB 损坏、或怀疑根分区严重损坏时必须使用:
- 准备一张同版本或兼容的 Linux Live USB(如 Ubuntu Desktop、CentOS Rescue、SystemRescueCD)
- 从 BIOS/UEFI 设置为 USB 启动,进入 Live 系统桌面或命令行
- 打开终端,先确认目标磁盘和分区:
lsblk -f或sudo blkid - 确保目标分区未挂载:
sudo umount /dev/sdXY(如报 “device busy”,用sudo lsof +D /mount/point查进程) - 根据文件系统类型选用对应工具:
— ext4 分区:sudo e2fsck -f /dev/sdXY
— XFS 分区:sudo xfs_repair /dev/sdXY
— FAT32/U盘:sudo fsck.vfat -a /dev/sdXY
修复前务必做的三步检查
跳过这三步直接强制修复,极易导致数据不可逆丢失:
-
空跑预览:运行
sudo fsck -N /dev/sdXY,看它计划修正哪些问题 -
只读检查:运行
sudo fsck -n /dev/sdXY(小写n),确认错误类型和数量,不写磁盘 -
交互式修复:运行
sudo fsck /dev/sdXY(不带-y或-a),遇到提示逐条判断是否修复;尤其出现superblock could not be read时,绝不能自动答“是”
修复后验证与重启
修复完成后不是立刻重启:
- 用
sudo e2fsck -f -n /dev/sdXY再次只读检查,确认返回 “clean” - 尝试手动挂载:
sudo mount /dev/sdXY /mnt,看是否成功且能列出文件 - 若修复的是根分区,Live 环境下还需重新安装引导:
— CentOS/RHEL:sudo chroot /mnt grub2-install /dev/sdX && sudo chroot /mnt grub2-mkconfig -o /boot/grub2/grub.cfg
— Ubuntu/Debian:sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys && sudo chroot /mnt update-grub && sudo chroot /mnt grub-install /dev/sdX - 退出 chroot,卸载所有子挂载,再重启


















