通过修改内核参数引导进入单用户模式
1、重启系统并进入编辑界面:在系统启动时,当出现开机画面后,迅速按下键盘上的任意键(如空格键),以暂停系统启动并进入GRUB菜单,然后使用方向键选择要启动的CentOS内核版本对应的行,通常为“Linux”开头的那一行。
2、修改内核参数:将光标移动到该行的末尾,按空格键添加一个空格,然后输入rd.break
,注意前置空格,告知grub2这是一个独立的指令项,也可以通过按键盘上的方向键选择该行,然后按“e”键进入编辑模式进行修改。
3、启动单用户模式:按Ctrl+X
组合键启动系统,此时将进入紧急救援模式或单用户模式。
4、切换根目录:在紧急救援模式下,系统默认挂载的根文件系统是只读的,需要将其重新挂载为读写模式,可以使用mount o remount,rw /sysroot
命令来重新挂载根文件系统,或者通过查看当前系统的挂载情况,找到根文件系统所在的分区,然后使用mount o remount,rw /dev/xxxx
命令进行重新挂载,其中/dev/xxxx
需替换为实际的根文件系统分区设备名。
5、重置root密码:执行chroot /sysroot
命令切换到真正的根目录,然后使用passwd root
命令重置root用户的密码,按照提示输入新密码即可。
6、更新SELinux安全标签:为了使更改生效,可能需要更新SELinux安全标签,可以执行touch /.autorelabel
命令创建一个空文件,通知系统在下次启动时重新打标签。
7、重启系统:连续输入两次exit
命令退出救援模式并重启系统,待系统重启完成后,就可以使用新设置的root密码登录系统了。
方法二:利用救援模式光盘或U盘
1、准备救援介质:如果系统支持从光盘或U盘启动,并且有相应的CentOS救援模式光盘或U盘,可将其插入服务器并设置为第一启动项。
2、进入救援模式:重启系统,从光盘或U盘启动后,会出现救援模式的选项菜单,选择救援模式并回车。
3、选择继续:在救援模式菜单中,选择“Continue”即输入1,千万不要选3,以免进入错误的模式。
4、切换根目录:救援模式下的根目录可能并不是真正的系统根目录,需要找到并切换到真正的根目录,可以使用df h
等命令查看磁盘分区和挂载情况,确定真正的根目录所在分区,然后使用chroot
命令切换到该分区,如果真正的根目录在/mnt/sysimage
下,则执行chroot /mnt/sysimage
。
5、重置root密码:在真正的根目录下,使用passwd root
命令重置root用户的密码。
6、更新SELinux安全标签:同方法一中的步骤6,执行touch /.autorelabel
命令。
7、重启系统:输入reboot
命令重启系统,重启后即可使用新密码登录系统。
方法三:通过Live CD或USB启动并挂载原系统分区
1、制作Live CD或USB:准备一张CentOS Live CD或USB,将其插入服务器并从其启动。
2、进入Live系统并挂载原系统分区:进入Live系统的桌面环境后,打开终端,使用fdisk l
等命令查看原系统的分区情况,确定根分区的设备名称,如/dev/sda1
等,然后使用mkdir /mnt/oldsystem
命令创建一个挂载点,再使用mount /dev/sda1 /mnt/oldsystem
命令将原系统的根分区挂载到该挂载点上。
3、切换根目录并重置密码:执行chroot /mnt/oldsystem
命令切换到原系统的根目录,接着使用passwd root
命令重置root密码。
4、更新SELinux安全标签并重启:同方法一中的步骤6和7,执行touch /.autorelabel
命令和reboot
命令。