1. 问题现象与背景分析
最近在Ubuntu 22.04 LTS上安装NVIDIA显卡驱动时,遇到了一个经典报错:"ERROR: An error occurred while performing the step: 'Building kernel modules'." 这个错误通常发生在使用官方.run安装包或通过ubuntu-drivers自动安装时。作为长期使用Linux系统的开发者,我经历过不下十次这类问题,今天就把完整的排查思路和解决方案整理出来。
这个错误的本质是NVIDIA内核模块(nvidia.ko)编译失败。当安装程序尝试将驱动与当前运行的内核版本匹配时,往往会因为内核头文件缺失、Secure Boot启用、内核版本不匹配等原因导致编译中断。根据我的经验,这类问题在Ubuntu 18.04到22.04的各版本中都会出现,特别是当系统进行过内核升级后。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 前置环境检查
2.1 验证系统基础环境
在开始处理之前,我们需要确认几个关键信息:
bash复制# 查看系统版本
lsb_release -a
# 查看当前内核版本
uname -r
# 查看已安装的内核头文件
dpkg -l | grep linux-headers
典型的问题场景是:系统内核已升级(比如从5.15.0-60升级到5.15.0-67),但对应的linux-headers包未安装。此时驱动安装程序找不到匹配的头文件,就会报编译错误。
2.2 检查NVIDIA硬件识别
确保系统能正确识别到NVIDIA显卡:
bash复制lspci | grep -i nvidia
如果这条命令没有输出,可能是硬件连接问题。正常应该显示类似"01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060]"的信息。
3. 完整解决方案
3.1 方法一:通过官方.run文件安装(推荐)
这是最可靠的安装方式,可以绕过apt源可能存在的问题:
- 首先禁用Nouveau驱动:
bash复制sudo bash -c "echo 'blacklist nouveau' >> /etc/modpro
