Linux 救援模式下 进入单用户模式操作指南
一、使用场景
忘记 root 密码,需要重置
系统启动异常,无法进入多用户环境
需要修复文件系统错误(fsck)
需要以 root 身份执行紧急维护操作
二、进入单用户模式方法
物理机和宿主机子机关机方法:
物理机:
一般通过网页登陆带外管理器点击电源开关控制服务器的开关,若没配置带外控制系统点击物理服务器开关或拔插电源(不建议此操作)
宿主机管理子机:
强制关闭虚拟机:virsh destroy <子机UUID或名称>;
启动虚拟机:使用 --console 参数启动,启动后会显示加载页面,GRUB 菜单出现时立即按方向键阻止自动启动;virsh start --console <子机UUID或名称>
三、GRUB 菜单出现,选中启动项按 e 进入编辑模式
使用方向键选中第一个启动项(通常高亮显示),然后按键盘 e 键进入 GRUB 编辑界面。
四、修改linux16 开头的内核参数行
将该行中的 ro 改为 rw,删除 rhgb quiet,并在行末追加 init=/bin/bash console=tty0:
# 原始行(示例):
linux16 /vmlinuz-3.10.0-... root=/dev/mapper/centos-root ro rhgb quiet LANG=zh_CN.UTF-8
# 修改后:ro 改 rw,删除 rhgb quiet,行末追加 init=/bin/bash console=tty0
linux16 /vmlinuz-3.10.0-... root=/dev/mapper/centos-root rw LANG=zh_CN.UTF-8 init=/bin/bash console=tty0
五、保存修改值
按 Ctrl+X 或 F10 系统启动后直接进入 bash shell(提示符为 bash-4.2#),根文件系统已挂载为读写模式,无需额外 chroot。
六、执行修复操作
直接重置 root 密码或进行其他修复:
# 重置 root 密码
passwd root
# 若系统启用了 SELinux,需执行(否则重启后 SELinux 上下文错误会导致登录失败)
touch /.autorelabel
# 完成后重启(init=/bin/bash 模式下 reboot 可能无效,使用以下方式)
exec /sbin/init
# 或强制重启
sync; echo b > /proc/sysrq-trigger

浙公网安备 33010602011771号