雙系統(tǒng)下Ubuntu22.04配置Nvidia驅(qū)動以及pytorch

最近新裝了一個電腦 由于顯卡比較新 通過原來的安裝方法安裝的時候出現(xiàn)了一些問題
原鏈接:Ubuntu配置GPU支持的TensorFlow和pytorch - 簡書
當(dāng)前硬件:Lenovo Legion Y7000 | 16G | Intel U7 20核 | Nvidia 5060 | 1TB
現(xiàn)更新從裝系統(tǒng)開始:

win環(huán)境下裝雙系統(tǒng):

參考:
2021-10-02 在ssd上重裝雙系統(tǒng) Ubuntu無法安裝Chrome - 簡書
Windows11 + Linux (Ubuntu22.04) 雙系統(tǒng)最簡安裝詳細(xì)避坑版_win11安裝linux雙系統(tǒng)-CSDN博客

操作順序:

  1. 下載系統(tǒng)(LTS.iso版本,如果下載成了torrent,可以通過夸克網(wǎng)盤解壓下載iso),下載刻盤軟件并安裝(我這里用的是balanaEtcher,之前有用過軟碟通,rufus都可以,如果是rufus,用默認(rèn)選項就好)


    image.png
  2. 刻錄系統(tǒng)盤
  1. 壓縮并清理出來磁盤空間
  • 開始--磁盤管理--壓縮卷/刪除卷,大概空出來一塊未分配的連續(xù)的空間給ubuntu(不是剛剛U盤里的那個,是要安裝系統(tǒng)的盤上),空在那里就可以
    注:如果磁盤中有卷顯示bitlocker加密,一定要解密后進(jìn)行下一步安裝(開始--設(shè)置--隱私與安全性--設(shè)備加密--關(guān)掉或者直接搜索BitLocker),即使只是win系統(tǒng)安裝的位置有加密也不可以,要全盤都沒有加密才行,否則會安裝到一半告訴你未解密,讓你解密后重新安裝,而且如果文件夾里面東西很多的話,解密要很長很長時間?。?! 要做好心理準(zhǔn)備。
  1. 安裝ubuntu
  • 重啟電腦--選擇U盤啟動(這個時候一般都需要不停的按快捷鍵,聯(lián)想是F12,但我發(fā)現(xiàn)win11有一個路徑:開始--系統(tǒng)--恢復(fù)--高級啟動--使用設(shè)備--EFI USB Device就可以了,不用手忙腳亂)
    注:這一步把網(wǎng)斷掉或者把網(wǎng)線拔了,之后安裝速度會快些
  • 因為這次懶得分區(qū),大規(guī)模數(shù)據(jù)不準(zhǔn)備存在這個系統(tǒng)里,就直接選擇了自動安裝,簡單很多,他會自己選擇那個空白卷,一整個卷都做系統(tǒng)盤,系統(tǒng)文件都在一起,如果想分區(qū)的,可以參考:2021-10-02 在ssd上重裝雙系統(tǒng) Ubuntu無法安裝Chrome - 簡書
  • 其他正常按照提示往下走就可以了,結(jié)束后需要重啟,它會提示你先把啟動盤(U盤)拔了然后再重啟。
  • 重啟及開機(jī)后可能會遇到的問題:
    1) 卡在頁面進(jìn)不去:ubuntu雙系統(tǒng)啟動時卡死解決辦法 - 不妨不妨,來日方長 - 博客園
    2) 開機(jī)時間特別長,卡在le** Ubuntu頁面,但能開機(jī):這個好像是由于獨(dú)顯導(dǎo)致的,開機(jī)后進(jìn)入軟件與更新--附加驅(qū)動--選后面標(biāo)tested專有--應(yīng)用更改--重啟就可以了**

Ubuntu下安裝Nvidia驅(qū)動

  1. 先給ubuntu聯(lián)網(wǎng)進(jìn)行更新,重啟幾次,以確定沒有什么其他問題
  2. 進(jìn)入軟件與更新--附加驅(qū)動--選后面標(biāo)tested專有--應(yīng)用更改--重啟,重啟后打開命令行,輸入
nvidia-smi

看是否會輸出顯卡信息,如果是個表格,說明驅(qū)動已經(jīng)安裝好了,那就可以直接跳下一章了

  1. 我這一步失敗了,顯示的是“No devices were found”,后發(fā)現(xiàn)是版本不匹配導(dǎo)致,排查過程如下:
  • 確認(rèn)系統(tǒng)有沒有看到 NVIDIA 顯卡
lspci | grep -i nvidia

這一步有輸出,為“VGA compatible controller:NVIDIA......”,表示這一步?jīng)]問題

  • 測試驅(qū)動模塊有沒有被加載
lsmod | grep -i nvidia

出現(xiàn)“nvidia_uvm, nvidia_drm等”,說明驅(qū)動模塊是加載了的,但 nvidia-smi 還是找不到設(shè)備 ,往往是驅(qū)動版本與 GPU 型號/內(nèi)核不匹配

  • 看驅(qū)動加載過程是否有報錯
    先查看 Secure Boot 狀態(tài),如果顯示 SecureBoot enabled就沒問題。
sudo mokutil --sb-state

然后看內(nèi)核日志里的 NVIDIA 信息

sudo dmesg | grep -i nvidia | head -n 30 # 用 root 權(quán)限,從完整日志里,顯示最早的 30 行 NVIDIA 相關(guān)日志(更偏啟動階段)
#或者
sudo dmesg | grep -i nvidia | tail -n 20 # 用 root 權(quán)限,顯示最近的 20 行 NVIDIA 相關(guān)內(nèi)核日志(最新報的錯)。

