文本模式下成功。ubuntu P104成功。

https://www.nvidia.com/en-us/drivers/details/226760/

你下载的 NVIDIA-Linux-x86_64-470.256.02.run 是 NVIDIA 提供的二进制驱动程序安装文件。以下是详细的步骤,帮助你正确安装这个驱动程序。

1. 备份现有驱动(可选)

在安装新驱动之前,建议备份现有的 NVIDIA 驱动程序配置:

bash 复制代码
sudo cp -r /etc/modprobe.d/nvidia* /etc/modprobe.d/nvidia-backup/
sudo cp -r /lib/firmware/nvidia* /lib/firmware/nvidia-backup/

2. 禁用 Nouveau 驱动

Nouveau 是 Linux 的开源 NVIDIA 显卡驱动,默认情况下可能会与专有的 NVIDIA 驱动冲突。禁用 Nouveau 可以避免冲突。

创建或编辑 /etc/modprobe.d/blacklist-nouveau.conf 文件:
bash 复制代码
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
更新 initramfs:
bash 复制代码
sudo update-initramfs -u

3. 停止图形界面(如果需要)

如果你正在使用图形界面(如 GNOME、KDE 等),建议切换到文本模式以避免安装过程中出现问题。你可以通过以下命令切换到文本模式:

bash 复制代码
sudo systemctl set-default multi-user.target
sudo reboot

重启后,系统将启动到文本模式。你可以通过 Ctrl + Alt + F2Ctrl + Alt + F6 切换到其他 TTY。

4. 下载并验证驱动文件

确保你已经下载了 NVIDIA-Linux-x86_64-470.256.02.run 文件,并且它位于当前目录中。你可以使用 sha256summd5sum 来验证文件完整性(如果有提供校验和)。

5. 安装驱动程序

.run 文件执行权限,并运行安装脚本:

bash 复制代码
chmod +x NVIDIA-Linux-x86_64-470.256.02.run
sudo ./NVIDIA-Linux-x86_64-470.256.02.run

在安装过程中,你会看到一个基于文本的安装向导。按照提示进行操作:

  • 接受许可协议 :按 Tab 键选择 Accept 并按回车键。
  • 是否安装 32 位兼容库 :根据需要选择(通常选择 Yes)。
  • 是否安装符号链接 :选择 Yes
  • 是否注册 DKMS 模块 :选择 Yes(如果支持)。
  • 是否安装 CUDA 工具包 :根据需要选择(通常选择 No,除非你需要 CUDA)。

6. 完成安装

安装完成后,重启计算机以使更改生效:

bash 复制代码
sudo reboot

7. 验证安装

重启后,验证 NVIDIA 驱动是否正确安装并加载:

bash 复制代码
nvidia-smi

你应该会看到类似以下的输出,表明驱动已成功安装:

复制代码
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   CUDA Version: 12.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   37C    P8     9W /  N/A |      0MiB /  8192MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

8. 检查 PyTorch 和 CUDA 版本匹配

确保 PyTorch 和 CUDA 版本匹配。你可以通过以下命令检查 PyTorch 是否能检测到 GPU:

python 复制代码
import torch
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA version: {torch.version.cuda}")

如果 CUDA available 返回 True,则说明问题已经解决。

总结

通过以上步骤,你应该能够成功安装 NVIDIA-Linux-x86_64-470.256.02.run 驱动程序,并确保其正常工作。如果遇到任何问题,请查阅 NVIDIA 的官方文档或社区论坛获取更多帮助。

根据你提供的信息,NVIDIA 安装程序检测到内核模块 nvidia-drm 已经加载,这可能是由于某些程序正在使用 GPU,或者内核配置不支持模块卸载。以下是解决此问题的步骤:

1. 停止使用 GPU 的服务和进程

确保没有程序或服务在使用 GPU。常见的服务包括 X 服务器、CUDA 程序、NVIDIA Persistence Daemon 等。

停止 X 服务器(图形界面)

如果你正在使用图形界面,可以切换到文本模式并停止 X 服务器:

bash 复制代码
sudo systemctl set-default multi-user.target
sudo systemctl isolate multi-user.target

或者直接重启到文本模式:

bash 复制代码
sudo reboot

重启后,系统将启动到文本模式。你可以通过 Ctrl + Alt + F2Ctrl + Alt + F6 切换到其他 TTY。

停止 NVIDIA Persistence Daemon

如果 Persistence Daemon 正在运行,停止它:

bash 复制代码
sudo systemctl stop nvidia-persistenced
查找并终止其他 CUDA 或 GPU 进程

查找并终止所有可能使用 GPU 的进程:

bash 复制代码
fuser -v /dev/nvidia*

如果有任何进程正在使用 GPU,终止它们:

bash 复制代码
sudo killall -9 <process_name>

例如:

bash 复制代码
sudo killall -9 Xorg
sudo killall -9 nvidia-smi

2. 卸载现有驱动

确保现有驱动已完全卸载:

bash 复制代码
sudo apt-get purge nvidia*

清理残留配置:

bash 复制代码
sudo rm /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u

3. 禁用 Nouveau 驱动

禁用 Nouveau 可以避免冲突。

创建或编辑 /etc/modprobe.d/blacklist-nouveau.conf 文件:
bash 复制代码
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf

更新 initramfs:

bash 复制代码
sudo update-initramfs -u

4. 强制卸载内核模块

有时需要强制卸载内核模块。你可以尝试以下命令:

bash 复制代码
sudo modprobe -r nvidia_drm
sudo modprobe -r nvidia_modeset
sudo modprobe -r nvidia_uvm
sudo modprobe -r nvidia

如果这些命令失败,说明模块正在被使用或内核不支持卸载。

5. 重启计算机

如果上述方法无法解决问题,最简单的办法是重启计算机:

bash 复制代码
sudo reboot

重启后,再次尝试安装 NVIDIA 驱动程序。

6. 使用 --uninstall 选项重新安装

在重启后,使用 --uninstall 选项重新安装驱动程序,以确保旧版本完全清除:

bash 复制代码
sudo ./NVIDIA-Linux-x86_64-470.256.02.run --uninstall
sudo ./NVIDIA-Linux-x86_64-470.256.02.run

7. 检查安装结果

安装完成后,验证 NVIDIA 驱动是否正确安装并加载:

bash 复制代码
nvidia-smi

你应该会看到类似以下的输出,表明驱动已成功安装:

复制代码
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   CUDA Version: 12.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   37C    P8     9W /  N/A |      0MiB /  8192MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

总结

通过以上步骤,你应该能够解决 nvidia-drm 内核模块已经加载的问题,并成功安装新的 NVIDIA 驱动程序。如果问题仍然存在,请查阅 NVIDIA 的官方文档或社区论坛获取更多帮助。

相关推荐
云资源服务商1 小时前
解锁阿里云日志服务SLS:云时代的日志管理利器
服务器·阿里云·云计算
朱包林2 小时前
day45-nginx复杂跳转与https
linux·运维·服务器·网络·云计算
孞㐑¥4 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
晋阳十二夜4 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
柳鲲鹏5 小时前
WINDOWS最快布署WEB服务器:apache2
服务器·前端·windows
GDAL6 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT6 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
好奇的菜鸟8 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
bcbobo21cn8 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
wayuncn8 小时前
月付物理服务器租用平台-青蛙云
运维·服务器·服务器租用·服务器托管·物理机租用