问题描述:
centos7在开机的时候一直停留在“starting switch Root...........”,不能正常开机。
报错信息显示“failed to execute /bin/sh,give up :no such file or dictionary”和“/bin/sh: /usr/sbin/sulogin:no such file or dictionary"
原因分析:
进入u盘启动选择救援模式,发现其中的/lib64 被修改过。
解决方法:
进入u盘救援模式:
将centos系统u盘插上机器开机,并选择u盘启动,进入系统安装初始界面,选择最后由一项Troubleshooting
后选择第二项Rescue a CentOS system进入系统救援模式,期间分别按键“1→enter”
执行chroot /mnt/sysimage进行根切换,发现chroot命令不生效。
先查看/lib64的软连接是否存在问题,再检查/usr/lib64里面的文件是否存在。
本次两个服务器均是lib64的问题(一个是链接错误,一个是查/usr/lib64里面的文件丢失)
分别修改软连接(注意:lib64的链接一定得是usr64/lib64,不能是/usr/lib64)和从u盘里拷贝完整的lib64内的文件到系统里,然后退出救援模式重启系统
后续问题1:
其中一个在修复后仍然存在开机故障,还是卡在开机界面,报错信息里面有selinux的相关信息。初步推断是selinux没有关导致开机存在问题。
解决方法:
再次进入u盘救援模式,修改系统下的/etc/selinux/config文件内容,将其中的 SELINUX=enforcing 改为 SELINUX=disabled 。再推出并重启系统。
后续问题2:
再启动系统时,继续卡在开机界面。最后一行停留在“starting update UTMP about system runlevel changes"
解决方法:
进入recovery模式,执行命令“sudo systemctl set-default muti-user.target”(这一步是将系统改为命令行界面模式)
然后重启系统
更多推荐
cento开机启动故障解决记录
发布评论