目的
本記事では、NVDIAのRTX2080のPCにUbuntu18.04をUSBブートでインストールしたところ、ブート画面でフリーズ、ハングし、にっちもさっちもいかなくなった人(CUIとかGUIとかもよくわからなったあの時の自分)向けに対処法である.
すること
- Linuxのカーネルオプションでグラフィック機能を無効化して起動し(nomodeset)、インストール
- インストール後の同様にカーネルオプションで起動
- Ubuntuに元から入っているnouveauを無効化する
- NVDIAドライバーを入れる (たくさん転がっているので割愛)
nomodesetとは
Kernel mode setting(KMS)を無効化することを指す.カーネル空間でディスプレイの解像度と深度を設定しているらしい.
KMSについては、お勉強中
環境
- iiyamaのなんか
- CPU corei9 9th
- GPU RTX-2080
- Ubuntu18.04のUSBブートイメージ
Ubuntuのインストールができない
筆者のPCにUbuntu18.04を入れようとしたところ、GRUBから通常のライブ画面に移行中に画面が崩れファンが異常に回転、システムがハングした.
原因
Ubuntu18.04とNVDIAのGPUが相性が悪い、、、
多くの記事では、インストール後にUbuntuで用いられているグラフィックドライバー(nouveau)を無効化し、NVDIAのGPUドライバーを入れる必要がある.一方で、今回のようにブートローダーから制御が渡されてすぐnouveauが原因で画面がフリーズすることが分かった.
対策
Linuxのブートオプション(nomodeset)を使い、グラフィック機能を無効化して起動する.
nomodesetとは、Kernel mode settingの無効化を意味する.
1. インストール時
- インストーラーを起動後,「GNU GRUB」が開かれるのを待つ.
- 図のようにUbuntuの起動オプションが表示されたら,キーボードの「E」を押す.
- 環境により,多少表示が変わるが「linux/boot/vmlinuz~」で始まる行の末尾に「nomodeset」を追記し,オプションでカーネルを起動させる.
- 起動後はインストーラーの流れに沿って作業を進める.
2. インストール後
インストール後、再起動時にもカーネルオプションでの起動が必要になる.
GRUB画面が省略される場合、PCの起動後メーカーのロゴが消えてすぐ(BIOSからMBR,GRUBへと制御が移るとき)Escキーを連打する.するとGRUB shellに入るので「normal」と入力して,Enterキーを一度だけ押し,GRUBメニューを開く.
3. nouveauの無効化
汎用グラフィックドライバーの「nouveau」とNVIDIAのGPUの相性が悪い.そこでブラックリストを作り、無効化する.
$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist-nouveau.confファイルを作り、以下の2行を記述する.
blacklist nouveau
options nouveau modeset=0
作成したブラックリストを読み込み,再起動して有効化する.これにより,起動時にフリーズする不具合も解決することができる.
$ sudo update-initramfs -u
$ reboot