CentOS忘记root密码-CentOS虚拟机中root密码重置的完整过程

教程大全 2026-01-08 02:44:58 浏览
目录

一、操作原理图解

启动虚拟机

开机GRUB界面快速按E

编辑GRUB启动参数

将ro改为rw, 添加init=/sysroot/bin/sh

Ctrl+X启动进入单用户模式Shell

执行 chroot /sysroot

执行 passwd root 重置密码

执行 Touch /.autorelabel

执行 exit 退出 chroot

执行 reboot 重启系统

使用新密码登录系统

二、详细操作步骤

1. 进入GRUB编辑模式

启动虚拟机时,在 CentOS启动logo出现前 快速按 E 键进入编辑。

如果是UEFI启动,先按 ESC 键进入GRUB菜单,再选择内核项后按 E。

进入编辑模式

2. 修改启动参数

定位到以 linux16(CentOS7)或 linux(CentOS8/9)开头的那行。 将 ro(只读)改为 rw(读写)。 在行尾追加 init=/sysroot/bin/sh。 注意各参数间保持空格分隔。

3. 进入单用户模式Shell

按 Ctrl+X 或 F10 启动修改后的引导项。 系统进入临时root shell,提示符通常为 :/#。

4. 挂载系统并重置密码

看到 passwd: all authentication tokens upDated successfully. 表示密码重置成功。

5. SELinux重标记(重要)

CentOS默认启用SELinux,修改密码后需重标记文件系统,避免登录失败。

touch /.autorelabel

查看SELinux状态(可选)

若显示 disabled,则可跳过上步。

6. 安全退出并重启

# 退出chroot环境exit# 强制重启系统,触发SELinux重标记reboot -f

系统重启过程中可能耗时较长,请耐心等待。

7. 使用新密码登录

重启完成后,使用刚设置的密码登录系统即可。

三、注意事项与技巧

SELinux重标记问题:

若忘记执行 touch /.autorelabel,可能导致系统登录失败。重启进入GRUB编辑,追加 enforcing=0 以临时禁用SELinux。

调整GRUB超时时间,方便操作:

编辑 /etc/default/grub,修改:

GRUB_TIMEOUT=5GRUB_DISABLE_SUBMENU=true

保存后执行:

grub2-mkconfig -o /boot/grub2/grub.cfg

重置其他用户密码:

chroot /sysrootpasswd username

文件系统只读问题:

如果遇到无法写入,执行:

mount -o remount,rw /sysroote2fsck -f /dev/mapper/centos-root

根据实际设备名调整。

四、常见问题解答

问题 解决方案

GRUB界面按E无反应 检查虚拟机EFI设置,尝试开启/关闭EFI或从虚拟机管理界面重启到固件菜单。
密码重置后仍无法登录 进入单用户模式时追加 enforcing=0 参数禁用SELinux,检查日志:journalctl -p 3 -xb
文件系统只读无法修改 使用 mount -o remount,rw /sysroot 强制读写,必要时检查磁盘健康。

CentOS更改root密码的方法

1、开机时手要快按任意键,因为默认时间5s

(按键之前点击虚拟机屏幕,确保鼠标在虚拟机中)

root

2、grub菜单,只有一个内核,没什么好上下选的,按e键。不过如果你升级了系统或安装了Xen虚拟化后,就会有多个显示了。

3、选择第二项,按e键

4、在rhgb quiet最后加”空格”,然后输入”1″或”s”或”S”或”single”都可以,按回车键返回上一层

5、按b键启动系统

(1)输入数字“1”的界面:

(2)输入“s”或“S”或“single”的界面:

6、直接输入passwd就能改root密码

7、然后重启即可

以上就是CentOS虚拟机忘记root密码?快速安全重置全流程详解的详细内容,更多相关资料请阅读主机测评网其它文章!

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