文本模式下成功。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 的官方文档或社区论坛获取更多帮助。

相关推荐
中草药z25 分钟前
【Spring】深入解析 Spring 原理:Bean 的多方面剖析(源码阅读)
java·数据库·spring boot·spring·bean·源码阅读
地球资源数据云27 分钟前
全国30米分辨率逐年植被覆盖度(FVC)数据集
大数据·运维·服务器·数据库·均值算法
Ahern_1 小时前
Oracle 普通表至分区表的分区交换
大数据·数据库·sql·oracle
夜半被帅醒1 小时前
MySQL 数据库优化详解【Java数据库调优】
java·数据库·mysql
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea2 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
不爱学习的啊Biao2 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
破 风2 小时前
SpringBoot 集成 MongoDB
数据库·mongodb
Rverdoser2 小时前
MySQL-MVCC(多版本并发控制)
数据库·mysql
m0_748233642 小时前
SQL数组常用函数记录(Map篇)
java·数据库·sql