在Linux系统中,虽然没有与Windows完全相同的”安全模式”概念,但用户可通过单用户模式(Single-User Mode) 或救援模式(Rescue Mode) 实现类似功能,这些模式以最小化环境启动系统,仅加载必要服务,用于修复系统故障、重置密码或修复文件系统,以下是详细操作指南:
适用于系统引导管理器(如GRUB)可正常启动的情况。
操作步骤:
-
重启系统
开机时在GRUB菜单界面(若未显示,反复按Shift
键(BIOS)或Esc
键(UEFI))。 -
编辑启动参数
- 选中默认启动项(通常为第一个)。
- 按
e
键进入编辑模式。 - 找到以
linux
或linux16
开头的行(CentOS/RHEL)或linux
行(Ubuntu)。
-
修改内核参数
- 在行末添加
single
(Ubuntu/Debian)或init=/bin/bash
(CentOS/RHEL)。
示例(Ubuntu):linux /boot/vmlinuz-x.x.x-xx-generic root=UUID=xxx ro quiet splash single
- 按
Ctrl+X
或F10
启动。
- 在行末添加
-
进入单用户环境
- 系统将进入只读的root shell(无需密码)。
- 若需读写权限,执行:
mount -o remount,rw /
救援模式(需安装介质)
当系统无法启动GRUB时,使用Live CD/USB进入救援环境。
操作步骤:
-
准备安装介质
- 下载对应发行版的ISO镜像(如Ubuntu或CentOS)。
- 制作启动U盘(使用Rufus或
dd
命令)。
-
从介质启动
- 插入U盘,重启电脑,按
F12
/F2
/Esc
选择从U盘启动。
- 插入U盘,重启电脑,按
-
进入救援选项
- Ubuntu/Debian:
- 选择 “Try Ubuntu without installing” → 打开终端 → 执行:
sudo -i # 获取root权限 mount /dev/sdXn /mnt # sdXn为根分区(如sda1) mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt
- 选择 “Try Ubuntu without installing” → 打开终端 → 执行:
- CentOS/RHEL:
在安装界面选择 “Troubleshooting” → “Rescue a CentOS system” → 按提示挂载根分区。
- Ubuntu/Debian:
安全模式下的常见修复操作
场景 | 命令示例 | 说明 |
---|---|---|
重置root密码 | passwd root |
单用户模式下直接执行 |
修复文件系统 | fsck /dev/sdXn -y |
检查并修复分区错误 |
恢复误删配置文件 | 从备份复制(如/etc/fstab.bak ) |
需提前备份关键文件 |
卸载问题驱动 | rmmod 驱动模块名 |
排查硬件驱动冲突 |
修复GRUB引导 | grub-install /dev/sdX |
需在chroot环境下执行 |
退出安全模式
- 单用户模式:执行
exit
或reboot
重启。 - 救援模式:退出chroot环境后卸载分区:
exit # 退出chroot umount /mnt/{dev,proc,sys} umount /mnt reboot
注意事项
- 权限风险:单用户模式直接获取root权限,操作需谨慎。
- 文件系统状态:单用户模式默认只读,务必执行
mount -o remount,rw /
后再修改文件。 - 发行版差异:
- Ubuntu 22.04+ 需在GRUB中替换
ro
为rw init=/bin/bash
。 - 部分系统(如Fedora)需在单用户模式输入root密码。
- Ubuntu 22.04+ 需在GRUB中替换
- 数据备份:关键操作前建议用Live CD备份数据(
cp -r /mnt/home /backup
)。
Linux通过单用户模式(快速修复)和救援模式(深度恢复)提供”安全模式”功能,前者适合GRUB可启动时的紧急修复,后者依赖安装介质解决严重故障,操作时需明确分区路径,避免误操作导致数据丢失,对于复杂问题(如内核崩溃),建议结合日志分析(
journalctl -xb
)。
引用说明:本文操作基于Ubuntu 22.04 LTS、CentOS 7/8及GRUB 2.0标准文档,参考Linux内核文档(kernel.org)及发行版官方手册(Ubuntu、CentOS),硬件键位可能因厂商而异,请参考设备说明书。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9407.html