物理の駅 by onsanai

Physics Station → PhSt 質問・疑問・間違いの指摘は、コメントに書くか、直接伝えるときっと良いことがあります。主にWindows or Ubuntu用の記事です

Ubuntu 18.04 LTS UEFIにNVIDIAの公式ドライバをインストールする方法

CUDAと一緒にインストールする場合は、Ubuntu 18.04 LTS UEFIにNVIDIA CUDAとcuDNNをインストールする方法を見てほしい。

Ubuntu 18.04 LTSのインストール

Windowsで使えるRufus.exeで、USBフラッシュメモリUbuntu 18.04.3 LTS デスクトップ版を入れた。

f:id:onsanai:20200211023632p:plain:w300

M/BのUSB2.0のポートに差し、UEFIでbootする*1

f:id:onsanai:20200211020431p:plain

そのまま進むと

GNU GRUB version 2.02

 Try Ubuntu without installing
*Install Ubuntu
 OEM install (for manufactures)
 Check disk or defects 

と出てくるので、Install Ubuntuを選択した状態でeを押す。

linuxから始まる行の最後、---のあとにスペースを入れてさらにnomodesetと入れる。この設定をしておかないと、画面が壊れたみたいになってインストールが進まない。(画面上で文尾に\が入っているのはwrapの意味なので実際には入力しない)

f:id:onsanai:20200211020955p:plain

F10でブートに進み、英語版をインストールする。

English-> Continue
Japanese -> Japanese -> Continue
Normal installation or Minimal installation
Download updates while installing Ubuntu -> Continue
Erase disk and install Ubuntu -> Install Now -> Continue
Tokyo -> Continue
User name, Hostname, and password を設定する

NVIDAドライバーのインストール

Ubuntuが無事立ち上がったのを確認し、設定画面からグラフィックスが llvmpipe (LLVM 8.0, 256bit) になっているのを確認しておく。

f:id:onsanai:20200211021501p:plain:w400

Ctrl+Alt+T でターミナルを開き、 build-essential をインストールする。また、NVIDIAが配布するLinux用のシェルスクリプトをダウンロードし、実行権限を与える。

sudo apt update
sudo apt install -y build-essential

cd Download
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/440.59/NVIDIA-Linux-x86_64-440.59.run

chmod u+x NVIDIA-Linux-x86_64-440.59.run

シェルスクリプトを実行する。

sudo ./NVIDIA-Linux-x86_64-440.59.run

ここからが若干ややこしいが、正しい選択肢を選んでいくだけである。正しい選択肢は以下の通りだと思う。間違ってたら教えてほしい。

スクリプトがうまくいってないけどとにかくインストールを続ける f:id:onsanai:20200211021438p:plain

カーネルモジュールに署名する f:id:onsanai:20200211021440p:plain

新しい鍵ペアを作成する f:id:onsanai:20200211021442p:plain

プライベートキーは削除しておく f:id:onsanai:20200211021445p:plain

公開鍵の場所と指紋 f:id:onsanai:20200211021449p:plain

とりあえず署名したカーネルモジュールをインストール f:id:onsanai:20200211021452p:plain

32bit版は不要なのでOKで f:id:onsanai:20200211021455p:plain

よく分からないけどインストール f:id:onsanai:20200211021458p:plain

インストール中 f:id:onsanai:20200211021508p:plain

おせっかいしていい? f:id:onsanai:20200211021510p:plain

完了したよ。 f:id:onsanai:20200211021518p:plain

証明書をインポート

次に、セキュア・ブートで使用される鍵および証明書を管理するmokutilで、鍵証明書をインポートする。パスワードを2度聞かれる。XXXXXXXXには公開鍵のところで出てきた8桁の16進数の文字が入るはずである。

sudo mokutil --import /usr/share/nvidia/nvidia-modsign-crt-XXXXXXXX.der

その後、再起動

sudo reboot

青背景で Press any key to perform MOK management と出てくる

f:id:onsanai:20200211022853j:plain

ので素早く何かを押す。ここで押さないと、もう一度 mokutil --import をする必要が出てくる。

Enroll MOK ->
Continue ->
Yes ->
パスワード ->
Reboot ->

と選択、ドライバをインストール中に作ったパスワードを入力し、importを完了させる。

最後の確認

再起動後、設定画面を見ると、確かに GeForce RTX 2080が認識されている。

f:id:onsanai:20200211021529p:plain

ドライバーのバージョンも440.59が正しく認識されている。

f:id:onsanai:20200211021534p:plain

UbuntuUEFIでもNVIDIAのドライバをインストールできたぞ。

ここまでやっておいて何だが、Cuda Toolkitと両立しないため、CUDAと一緒にインストールする場合は、Ubuntu 18.04 LTS UEFIにNVIDIA CUDAとcuDNNをインストールする方法を見てほしい。

*1:写真は既にUbuntuを入れた後でのクリーンインストールなのでUbuntuが見えてる