看里面會不會哪里出現(xiàn)“failed”,“No”,“Unknown”之類的,基本就可以確定是版本不匹配,我這里出現(xiàn)的是“failed to allocate NvKmsKapiDevice”。

  1. 安裝低一版本的或者當(dāng)前版本open的驅(qū)動
    注:這里很多人說需要把之前的驅(qū)動都卸干凈在重新安裝,我實際測試了一下發(fā)現(xiàn)并不用查詢關(guān)鍵詞卸載,他會自動卸載之前的驅(qū)動,這一步可參考:Ubuntu配置GPU支持的TensorFlow和pytorch - 簡書
    1)正常安裝
    可以用下面的代碼,也可以通過軟件和更新--附加驅(qū)動來安裝
  • 添加PPA源
sudo add-apt-repository ppa:graphics-drivers/ppa
  • 為系統(tǒng)安裝依賴項以構(gòu)建內(nèi)核模塊:
sudo apt-get install dkms build-essential
  • 查看顯卡硬件型號
ubuntu-drivers devices

出現(xiàn)的應(yīng)該是軟件和更新--附加驅(qū)動里面一樣的驅(qū)動列表,出問題的是580-distro no-free recommended,在列表中有580-open-distro no-free,選擇這個如果還不行,選擇570-open,據(jù)說是因為顯卡的版本(5060)比較新(當(dāng)前編輯日期為2025.11.25),驅(qū)動還沒跟上,如果列表中有575也可以選擇575。

  • 安裝新的驅(qū)動 注:不用卸載之前的驅(qū)動,他會自動卸載的
sudo apt-get install nvidia-driver-580-open # 這里寫你選擇的那個驅(qū)動名字
  • reboot重啟
sudo reboot

注:這個過程中可能會出現(xiàn)ubuntu 軟件包設(shè)置 “確定“ 點不動的情況,Tab+Enter就可以了,要輸入個密碼,之后MOK的時候會用到
2)如果重啟過程中發(fā)現(xiàn)左上角的出現(xiàn)光標(biāo)一直閃,閃很久進(jìn)不去,同樣說明驅(qū)動版本存在問題,要進(jìn)入tty模式,查看驅(qū)動情況,判斷是否要卸載驅(qū)動,重新進(jìn)入系統(tǒng)進(jìn)行操作

  • 機(jī)器開機(jī)卡在左上角閃光標(biāo)的時候,同時按下:Ctrl + Alt + F3(或者 F2/F4 也可以多試幾個)
    如果屏幕變成黑底有登錄提示(login:),說明你進(jìn)到了 TTY:輸入你的用戶名,回車;輸入密碼,回車(密碼不會顯示,正常的)
  • 先測試驅(qū)動安裝上沒,如果出現(xiàn)表格,表示安上了,說明可能不是驅(qū)動的問題,但這種情況一般來說是開機(jī)慢而不是開不開
nvidia-smi
  • 卸載所有 NVIDIA 驅(qū)動:
sudo apt-get purge 'nvidia-*'
sudo apt-get autoremove --purge
  • 刪掉可能被 NVIDIA 寫出來的 X 配置(非必須)
sudo rm -f /etc/X11/xorg.conf
sudo rm -rf /etc/X11/xorg.conf.d
  • 重啟
sudo reboot

重啟后打開附加驅(qū)動會發(fā)現(xiàn)驅(qū)動變成了最下面的那個xserver-xorg,表示已卸載完成。
3) 如果你開啟了 Secure Boot,有時第一次裝驅(qū)動重啟會彈出 MOK 相關(guān)藍(lán)色界面,要自己選 Enroll MOK → Continue →yes → 輸入你之前設(shè)置的密碼→root,否則驅(qū)動不會生效。
4)開機(jī)閃一分鐘多后進(jìn)去了,我這面的原因是:NVIDIA 580-open + Wayland + 混合顯卡 導(dǎo)致的,解決辦法是:在tty中改一下:
Ctrl + Alt + F3(或者 F2/F4 也可以多試幾個)進(jìn)入tty后登錄,輸入

sudo nano /etc/gdm3/custom.conf

打開后找到這一段(大概在開頭):

# Uncomment the line below to force the login screen to use Xorg
#WaylandEnable=false

把 WaylandEnable=false 前面的 # 刪掉,改成:

[daemon]
WaylandEnable=false

其他內(nèi)容不要動。然后在 nano 里:按 Ctrl + O,回車保存;再按 Ctrl + X 退出。
重啟GDM或整個系統(tǒng)

sudo systemctl restart gdm3

按 Ctrl + Alt + F1 或 Ctrl + Alt + F2 去看看能不能出現(xiàn)圖形登錄界面;如果不放心,直接:

sudo reboot

讓 GDM 不再用 Wayland,而是用 Xorg 來起圖形界面——這在混合顯卡 + NVIDIA 的機(jī)器上通常更穩(wěn)。

  1. 測試
nvidia-smi

出現(xiàn)表格表示安裝成功

安裝pytorch

正常來說,在安裝好驅(qū)動之后需要安裝cuda,cudnn等,現(xiàn)在發(fā)現(xiàn)在安裝pytorch時,這些會自動安裝

  1. 先確定pip已經(jīng)安裝好,如果沒有:
sudo apt install python3-pip
  1. 安裝torch:進(jìn)入官網(wǎng):Get Started,選擇對應(yīng)方塊并copy最下面的命令至終端,并運(yùn)行。
    image.png

    注:
  • ubuntu22.04自帶的python是3.10,如果不是或更改過,在build中選擇preview;
  • pip3或者pip需要注意一下,保持一致就行;
  • 安裝完成后就會發(fā)現(xiàn) cudnn,cuda都已經(jīng)被打包安裝好了,可以測試一下:
> python3
import torch
print(torch.version)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容