Redhat7采用的是grub2,和Redhat6.x进入单用户的方法不同。
一、init方法
1、centos7的grub2界面会有两个入口,正常系统入口和救援模式;
2、修改grub2引导
在正常系统入口上按下"e",会进入edit模式,搜寻ro那一行,以linux16开头的;
把ro更改成rw;(把只读更改成可写)
把rhgb quiet删除;(quiet模式没有代码行唰唰的走,可以删除)
增加init=/bin/sh;(或init=/bin/bash,指定shell环境)
按下ctrl+x来启动系统。
3、修改root密码
#passwd #修改密码
#touch /.autorelabel #据说是selinux在重启后更新label
#exec /sbin/init #正常启动init进程
二、rd.break方法
1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;
2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;
3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;
4、mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;
5、chroot /sysroot/ 改变根;
提示符变成了sh-4.2#
(1)echo redhat|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;
(2)还有就是先cp一份,然后修改/etc/shadow文件
网上说为了selinux生效还需要执行#touch /.autorelabel ,实测发现不执行这一句也可以。
6、ctrl+d 退出chroot状态。
7、然后执行#reboot命令重启服务器。