1. 程式人生 > >解決Nvidia顯示卡的電腦安裝Ubuntu及驅動的各種坑

解決Nvidia顯示卡的電腦安裝Ubuntu及驅動的各種坑

最近給遊戲本裝雙系統(對沒錯,我就是用遊戲本搞開發的那個人),由於是N卡+Intel核顯的電腦(並且是1920*1080及以上的高分屏),裝Ubuntu前後遇到各種坑。
下面我們慢慢道來如何爬出這些坑。

我遇到的這些坑目前如下,大家可以對號入座:
(1)用U盤安裝Ubuntu系統,卡死在logo介面(下面那一排進度點根本不動),死活進不去;
(2)好不容易把(1)解決了,發現解析度降低成了800*600,安裝過程中部分按鈕都點不到;
(3)安裝成功後進系統發現沒法調節螢幕亮度(甚至連繫統設定-亮度裡的條都沒了);
(4)裝上N卡官方驅動後發現在登入介面無限迴圈,死活進不去桌面;
(5)雖然系統正常了,驅動也裝好了,但怎麼莫名其妙又失效了(表現為亮度又不能調了)。

好,我們逐個解決這些問題,其實這些問題的出現邏輯也大致是上述的順序。
(1)原因分析: 你會發現在logo介面其實解析度很正常,這恰恰就是卡死的原因,因為Ubuntu預設內建了Nvidia的第三方開源驅動nouveau(不是官方的,有點坑,尤其是對桌面使用者),所以導致在系統安裝過程中就因識別到N卡而載入了第三方驅動,具體為什麼卡死不太清楚,總之就是禁用掉。
解決辦法:
(a)卡死在logo介面時,直接強制關機,回到最初的步驟;
(b)在黑白的grub引導介面(第一行是Try Ubuntu… 第二行是Install Ubuntu的那個介面),先用方向鍵選到第二行Install,但不要立即按回車,而是按E,就進入引數配置編輯介面;
(c)找到開頭是linux的那行,一般來說是倒數第二行,在末尾quiet splash的後面先空一格再加上

acpi_osi=linux nomodeset

如果quiet splash後面發現有- - -這串符號,直接刪了就是,只要保證上述新增的引數在splash後面即可;
(d)然後按F10即可進入正常的安裝流程。

(2)原因分析: 因為我們在第一個問題中把顯示卡驅動給禁用了,所以這個時候解析度會下降到800*600,安裝過程的前幾步還沒什麼,到分割槽那一步就坑死了,下面的選單和按鈕都被遮住了,看不見也點不到。
解決辦法: 這個時候你按下Alt+F7,或者直接在標題欄點右鍵會看見有一個Move選項,然後滑鼠會變成一個手指的圖示,此時你用方向鍵或者滑鼠拖動就能把視窗往上拖出螢幕邊緣,下面的部分自然就看得見了。

(3)原因分析: 無法調節亮度,系統設定裡壓根不給你調節的拖動條,並且有些同學在用Unity Tweak Tool進行主題美化後發現一些透明度也失效了,這都是因為沒有正確安裝N卡官方驅動。
解決辦法: 這個問題和(4)合在一起解決。

(4)原因分析: 在登入介面輸入密碼後進不去桌面,又跳回了登入,無限迴圈,這個問題主要原因其實也是因為沒有正確地安裝Nvidia官方顯示卡驅動導致的(英偉達工程師還專門給出瞭解決辦法的,大概是因為OpenGL的一些問題)。
解決辦法: 下面就給大家一個正確的姿勢在Ubuntu上安裝Nvidia驅動:
(a)首先去N卡官網下載自己顯示卡對應的驅動:www.geforce.cn/drivers
(b)下載後好放在英文路徑的目錄下,怎麼簡單怎麼來,然後最好是把檔名改成自己記得的名字,等會兒要用到,因為預設下載下來後面帶了一串版本號,比如我就改成了Nvidia-Linux.run
(c)為了避免後面各種麻煩,直接給驅動程式賦最高許可權:

sudo chmod 777 Nvidia-Linux.run

(d)然後我們去把那個第三方驅動給拉入黑名單,先編輯檔案:

sudo gedit /etc/modprobe.d/blacklist.conf

在檔案末尾加上 blacklist nouveau
然後重新整理配置:

sudo update-initramfs -u

(e)到這一步時最好重啟一下系統,然後正式進入官方驅動的安裝流程。按下Ctrl+Alt+F1進入非圖形終端;
(f)禁用X服務:

sudo service lightdm stop

(g)帶引數安裝驅動(這個地方我的驅動程式直接在Home目錄下,所以很方便):

sudo ./Nvidia-Linux.run -no-opengl-files

(h)重啟X服務:

sudo service lightdm restart

然後重啟系統吧,驅動問題一切OK。

(5)原因分析: 這個問題一般不會出現,一旦出現其實也不知道是什麼情況下造成的,反正還是grub引數的問題。
解決辦法:
編輯grub檔案:

sudo gedit /etc/default/grub

找到**GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nomodeset”**這一行,把nomodeset這個引數和它前面相鄰的空格刪掉,即改成:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
儲存後,更新grub配置:

sudo update-grub

再重啟電腦,顯示卡驅動又恢復效果了。