ESXi中Debian安装Nvidia显卡驱动
在ESXi中启用显卡直通
配置中增加如下内容:
1 | pciPassthru.use64bitMMIO=TRUE |
由于Debian安装完默认为BIOS启动而不是UEFI,所以不需要设置为允许不安全的UEFI
,如果是Ubuntu需要设置,否则显卡驱动不能加载成功。
检查显卡是否连接
1 | lspci | grep -i nvidia |
进入系统禁用nouveau通用驱动
编辑/etc/modprobe.d/blacklist-nouveau.conf
1 | nano /etc/modprobe.d/blacklist-nouveau.conf |
输入以下内容
1 | blacklist nouveau |
保存并关闭文件,然后执行:
1 | update-initramfs -u |
重新启动系统。
1 | systemctl reboot |
安装依赖包和内核头文件
1 | apt install gcc make build-essential linux-headers-$(uname -r) |
非常好,下面都在扯淡
下载驱动文件
去Nvidia中国官网查找驱动。选择完显卡型号,选择Linux 64-bit
版本的系统,语言选择English(US)
。
选择一个需要的版本,复制下载的链接。下载链接中的文件应该为.run
格式。下面的链接和文件名请更改为你从官网获得的。
1 | curl https://us.download.nvidia.com/tesla/535.183.01/NVIDIA-Linux-x86_64-535.183.01.run -o NVIDIA-Linux-x86_64-535.183.01.run |
赋权
1 | chmod u+x NVIDIA-Linux-x86_64-535.183.01.run |
运行
1 | ./NVIDIA-Linux-x86_64-535.183.01.run --kernel-source-path=/usr/src/linux-headers-$(uname -r) -m=kernel-open |
非常好,上面都在扯淡
安装 nvidia-detect 以检测需要什么样的驱动
1 | apt install nvidia-detect |
如果输出
1 | It is recommended to install the |
则只需要运行
1 | apt install nvidia-driver nvidia-smi |
即可自动编译安装
Ubuntu 20.04
完整流程
1 | sudo apt update |
已废弃的方法(被我废弃)
1 | sudo apt install linux-source-$(uname -r) |
Q and A
240929遇到问题
重装了Ubuntu20.04系统,使用BIOS启动。安装完成后无法启动驱动内核。
错误详情:
1 | nanyancc@gpu:~$ nvidia-smi |
240929 Debian安装驱动
安装必要工具
1 | sudo apt install dkms build-essential gcc make linux-headers-$(uname -r) |
禁用nouveau显卡驱动
修改/etc/default/grub文件
1 | sudo vim /etc/default/grub |
在文件中的GRUB_CMDLINE_LINUX参数中加入下面内容:
1 | rd.driver.blacklist=nouveau |
更新grub
1 | sudo update-grub |
1 | echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist-nvidia-nouveau.conf |
官方源安装:
1 | sudo apt install linux-headers-amd64 dkms |
查询Nvidia日志
要查看与 NVIDIA 相关的系统日志,可以通过以下几种方法来获取和分析 Ubuntu 系统中的相关日志:
1. 使用 dmesg
查看内核日志
dmesg
命令显示内核日志,其中可能包含与 NVIDIA 驱动相关的信息,例如驱动加载失败或者成功的信息。可以通过 grep
过滤出与 NVIDIA 相关的内容:
1 | dmesg | grep -i nvidia |
这个命令将显示当前系统启动后,内核中所有与 NVIDIA 相关的消息。
2. 使用 journalctl
查看系统日志
journalctl
是 Ubuntu 中查看系统日志的一个强大的工具,可以使用它查看所有与 NVIDIA 驱动相关的消息:
1 | journalctl -k | grep -i nvidia |
此命令会显示与 NVIDIA 驱动有关的内核消息。你也可以查看更广泛的系统日志而不仅仅是内核消息:
1 | journalctl | grep -i nvidia |
如果想查看最近的一些日志(例如过去的 100 行),可以通过如下命令查看:
1 | journalctl -b | grep -i nvidia | tail -n 100 |
3. 查看 Xorg 日志(适用于桌面环境)
如果你使用的是 NVIDIA 的图形驱动,可以查看 /var/log/
目录下的 Xorg 日志。常见的文件路径有:
1 | cat /var/log/Xorg.0.log | grep -i nvidia |
这将会显示 Xorg 日志中与 NVIDIA 相关的内容,通常包括显卡驱动加载的信息。
4. 检查 NVIDIA 设置工具的日志
如果你安装了 nvidia-settings
工具,可能会有它自己的日志信息,可以通过以下命令查看:
1 | cat ~/.nvidia-settings-rc |
这个文件包含了 NVIDIA 设置工具的配置信息和日志。
5. NVIDIA 驱动日志(可能适用)
某些情况下,NVIDIA 驱动自身也会生成日志文件,通常可以在 /var/log/
或 /var/log/nvidia
目录下找到。如果存在这些日志文件,可以查看它们:
1 | ls /var/log | grep nvidia |
总结
你可以使用 dmesg
、journalctl
、Xorg
日志,甚至 NVIDIA 的设置日志来分析与 NVIDIA 驱动相关的系统信息。如果你想要更具体的错误分析或调试,也可以尝试从这些日志中寻找与错误相关的关键字,比如 “failed”、”error” 等。