在 Ubuntu 16.04 LTS 上安裝 NVIDIA cuda 驅動程式時出現核心標頭未找到錯誤

在 Ubuntu 16.04 LTS 上安裝 NVIDIA cuda 驅動程式時出現核心標頭未找到錯誤

只是厭倦了在 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

我禁用了內核 nouveau:

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 檔案的末尾:

須藤奈米.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 -> 進階模式 -> 啟動 >- 安全啟動 -> 金鑰管理 -> 「清除安全啟動金鑰」。

相關內容