2、 按e键后,出现如下图所示界面,通过方向键将光标放到linux16引导行所在行尾,然后添加以下内容:
init=/bin/sh
3、 添加完成,按键Ctrl x启动shell引导,最后进入单用户模式。
4、 挂载根分区为可读写模式,执行如下命令:
mount -o remount,rw /
然后,就可以执行“passwd”命令重置密码了,这里有一点需要注意,如果系统中开启有selinux,还需在根分区创建autorelabel文件,否则系统无法正常启动,操作命令如下:
touch /.autorelabel
5、密码修改完成后,直接执行reboot命令已经无效,此时需要输入全路径命令,操作如下:
exec /sbin/init
这样就完成了密码重置,正常登录系统,查看密码是否修改成功。
三、 linux系统无法启动的解决办法导致linux无法启动的原因有很多,常见的原因有如下几种:
1、 文件系统配置不当,比如/etc/inittab文件、/etc/fstab文件等配置错误或丢失,导致系统错误,无法启动。
2、 非法关机,导致root文件系统破坏,也就是linux根分区破坏,系统无法正常启动
3、 Linux内核崩溃,从而无法启动
4、 系统引导程序出现问题,比如grub丢失或者损坏,导致系统无法引导启动。
5、 硬件故障,比如主板、电源、硬盘等出现问题,导致linux无法启动。
从这些常见的故障可知,导致系统无法启动的主要有两个问题,硬件原因和操作系统原因,对于硬件出现的问题,只需通过更换硬件设备,即可解决,而对于操作系统出现的问题,虽然出现的问题可能千差万别,不过在多数情况下都可以用相对简单统一的一些方法来恢复系统,下面我们就针对上面提出的几个问题,结合RHEL/Centos Linux系统环境,给出一些常用的、普遍的解决问题的方法。
3.1、/etc/fstab文件丢失,导致系统无法启动
/etc/fstab文件存放了系统中文件系统的相关信息,如果正确的配置了该文件,那么在linux启动时,系统会读取此文件,自动挂载linux的各个分区,如果此文件配置错误,或者丢失,就会导致系统无法启动,具体的故障现象是在检测mount partition时出现:
starting system logger
此后系统启动就停止了。
针对这个问题,我们的第一思路就是想办法恢复/etc/fstab这个文件的信息,只要恢复了此文件,系统就能自动挂载每个分区,正常启动。可能很多读者首先想到的是将系统切换到单用户模式下,然后手动挂载分区,最后结合系统信息,重建/etc/fstab文件。
但是这种方法是行不通的,因为fatab文件丢失导致linux无法挂载任何一个分区,即使linux还能切换到单用户下,那么此时的系统也只是一个read-only的文件系统,无法向磁盘写入任何信息。
我们介绍另外一个方法,就是利用linux rescue修复模式登录系统,进而获取分区和挂载点信息,重构/etc/fstab文件。
这里以Centos6.9为例,其它版本方法类似,首先将系统第一章光盘放入光驱,设置BOIS从光驱启动,这样系统就从光驱引导,如下图所示,选择“Rescue installed system”一项,然后回车,系统开始引导进入rescue模式。
接着系统自动开始引导,进入下图所示画面:
这里是选择模式使用的语言,可以按照自己需要设定,我们这里选择“English“,然后按tab键,选中“ok”,回车进入下一步。
下面进入的是键盘选择界面,如下图所示,这里选择默认的“us”即可。