【问题描述】一台服务器系统开机黑屏,无法进入图形界面,报错如下:SDEl NMl watchdog: Bind interrupt failed. Firmware may not support

【排查思路】
1、一开始被这个报错迷惑,以为是固件不支持SDEI问题导致的系统无法起来
2、后来发现可以ping通,并且能切换至F2字符界面,于是猜测问题可能只是lightdm服务没起来
3、[root@localhost ~]# systemctl status lightdm
##发现这个服务确实为failed,报错如下: Failed to start Light Display Manager lightdm.service: Service RestartSec=100ms expired, scheduling restart. ightdm.service: Scheduled restart job, restart counter is at 5. lightdm.service: Triggering OnFailure= dependencies.

4、[root@localhost ~]# journalctl -u lightdm
##查看lightdm服务的具体报错情况,如下:可以看出lightdm启动失败,systemd在lightdm服务启动失败后每间隔100ms尝试重新拉起该服务,失败超过5次,触发保护,暂时停止重启尝试。同时由于lightdm最终被判定为启动失败,systemd会根据lightdm.service文件,执行 OnFailure= 指令


5、[root@localhost ~]# ps aux | grep -i Xorg
从返回结果确定Xorg服务也没起来:

6、[root@localhost ~]# ukui-greeter 发现找不到该命令

7、[root@localhost ~]# rpm -qa | grep ukui-greeter 没有返回,定位到问题,为ukui-greeter被卸载

8、[root@localhost ~]# yum history
##发现历史yum命令中只有安装数据库、用户的视频服务所需软件包、以及卸载了cmake的操作

9、cat /var/log/dnf.rpm.log | grep Erase
##该命令查看所有被卸载的软件包,果然看到除了cmake相关包,ukui-greeter也被卸载了,而且被卸载的时间已经是去年十二月

10、与用户确认,这个系统最近一次正常使用确实是去年十二月份 ;结合yum history和dnf.rpm.log日志,yum history中只有卸载cmake的操作,但是dnf.rpm.log中还有别的被卸载的软件,猜测是卸载cmake附带将ukui-greeter等包一块卸载了,于是先提供ukui-greeter给用户先安装,的确报缺cmake的依赖,而且我在虚拟机卸载cmake也会将ukui-greeter一块卸掉,证明了我的猜测正确
11、[root@localhost ~]# cmake --version
##看到有cmake这个命令 ,版本为3.22.5

##而该系统自带的cmake版本为3.16.5,以下为正常系统截图

12、[root@localhost ~]# which cmake

[root@localhost ~]# rpm -qa | grep cmake

##看到cmake命令路径为/usr/bin/cmake ,然而却没有cmake软件包,结合我的同版本的虚拟机,看到系统自带的cmake为3.16.5版本,因此确定是用户先卸载原本的cmake,再源码安装了3.22.5的版本
13、[root@localhost ~]# find / -name cmake、

##看到/home/..../3.22.5/bin/cmake,并且和/usr/bin/cmakemd5值一样,进一步确定是用户源码编译并将cmake拷贝到/usr/bin/目录下的
1、[root@localhost ~]# mv /usr/bin/cmake /usr/bin/cmake-3.22
##给源码编译的cmake命令改名
2、[root@localhost ~]# rpm -ivh *.rpm
##将ukui-greeter、cmake及依赖包提供给用户安装
3、[root@localhost ~]# systemctl restart lightdm