Kylin Server V10 安装 NVIDIA 驱动时因kernel-devel版本不一致导致安装失败的解决过程同时包含驱动安装和卸载方法。一、环境信息系统版本cat/etc/os-release例如NAMEKylin Linux Advanced Server VERSIONV10 (Halberd)查看当前运行内核uname-r例如4.19.90-89.11.v2401.ky10.x86_64二、安装驱动时报错安装命令sudo./NVIDIA-Linux-x86_64-580.142.run\--kernel-source-path/usr/src/kernels/$(uname-r)\--no-questions\--no-drm报错ERROR: The kernel source path /usr/src/kernels/4.19.90-89.11.v2401.ky10.x86_64 does not exist.或者ERROR: Unable to find the kernel source tree.三、原因分析NVIDIA 驱动需要编译内核模块因此要求下面几个版本必须完全一致uname -r │ ▼ /lib/modules/kernel-version │ ▼ kernel-devel-kernel-version │ ▼ /usr/src/kernels/kernel-version如果其中任意一个版本不同就会导致驱动无法安装。例如运行内核 4.19.90-89.11 kernel-devel 4.19.90-89.41这种情况就一定会安装失败。四、检查当前环境查看内核版本uname-r查看已安装内核包rpm-qa|grepkernel正常应该类似kernel-4.19.90-89.11.v2401.ky10.x86_64 kernel-core-4.19.90-89.11.v2401.ky10.x86_64 kernel-devel-4.19.90-89.11.v2401.ky10.x86_64 kernel-modules-4.19.90-89.11.v2401.ky10.x86_64查看源码目录ls-ld/usr/src/kernels/$(uname-r)例如drwxr-xr-x ... /usr/src/kernels/4.19.90-89.11.v2401.ky10.x86_64查看 Makefilels/usr/src/kernels/$(uname-r)/Makefile正常输出/usr/src/kernels/4.19.90-89.11.v2401.ky10.x86_64/Makefile五、修复 kernel-devel 不匹配如果发现安装的是其它版本例如kernel-devel-4.19.90-89.41先卸载yum remove kernel-devel kernel-headers然后重新安装与当前内核一致的版本yuminstallkernel-devel-$(uname-r)再次确认rpm-qa|grepkernel确保kernel kernel-core kernel-devel kernel-modules版本完全一致。六、安装编译环境安装 GCC、Make 等依赖yuminstall-ygccmakeelfutils-libelf-devel验证gcc--versionmake--version七、安装 NVIDIA 驱动推荐执行sudo./NVIDIA-Linux-x86_64-580.142.run\--kernel-source-path/usr/src/kernels/$(uname-r)\--no-questions\--no-drm如果已经安装了匹配版本的kernel-devel实际上也可以省略--kernel-source-pathsudo./NVIDIA-Linux-x86_64-580.142.run\--no-questions\--no-drm安装程序会自动识别/usr/src/kernels/$(uname -r)八、验证驱动安装完成后执行nvidia-smi正常会显示----------------------------------------------------------------------------- | NVIDIA-SMI xxx.xx Driver Version: xxx.xx CUDA Version: xx.x | -----------------------------------------------------------------------------说明驱动安装成功。九、卸载 NVIDIA 驱动方法一使用安装包卸载推荐进入驱动安装包目录sudo./NVIDIA-Linux-x86_64-580.142.run--uninstall或者sudo./NVIDIA-Linux-x86_64-580.142.run-uninstall安装程序会自动删除驱动模块删除库文件恢复系统配置方法二使用 nvidia-uninstall如果驱动已安装whichnvidia-uninstall通常位于/usr/bin/nvidia-uninstall执行sudonvidia-uninstall即可完成卸载。方法三静默卸载sudo./NVIDIA-Linux-x86_64-580.142.run\--uninstall\--no-questions适用于自动化脚本。十、常用排查命令查看当前内核uname-r查看源码目录ls/usr/src/kernels查看内核包rpm-qa|grepkernel查看模块目录ls/lib/modules查看驱动版本cat/proc/driver/nvidia/version查看 GPUnvidia-smi查看模块是否加载lsmod|grepnvidia查看安装日志cat/var/log/nvidia-installer.log十一、总结安装 NVIDIA 驱动时最常见的问题就是内核版本与kernel-devel版本不一致。安装前建议先检查以下四项是否完全匹配uname -r │ ▼ /lib/modules/$(uname -r) │ ▼ kernel-devel-$(uname -r) │ ▼ /usr/src/kernels/$(uname -r)只要以上四项保持一致并安装好gcc、make、elfutils-libelf-devel等编译依赖NVIDIA 驱动通常都可以顺利完成安装。