前言

  • 前段时间由于长时间没有使用虚拟机里面的一个操作系统,导致密码记得不是太清,登录不进去。今天想起还是做个小记录,以便以后参考。

  • 再一个是,当时网上也搜了很多解决问题的博客,但大部分都是同一个博客内容,没有多大的参考价值,所以导致当时试了很久才成功。所以当自己出问题了,还是先要把自身的所犯的错误找出来,这样搜索问题解决方法时才会游刃有余!

操作环境

  • 主机为window10(关系不大)

  • 虚拟机为vmware15pro(关系不大)

  • 操作系统为RedHat7(有一定的影响)

个人解决步骤

第一步

在图片中的界面按下键盘“e”键,然后在linux16这一行最后面添加一行内容

rw rd.break init=/sysroot/bin/sh



网上大多数linux16那一行参数如图所示

但是,由于我用的不同版本的镜像,所以我的解决方法如图



找到linux16这一行起始地方,然后按end键到这一行最后,再加空格,然后添加这一条语句

rw rd.break init=/sysroot/bin/sh

第二步

按下 ctrl+x  进入命令行

第三步

输入以下命令:

1.输入 mount

2. 查看是否为“rw”,如果没有则输入 mount –o remount,rw /sysroot



3. 切换路径 输入 chroot /sysroot



4. 输入 passwd 修改root用户密码  ;此时会给你提一个警告,是因为密码强度太弱了,我们目前个人用的话不用管



5. 输入touch /.autorelabel

6. 输入 exit 退出

7. 输入 reboot 或者不用exit退出,直接输入  exec /sbin/reboot

最后,需要注意的是,可能部分人的问题,最后命令输完后无法自动重启,这时候你可以强行关机并且重启

网上解决步骤

CentOS 7&RHEL 7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。

重置密码主要有rd.break和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/ 改变根;

(1)echo RedHat|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;

(2)还有就是先cp一份,然后修改/etc/shadow文件

6、touch /.autorelabel 这句是为了selinux生效

7、ctrl+d 退出

8、然后reboot

至此,密码修改完成

init方法:

1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。

2. 在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh

3. 按Ctrl+x启动到shell。

4. 挂载文件系统为可写模式:mount –o remount,rw /

5. 运行passwd,并按提示修改root密码。

6. 如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel

7. 运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启

最后

网上的方法中init方法我试过,但另一种并未试过,但是从解决问题的过程中来看,两者区别不大;并且要注意以上仅仅是本人的解决步骤,有可能由于各种问题,每个人解决过程中会遇到不一样的错误,当然和我的一样更好,直接可以解决,如果不一样请仅当参考使用!

一般按照以上我的个人步骤解决,基本不会出多余的问题,唯一的问题就是可能最后要自己强行重启!

如果root用户可以登录,那种修改密码的方式就不在这记录了,主要找到passwd路径基本就可以解决了!

最新文章

  1. Node.js Base64 Encoding和Decoding
  2. VS2013 配置pthread
  3. bind9+mysql dlz(Dynamically Loadable Zones)
  4. Java连接Oracle数据库开发银行管理系统【二、设计篇】
  5. 如何重置CentOS/RHEL 7中遗忘的根用户帐户密码
  6. nginx软负载的搭建
  7. Logistic Regression and Classification
  8. anjularjs slider控件替代方案
  9. SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
  10. Stylus-NodeJS下构建更富表现力/动态/健壮的CSS
  11. 【java】HashSet
  12. centos6 更新gcc glibc2.17
  13. 利用itext将html页面转成pdf(不模糊)
  14. 《程序设计入门——C语言》翁恺老师 第二周编程练习记录
  15. 使用shell命令给文件中每一行的前面、后面添加字符
  16. springboot-aop
  17. Python之路-文件操作(py3)
  18. django 的一些了解
  19. svn异常:subversion.javahl.ClientException
  20. php-fpm sock 进程池优化

热门文章

  1. codeforces 1077D Cutting Out 【二分】
  2. 信号量解决理发师问题(barber)
  3. codeforces 01B
  4. 牛客多校第八场E Explorer(左开右闭线段树+可撤回并查集)题解
  5. Lenet车牌号字符识别+保存模型
  6. vue watcher errors
  7. H5 页面如何展示大量的表格数据
  8. 关于Google Chrome的使用小技巧!
  9. how to stop MongoDB from the command line
  10. vue3 deep dive