Ubuntu 16.04下NVIDIA GTX 960M顯卡驅動的安裝


Ubuntu 16.04下NVIDIA GTX 960M顯卡驅動的安裝#

擴寫於2017-12-6

記於2017-11-27

該方案親測可行

准備工作###

在進行本方案前請首先屏蔽nouveau驅動,具體方法可自行百度。同時在啟動系統時應按e修改引導參數,在quiet splash后加入nouveau.modeset=0,其余(諸如nomodeset等)選項可以去掉。

若之前曾未成功地安裝過NVIDIA驅動,應首先卸載之(sudo apt-get remove --purge nvidia*,若使用官方安裝包安裝,則參照官方說明進行卸載),若安裝過bumblebee,也應卸載之(sudo apt-get remove --purge bumblebee)。

此外,檢查電腦是否擁有mokutil(即輸入命令mokutil查看是否能夠找到命令),若不具有mokutil,本文中的方法雖能夠安裝驅動,但將無法正常恢復安全啟動。檢查是否安裝有keyctl,若沒有安裝,使用sudo apt-get install keyutils進行安裝即可。

安裝驅動###

從NVIDIA官網下載安裝推薦驅動的方案似乎並不能完美安裝驅動,會出現很多問題。建議直接使用apt安裝官網推薦的驅動。筆者的NVIDIA GTX 960M推薦驅動為nvidia-384。即在終端運行

sudo apt-get install nvidia-384

即可。安裝過程中可能提示需要關閉Secure Boot,否則可能無法正常加載驅動,此時選擇同意關閉並設置密碼。無須擔心,事后可以恢復為安全啟動。待安裝完成后,重啟電腦,若電腦帶有mokutil,將進入shim界面驗證密碼關閉安全啟動。之后應成功加載驅動並進入系統。

恢復安全啟動###

使用openssl為新安裝模組生成密鑰####

首先創建configuration_file.config文件,內容如下:

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
O = KEYNAME
emailAddress = EMAIL

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid

其中KEYNAME處隨意填寫一個名稱即可,EMAIL處填入自己的郵箱地址(其實並無大礙)。

使用密鑰進行簽名####

保存后在當前目錄下運行如下命令:

sudo openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -batch -config configuration_file.config -outform DER -out public_key.der -keyout private_key.priv #生成密鑰
sudo mokutil --import public_key.der #導入密鑰

這時密鑰導入完畢。可以使用sudo keyctl list %:.system_keyring命令查看密鑰列表。下面對剛剛安裝的模組進行簽名。

通常,模組的ko文件應位於/lib/modules/4.10.0-38-generic/updates/dkms/中。ls之並記錄下所有nvidia開頭的ko文件,以及bbswitch.ko文件,這些文件是應進行簽名的文件。使用以下命令進行簽名:

sudo /usr/src/linux-headers-4.10.0-38-generic/scripts/sign-file sha256 private_key.priv public_key.der /lib/modules/4.10.0-38-generic/updates/dkms/***.ko 

其中***替換為你要簽名的文件名。對於以上找到的所有文件均運行該命令。

重新打開安全啟動####

運行以下命令:

sudo mokutil --enable-validation

設置密碼並重啟電腦,進入shim界面,輸入密碼,打開安全啟動即可。

NVIDIA顯卡驅動就此安裝完畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM