只是想在 Ubuntu 16.04(不受支持)上安装 NVIDIA cuda 驱动程序,但出现以下错误:
驱动程序安装无法找到内核源。请确保内核源包已正确安装和设置。如果您知道内核源包已正确安装和设置,则可以使用“--kernel-source-path”标志传递内核源的位置。
但标题已安装
sudo apt install linux-headers-generic-lts-wily Reading package lists... Done Building dependency tree Reading state information...
完成 linux-headers-generic-lts-wily 已经是最新版本 (4.4.0.21.22)。0 个升级,0 个新安装,0 个要删除,30 个未升级。
sudo apt install linux-headers-generic Reading package lists... Done Building dependency tree Reading state information... Done
linux-headers-generic 已经是最新版本 (4.4.0.21.22)。升级了 0 个程序,新安装了 0 个程序,要删除 0 个程序,并且未升级 30 个程序。
内核版本似乎也正确
uname -r 4.4.0-21-generic
有任何想法吗?
答案1
我按照 Ron 所说的操作,清理了内核头文件,然后在当前内核头文件旁边添加了需要 Nvidia 的内核头文件: 去除内核
删除所有现有的 nvidia 包:
sudo apt-get remove nvidia* && sudo apt autoremove
我安装了一些软件包来编译内核(4.4.0):
sudo apt-get install dkms build-essential linux-headers-generic
现在阻止并禁用新Nouveau内核的驱动程序:
sudo nano /etc/modprobe.d/blacklist.conf
在 blacklist.conf 末尾插入以下行:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
我禁用了内核新特性:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
构建新内核
sudo update-initramfs -u
最后reboot
我有 ubuntu:16.04.6,内核为 4.15.0-46-generic
sudo sh cuda_9.0.176_384.81_linux.run --override
sudo service lightdm start
sudo reboot
我在登录时也遇到了问题,但它对我来说有效:
sudo ubuntu-drivers autoinstall
sudo reboot
将它们添加到.bashrc 文件的末尾:
sudo nano .bashrc
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
有效。
答案2
我也遇到了同样的问题。解决方案是在 BIOS 中关闭安全启动。对于我的华硕主板,步骤如下:BIOS -> 高级模式 -> 启动 > 安全启动 -> 密钥管理 -> “清除安全启动密钥”。