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命令重启服务器。