Ubuntu下UEFI安全啟動安裝Nvdia驅動
簡介
眾所周知,Ubuntu默認使用Nouveau開源驅動,其性能受限,因此我們需要安裝Nvidia專用驅動。
安裝專用驅動的一般方法非常簡單,只需執行命令sudo ubuntu-drivers devices && sudo ubuntu-drivers autoinstall即可。但該方法安裝的驅動需要手動進行內核簽名,否則其將無法與安全啟動共存。因此,更推薦采取在Nvidia官網下載.run并執行安裝的方式。
本博客結合其他優質博客,取其精華去其糟粕,結合本人在安裝時遇到的實際問題,詳細整理執行.run的安裝方式,并發表此文。
確保已處于安全啟動模式
- 首先,確保已處于安全啟動模式。開機時進入UEFI固件設置中查看。
安裝必要環境
-
首先更新軟件源:
sudo apt update -
安裝必要編譯環境:
sudo apt install build-essential cmake ninja-build -y
卸載先前安裝的驅動
-
首先,請確認先前是否安裝了Nvidia驅動。使用如下命令查看:
dpkg -l | grep nvidia -
若先前以apt安裝了驅動,使用以下命令進行卸載:
sudo apt-get purge nvidia-*若先前以
.run安裝的驅動,使用以下命令卸載:sudo /usr/bin/nvidia-uninstall
下載驅動安裝腳本
-
打開Nvidia驅動官網,查找并下載自己顯卡的驅動。若不知道自己的顯卡型號,執行以下命令查看:
lspci | grep -i vga -
耐心等待下載,由于服務器位于國外,下載速度較慢,請確保您有良好的國際互聯網連接,相關資料請自行搜索,博主無法提供解決方案。
-
下載后,得到一個
.run結尾的文件。
禁用開源驅動
-
執行以下命令以永久禁用開源驅動:
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf -
使修改生效:
sudo update-initramfs -u
安裝動態內核模塊支持(DKMS)
-
由于
.run安裝的驅動依賴于內核,當內核更新后,需重新執行.run的安裝。因此,我們使用DKMS管理驅動,它會在內核更新后自動重新編譯 NVIDIA 驅動模塊。 -
安裝DKMS:
sudo apt install dkms -y
進入tty模式并安裝
-
由于在GUI 環境下安裝可能會失敗,所以需要切換到純文本模式進行安裝。
-
使用以下命令重啟計算機:
sudo systemctl set-default multi-user.target && sudo reboot now重啟后,使用系統賬戶的賬號密碼登錄。
-
進入先前下載驅動的目錄,此處以
~/Download為例:cd ~/Download -
為安裝腳本添加可執行權限:
sudo chmod a+x ./NVIDIA-Linux-x86_xxx.run其中
xxx請替換為實際驅動版本號。 -
執行安裝腳本:
sudo ./NVIDIA-Linux-x86_xxx.run --dkms使用選項
--dkms以啟用DKMS模塊進行安裝。
生成簽名密鑰
- 一路繼續安裝,執行腳本會編譯內核模塊等。
- 當執行到詢問是否需要簽名頁面時,選擇“Sign the kernel module”。
- 簽名密鑰生成成功后,會展示
.der擴展名的文件路徑。
導入簽名密鑰
-
進入Nvidia目錄:
cd /usr/share/nvidia -
使用
.der文件進行簽名:sudo mokutil --import nvidia-modsign-crt-xxx.der其中xxx請替換為實際文件名。
-
會提示創建密碼,輸入后確認即可。
-
啟用GUI模式并重啟系統:
sudo systemctl set-default graphical.target && sudo reboot now
對密鑰簽名
- 重啟后,進入藍屏的mok management頁面。選擇“Enroll mok”。
- 可見key 0以導入,之后對其簽名,選擇“Continue”,之后選擇“yes”。
- 輸入導入簽名密鑰時設置的密碼,之后選擇“Reboot”。
驗證
-
重啟后,安裝與簽名過程已結束。使用以下命令驗證是否安裝成功:
nvidia-smi
參考資料
本文參考博客:UEFI安全啟動模式下安裝ubuntu的nvidia顯卡驅動。
本文添加了查看顯卡型號,卸載先前驅動,在tty模式下安裝,以及DKMS模塊內容。

浙公網安備 33010602011771號