服务器系统启动卡logo问题解决分析

系统版本:Kylin-4.0.2-server-sp4-20200808.J1-57s-xxc_01-20210112-x86_64

问题:系统启动一直卡在麒麟logo那里,进不去系统。在gurb里去掉系统启动参数quiet和splash,发现启动卡在如下界面。

排查:开始怀疑是掉电导致文件系统损坏,挂光盘进救援模式修复fsck.ext4 /dev/sda1的boot分区和sda2的/分区,重启还是一样的现象。

后来得知之前安装了软件QT 5.14,安装之后改了配置文件/etc/ld.so.conf.d/libc.conf,在里面加了两行:/opt/QT5.14.2/5.14.2/gcc_64/lib和/home/rbx112a/Signal/SignalServer。ldconfig生效。过了一会终端开始异常报错,关闭终端就打不开新终端了。此时重启就到了卡logo那里进不了系统了。

解决方法:挂光盘进入救援模式,mount /dev/sda2 /mnt将/挂载到/mnt下,chroot /mnt,发现vim和ldd等命令不能使用,猜测可能是系统底层库被替换掉了。

echo命令还能使用,进入/的etc/ld.so.conf.d目录。将libc.conf回复成之前的内容。echo -e "# libc default configuration\n/usr/local/lib" > libc.conf。ldconfig生效,此时发现vim等命令可以使用。退出reboot重启可以进系统,问题解决。

/etc/ld.so.conf这个文件记录了编译时使用的动态链接库的路径。默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件。如果你安装了某些库,比如在安装 gtk+-2.4.13时(需要glib-2.0 >= 2.4.0),辛苦的安装好 glib 后,没有指定 --prefix=/usr,这样glib库就装到了/usr/local下。在检查了这一点后,要以 root 的身份运行/sbin/ldconfig 。库文件的路径如 /usr/lib 或 /usr/local/lib 应该在 /etc/ld.so.conf 文件中,这样 ldd 才能找到这个库。

*

后续在这个服务器上遇到其他问题,也是在/etc/ld.so.conf和/etc/ld.so.conf.d/libc.conf里面加了qt路径ldconfig然后重启导致系统没有图形化,后面尝试改回去但是ldconfig不生效,报错/lib/ 不是符号连接。因为他们程序需要拷了一些库到/lib/目录下。删了这些库可以执行ldconfig重启lightdm进入图形界面。ldconfig如下图。

加qt路径的解决方法是在/etc/ld.so.conf.d/目录下新建一个qt.conf,里面写入qt的路径/opt/qt5.14/xxx/gcc/lib。

使用到了nvidia显卡的opengl。安装了nvidia驱动和cuda。打开qtcreator报错找不到opengl,因为安装nvidia驱动时连着opengl一起安装了。卸载驱动重新安装加上参数-no-opengl-files不安装opengl,让cuda的opengl生效解决。

相关推荐
cly114 分钟前
Ansible自动化(十二):Jinja2过滤器
运维·自动化·ansible
P-ShineBeam16 分钟前
八卡A100服务器坏卡引发 CUDA initialization: cudaGetDeviceCount()异常
运维·服务器·人工智能·语言模型
Xの哲學27 分钟前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算
萤丰信息30 分钟前
开启园区“生命体”时代——智慧园区系统,定义未来的办公与生活
java·大数据·运维·数据库·人工智能·生活·智慧园区
cly131 分钟前
Ansible自动化(十四):Roles(角色)
服务器·自动化·ansible
Nobody__143 分钟前
解决多台服务器 UID/GID 做对齐后,文件系统元数据未更新的情况
运维·服务器
珂玥c1 小时前
windows系统nfs挂载
运维·windows·ssh·remmina·cygwin
菜择贰1 小时前
在linux(wayland)中禁用键盘
linux·运维·chrome
霸气十足+拼命+追梦少年2 小时前
服务器挂载U盘或硬盘
运维·服务器
慕容雪_2 小时前
运维笔记-笔记本无线网卡连接wifi,有线网卡连接内网
运维·内网·远程