Ubuntu下UEFI安全啟動安裝Nvdia驅動

簡介

眾所周知,Ubuntu默認使用Nouveau開源驅動,其性能受限,因此我們需要安裝Nvidia專用驅動。

安裝專用驅動的一般方法非常簡單,只需要sudo ubuntu-drivers devices && sudo ubuntu-drivers autoinstall即可,但該方法安裝的驅動需要手動進行內核簽名,否則其將無法與安全啟動共存。因此,更推薦采取在Nvidia官網下載.run并執行安裝的方式。

本博客結合其他優質博客,取其精華去其糟粕,結合本人在安裝時遇到的實際問題,詳細整理執行.run的安裝方式,并發表此文。

博主系統環境如下:

  • KDE Neon 6.3
  • Geforce RTX 4060(Laptop)

安裝必要環境

  1. 首先更新軟件源:sudo apt update
  2. 安裝必要編譯環境:sudo apt install build-essential -y

卸載先前安裝的驅動

  1. 首先,請確認先前是否安裝了Nvidia驅動。使用dpkg -l | grep nvidia命令查看。
  2. 若先前以apt安裝了驅動,使用sudo apt-get purge nvidia-*進行卸載;若先前以.run安裝的驅動,使用sudo /usr/bin/nvidia-uninstall卸載。

下載驅動安裝腳本

  1. 打開Nvidia驅動官網,查找并下載自己顯卡的驅動。若不知道自己的顯卡型號,執行lspci | grep -i vga進行查看。
  2. 耐心等待下載,由于服務器位于國外,下載速度較慢,請確保您有良好的國際互聯網連接,相關資料請自行搜索,博主無法提供解決方案。
  3. 下載后,得到一個.run結尾的文件。

禁用開源驅動

  1. 執行echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf以永久禁用開源驅動。
  2. 執行sudo update-initramfs -u使命令生效。

安裝動態內核模塊支持(DKMS)

  1. 由于.run安裝的驅動依賴于內核,當內核更新后,需重新執行.run的安裝。因此,我們使用DKMS管理驅動,它會在內核更新后自動重新編譯 NVIDIA 驅動模塊。
  2. 安裝DKMS:sudo apt install dkms -y

進入tty模式并安裝

  1. 由于在GUI 環境下安裝可能會失敗,所以需要切換到純文本模式進行安裝。
  2. 使用sudo systemctl set-default multi-user.target && sudo reboot now重啟計算機,重啟后,使用系統賬戶的賬號密碼登錄。
  3. 進入先前下載驅動的目錄,此處以~/Download為例:cd ~/Download
  4. 為安裝腳本添加可執行權限:sudo chmod a+x ./NVIDIA-Linux-x86_xxx.run。其中xxx請替換為實際驅動版本號。
  5. 執行安裝腳本:sudo ./NVIDIA-Linux-x86_xxx.run --dkms,使用選項--dkms以啟用DKMS模塊進行安裝。

生成簽名密鑰

  1. 一路繼續安裝,執行腳本會編譯內核模塊等。
  2. 當執行到詢問是否需要簽名頁面時,選擇“Sign the kernel module”。
  3. 簽名密鑰生成成功后,會展示.der擴展名的文件路徑。

導入簽名密鑰

  1. 進入Nvidia目錄:cd /usr/share/nvidia
  2. 使用.der文件進行簽名:sudo mokutil --import nvidia-modsign-crt-xxx.der,其中xxx請替換為實際文件名。
  3. 會提示創建密碼,輸入后確認即可。
  4. 啟用GUI模式并重啟系統:sudo systemctl set-default graphical.target && sudo reboot now

對密鑰簽名

  1. 重啟后,進入藍屏的mok management頁面。選擇“Enroll mok”。
  2. 可見key 0以導入,之后對其簽名,選擇“Continue”,之后選擇“yes”
  3. 輸入導入簽名密鑰時設置的密碼,之后選擇“Reboot”。

