ローリングコンバットピッチなう!

AIとか仮想化とかペーパークラフトとか

Ubuntu+nVIDIA復旧中

[technology] Ubuntu 16.04 LTS + nVIDIAドライバーで起動しなくなった

1週間ほど前の朝、いつもの様にUbuntuの入ったmouseのGaming Noteを起動しようとしたらいつまでたってもログイン画面が出ない。
何これ?と思い、GRUBから1つ前のカーネルで起動試みるもダメ。

Recoveryモードだとログイン画面に行くけど、ログインしようとするとすぐにログイン画面に戻ってしまう。

このマシンはGeFORCE GTX1050が載っていて、chainerで使うためにnVIDIAドライバーを入れていたんですが、前日夜にUbuntuのセキュリティアップデートを入れたらこの状態に。

UbuntunVIDIAドライバーを入れる時のお約束としてカーネルはアップデートしないように固定するというのがあって、それはやっていたはずなんだけど....

UbuntuはUSB接続の外付けHDDにインストールされていて、PC本体の内蔵SSDにインストールされたWindows 10は起動するので、Web見たりはそれで凌ぎつつ、解決策を探していたのですが、良い方法がみつからず、一旦諦めてUbuntuを再インストールしようとすると、再インストールすら出来ない。
色々調べてみるとnVIDIAのグラボ搭載したPCにUbuntuデスクトップを入れる時にはお馴染みの問題らしく、例えばこんな記事とかあって...

asobod11138.com



GRUBの画面で編集モードに入ってカーネルの起動パラメーターにnomodesetを入れるととりあえずログイン画面に行ける?
むむっと思って、再インストールは中止、外付けHDDから再度起動を試みる。
GRUBの画面でEを押して、起動パラメータにnomodesetを加え、F10。これで確かにログイン画面に行きました。

が、またもやログインループ。

このログインループもおなじみの現象らしく、
qiita.com
こんな感じの記事が色々見つかる。

ログイン画面でログインせずに、CTRL+ALT+F1で仮想コンソールに切り替えてログイン。

$ dpkg -l | grep nvidia

nVIDIAドライバーを探すと、なぜかnvidia-390とnvidia-397が同時に入っている事になっている。
これをaptコマンドでpurgeする。

$ sudo apt purge nvidia-*

これでrebootすると、今度はGUIのログイン画面からログイン出来る様に。ただしログイン後もなぜかsplash画面の真ん中の点点のアニメーションが残っていてうざい。

$ sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULTにある"quiet splash"を消して、"nomodeset"だけ残して

$ sudo update-grub

これでとりあえずフツーにログイン出来る様になりました。

実は最新のnVIDIAドライバー(今調べたところではリポジトリに入っているのは418)をaptで再インストールしたのですが、そうするとまたログイン出来ないモードになってしまう。
再度nVIDIAドライバーをpurgeして、どうやってnVIDIAドライバーを入れなおすか思案中です。とりあえずもともと動いていたnvidia-390を使うか。
nVIDIAドライバーが無いとchainerが激遅なんですよね...

ちょっとおいおい、完全復旧への道を探ります。