起因:在经历停电或强制关机后,重新启动时,进度条的加载速度变得非常缓慢,并且在进度条满格后无法进入系统。
解决思路:通过进入启动菜单,切换到单用户模式,可以查看启动进程卡在哪里,然后关闭相关进程选项,重新启动即可。
首先,重新启动计算机。当出现下图所示的界面时,请按下任意键(除了回车键),使其停留在当前界面。然后选择需要启动的项,如下图所示:
[插入原图]
在这个界面上,按下”e”键进入启动菜单进行编辑,如下图所示:
[插入原图]
接下来,将光标移动到如图所示的位置,即当前段落的末尾,并添加”init=/bin/sh”(注意,后面没有下划线,这是光标闪烁时的截图效果):
[插入原图]
添加完成后,按下Ctrl+X启动,成功后会出现”sh-4.2#”提示,如下图所示:
[插入原图]
由于需要修改文件,因此输入”mount -o remount,rw /”命令以赋予读写权限(此时可以直接使用”passwd”命令修改root用户密码,但本次问题不是忘记密码的情况,因此不再详述):
[插入原图]
由于之前尝试过修改(类似于前面修改init的方式),先后尝试了添加”enforcing=0″和”selinux=0″,遇到了以下两个问题。下面将分别对这两个问题进行描述。
首先是第一个问题,参考了”Centos 7.2 failed to load SELinux policy freezing”这篇博客。编辑”/etc/selinux/config”文件(也可以使用”vi”命令):
[插入原图]
发现果然将”SELINUXTYPE”参数错误配置为”disabled”,按照博客中的参数重新配置并保存,如下图所示:
[插入原图]
在修改配置文件时,请务必细心,以防出现类似粗心的错误。修改完成后保存并退出。
然后是第二个问题,参考了解决”Linux无法登录,显示module is unknown”问题的博客。查看系统日志:
[插入原图]
在日志的最下方发现了类似的问题。然后查看配置文件:
[插入原图]
由于安装的虚拟机系统是64位的,因此此位置可能不正确,直接注释掉”session required /lib/security/pam_limits.so”这一行。保存并退出。
完成后,重新启动系统。输入”exec /sbin/int”或”exec /sbin/reboot”进行重启。但是在我使用这两个命令时会卡住,因此直接在VMware中选择”电源-重新启动客户机”。
成功!
END
CentOS开机时卡在进度条界面无法进入系统。无法确定开机启动卡在哪里,只能重启并按住”e”键进入启动菜单:
[插入原图]
然后按下”e”键进入编辑第一项:
[插入原图]
接着移动到第二项”kernel”,再次按下”e”键进入编辑。去掉”rhgb quiet”字样。按回车键保存并返回选择项。按下”b”键启动,这样就能看到启动过程了。
注意观察启动过程中卡在哪里。可以按下”F5″键切换到进度条/命令行界面,确认问题后进行处理。例如,我的问题是卡在开机启动MySQL上,无法进入系统。因此,可以使用单用户模式进入系统,关闭MySQL的启动项,然后再进入系统就没有问题了。
进入单用户模式的方法是,在下面的操作模式后面加上”1″。CentOS开机卡在进度条界面的情况下,很多情况是由于用户进程进入死循环导致的,无法进入用户界面。
要解决这个问题,只能进入CentOS的单用户模式,然后关闭对应的开机启动项。
具体方法如下:
- 开机时按下”e”键,然后进入GRUB菜单。
- 选择要启动的版本,然后按下”e”键。
- 选择带有kernel的项,然后按下”e”键,在后面添加”single”,按回车键。
- 按下”b”键。系统将进入一个只有最小bash命令行的系统,然后可以在该系统下关闭对应的开机启动项。
如果忘记了root用户密码,也可以通过进入单用户模式来修改root密码。
量子哈希