驗證

  1. 重啟后,安裝與簽名過程已結束。使用nvidia-smi命令驗證是否安裝成功。

參考資料

本文參考博客:UEFI安全啟動模式下安裝ubuntu的nvidia顯卡驅動。
本文添加了查看顯卡型號,卸載先前驅動,在tty模式下安裝,以及DKMS模塊內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73574.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73574.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73574.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

05_循環結構三目運算符

目錄 一、雙重for循環 練習 二、break關鍵字 三、continue 關鍵字 練習 四、三元運算 / 三目運算 一、雙重for循環 外層循環 循環一次,,,內層循環 循環一圈!!! 循環里嵌套循環: for(var…

數據結構初階-二叉樹鏈式

目錄 1.概念與結構 2.二叉數鏈式的實現 2.1遍歷規則 2.2申請內存空間 2.3手動構建一棵二叉樹 2.4二叉樹結點的個數 2.5二叉樹葉子結點的個數 2.6二叉樹第K層結點個數 2.7二叉樹的高度 2.8二叉樹中查找值為x的結點 2.9二叉樹的銷毀 3.層序遍歷 3.1概念 3.2層序遍歷…

鴻蒙HarmonyOS NEXT之無感監聽

鴻蒙中存在一些無感監聽,這些監聽經過系統API封裝使用很簡單,但是對實際業務開發中有很重要,例如埋點業務、數據統計、行為上報、切面攔截等。 Navigation的頁面切換 在鴻蒙中Navigation被用來作為路由棧進行頁面跳轉,如果你想知…

批量處理word里面表格的空白行

1,隨便打開一個word文檔。 2,按下Alt F11 VBA編輯器,在左側的「工程資源管理器」窗口中找到Normal 項目,右鍵選擇插入->模塊。 彈出一下彈窗 3,輸入一下代碼 代碼: Sub RemoveEmptyTableRows()Dim tbl As TableDim row As R…

3ds Max 2026 新功能全面解析

一、視口性能與交互體驗升級 1. Hydra 2.0 視口渲染引擎 3ds Max 2026 引入了 Hydra 2.0,大幅優化了視口渲染性能,尤其是在處理復雜場景和高質量實時預覽時,流暢度提升顯著。 支持USD(通用場景描述)格式&#xff0c…

JVM垃圾回收筆記02-垃圾回收器

文章目錄 前言1.串行(Serial 收集器/Serial Old 收集器)Serial 收集器Serial Old 收集器相關參數-XX:UseSerialGC 2.吞吐量優先(Parallel Scavenge 收集器/Parallel Old 收集器)Parallel Scavenge 收集器Parallel Old 收集器相關參數-XX:UseParallelGC ~ -XX:UseParallelOldGC-…

圖解AUTOSAR_SWS_UDPNetworkManagement

AUTOSAR UDP 網絡管理 (UdpNm) 技術詳解 基于 AUTOSAR 規范的 UDP 網絡管理模塊可視化指南 目錄 AUTOSAR UDP 網絡管理 (UdpNm) 技術詳解 目錄1. 概述2. UdpNm 狀態機 2.1 狀態機概述2.2 主要狀態說明2.3 狀態轉換機制2.4 并行狀態3. UdpNm 架構設計 3.1 架構概述3.2 接口設計3…

android 圖形開發的技能學習路線

需要以下幾個方面的知識: OpenGL ES的基礎和高級應用圖形渲染管線的工作原理3D數學(矩陣、向量、四元數)著色器編程(GLSL)libGDX框架的使用和定制性能優化和內存管理跨平臺渲染技術 接下來,考慮如何結構化…

使用AI一步一步實現若依(26)

功能26:新增一個新員工培訓頁面 功能25:角色管理 功能24:菜單管理 功能23:從后端獲取路由/菜單數據 功能22:用戶管理 功能21:使用axios發送請求 功能20:使用分頁插件 功能19:集成My…

vue響應式原理剖析

一、什么是響應式? 我們先來看一下響應式意味著什么?我們來看一段代碼: m有一個初始化的值,有一段代碼使用了這個值; 那么在m有一個新的值時,這段代碼可以自動重新執行; let m = 20 console.log(m) console.log(m * 2)m = 40上面的這樣一種可以自動響應數據變量的代碼機…

無人機航電系統電池技術解析!

1. 常用電池類型 鋰聚合物電池(LiPo) 特點:高能量密度、輕量化、放電效率高,是目前主流選擇。 缺點:對過充/過放敏感,需嚴格管理,存在輕微膨脹或起火風險。 鋰離子電池(Li-ion…

ubuntu下終端打不開的排查思路和解決方法

問題現象描述:ubuntu開機后系統桌面顯示正常,其他圖形化的app也都能打開無異常,唯獨只有terminal終端打不開,無論是鼠標點擊終端軟件,還是ctrlaltt,還是altF2后輸入gnome-terminal后按回車,這三…

Maven入門

1、簡介 Apache Maven是一個項目管理及自動構建工具,由Apache軟件基金會所提供。基于項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構建、報告和文檔等步驟。 2、作用 1)依賴導…

Rk3588,Opencv讀取Gmsl相機,Rga yuv422轉換rgb (降低CPU使用率)

RK3588, 使用OpenCv 讀取 gmsl 相機,獲得yuv422格式圖像, 使用 rga 轉換 rgb 圖像。減少cpu占用率. 查看相機信息 v4l2-ctl --all -d /dev/cam0 , 查看自己相機分辨率,輸出格式等信息,對應修改后續代碼測試… Driver Info:Driver name : rkcifCard type : rkc…

鴻蒙相機開發實戰:從設備適配到性能調優 —— 我的 ArkTS 錄像功能落地手記(API 15)

引言:為什么我要寫這份開發指南? 作為一名老技術,最近特別喜歡研究鴻蒙相機功能,而且目前已經更新到API15了,那么咱們更要好好研究一下。而且從手持云臺到車載記錄儀,每個項目都面臨獨特挑戰:車…

【NLP 49、提示工程 prompt engineering】

目錄 一、基本介紹 語言模型生成文本的基本特點 提示工程 prompt engineering 提示工程的優勢 使用注意事項 ① 安全問題 ② 可信度問題 ③ 時效性與專業性 二、應用場景 能 ≠ 適合 應用場景 —— 百科知識 應用場景 —— 寫文案 應用場景 —— 解釋 / 編寫…

數字轉換(c++)

【題目描述】 如果一個數 xx 的約數和 yy (不包括他本身)比他本身小,那么 xx 可以變成 yy ,yy 也可以變成 xx 。例如 44 可以變為 33 ,11 可以變為 77 。限定所有數字變換在不超過 nn 的正整數范圍內進行,…

如何同步fork的更新

當你fork了一個代碼倉庫后,要將其與原始源碼保持同步,可以按照以下步驟進行操作: 1. 添加原始倉庫作為遠程源 在本地命令行中,進入到你fork后的代碼倉庫目錄,然后使用以下命令添加原始倉庫(通常稱為upstr…

CentOS系統下安裝tesseract-ocr5.x版本

CentOS系統下安裝tesseract-ocr5.x版本 安裝依賴包: yum update -y yum install autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel yum install automake libtool bzip2 -y手動編譯安裝GCC(因系統默認安裝的GCC版本比較…

MyBatis打印SQL日志的配置

配置MyBatis打印日志的步驟如下&#xff0c;支持多種日志框架&#xff08;如Logback、Log4j2等&#xff09;&#xff1a; 一、選擇日志框架并添加依賴&#xff08;以常見組合為例&#xff09; 1. Logback&#xff08;推薦&#xff09; <!-- Maven 依賴 --> <depende…