准备工作
-
确认显卡型号
打开终端,运行以下命令检查你的 NVIDIA 显卡型号:lspci | grep -i nvidia
或:
sudo lshw -class display
输出将显示你的显卡型号(如 GeForce GTX 1070 或 Quadro K5000M)。
-
更新系统
确保系统为最新状态,以避免兼容性问题:sudo yum update -y
如果有内核更新,建议重启系统以加载最新内核:
sudo reboot
-
安装必要依赖
安装编译 NVIDIA 驱动所需的工具和库:sudo yum groupinstall -y "Development Tools" sudo yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make libglvnd-devel epel-release dkms
-
禁用 Secure Boot
如果你的系统使用 UEFI 固件,需在 BIOS 中禁用 Secure Boot,因为 NVIDIA 驱动的内核模块可能无法加载。
禁用 Nouveau 驱动
CentOS 默认使用开源 Nouveau 驱动,需禁用它以安装 NVIDIA 官方驱动。
-
黑名单 Nouveau
编辑 GRUB 配置文件:sudo nano /etc/default/grub
在
GRUB_CMDLINE_LINUX
行末添加以下参数:rd.driver.blacklist=nouveau nouveau.modeset=0
示例:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet rd.driver.blacklist=nouveau nouveau.modeset=0"
-
更新 GRUB 配置
根据你的系统启动方式(BIOS 或 UEFI),运行以下命令之一:- BIOS:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- UEFI:
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
- BIOS:
-
创建 Nouveau 黑名单文件
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
-
重建 initramfs
备份当前 initramfs 并生成新的:sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
-
重启系统
sudo reboot
-
验证 Nouveau 是否禁用
重启后,运行:lsmod | grep nouveau
如果没有输出,说明 Nouveau 已成功禁用。
安装 NVIDIA 驱动
-
下载驱动
访问 NVIDIA 官方网站 或 NVIDIA UNIX 驱动存档,选择适合你的显卡型号和操作系统(Linux 64-bit)的驱动版本。下载.run
文件,例如:wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.90.07/NVIDIA-Linux-x86_64-550.90.07.run
-
切换到文本模式
NVIDIA 驱动安装需在无图形界面的环境下进行。切换到 runlevel 3:sudo systemctl set-default multi-user.target sudo reboot
或临时切换:
sudo init 3
-
运行安装程序
为下载的.run
文件添加执行权限并运行:chmod +x NVIDIA-Linux-x86_64-550.90.07.run sudo ./NVIDIA-Linux-x86_64-550.90.07.run
- 接受许可证。
- 选择安装 32 位兼容库(如果需要)。
- 选择不安装 OpenGL 文件(如果使用非 NVIDIA GPU 进行显示)。
- 允许自动更新 X 配置文件(或稍后手动配置)。
- 如果提示 DKMS,选择“是”以自动重建驱动模块。
-
验证安装
安装完成后,运行:nvidia-smi
如果显示 GPU 信息和驱动版本,说明驱动安装成功。
-
恢复图形界面
将系统默认目标设置回图形模式:sudo systemctl set-default graphical.target sudo reboot
可选:安装 CUDA(如果需要)
如果你需要 CUDA 工具包(用于 GPU 计算,如深度学习),可以从 NVIDIA 网站下载 CUDA Toolkit:
-
下载
.run
文件:wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux.run
-
运行安装:
sudo sh cuda_12.6.0_560.28.03_linux.run
- 选择不安装 NVIDIA 驱动(已安装)。
- 安装 CUDA Toolkit 和 Samples(可选)。
-
配置环境变量:
编辑/etc/profile
或~/.bashrc
:export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
使环境变量生效:
source ~/.bashrc
-
验证 CUDA 安装:
nvcc --version
故障排除
- 黑屏或无法启动 GUI:
- 检查
/var/log/nvidia-installer.log
日志。 - 确保 Nouveau 已禁用。
- 尝试通过 VGA 端口连接显示器。
- 检查
- 内核模块加载失败:
- 确保
kernel-devel
和kernel-headers
版本与当前内核匹配:uname -r rpm -q kernel-devel
- 重新运行安装程序并指定内核源码路径:
sudo ./NVIDIA-Linux-x86_64-550.90.07.run --kernel-source-path=/usr/src/kernels/$(uname -r)
- 确保
- 权限问题:
- 确保以 root 权限运行安装程序(使用
sudo
或su -
)。
- 确保以 root 权限运行安装程序(使用
- ELRepo 替代方法:
如果手动安装失败,可尝试使用 ELRepo 仓库:sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm sudo yum install -y nvidia-detect nvidia-detect sudo yum install -y kmod-nvidia
注意事项
- CentOS 7 EOL:由于 CentOS 7 已停止支持,建议迁移到 CentOS Stream 9 或其他现代发行版(如 Rocky Linux 9)。在 CentOS Stream 9 上安装 NVIDIA 驱动的步骤类似,但使用
dnf
替代yum
,并需添加 NVIDIA CUDA 仓库。 - 驱动版本:确保下载的驱动版本支持你的显卡型号,查看 NVIDIA 官网的兼容性列表。
- 日志检查:安装失败时,查看
/var/log/nvidia-installer.log
或/var/log/Xorg.0.log
获取详细信息。
如果有特定问题,请提供错误信息或显卡型号,我可以进一步协助!