Nvidia driverとカーネルの相性によるログインループ問題(Ubuntu 16.04).lvmtad is not active yet エラーの解決方法
Ubuntu Desktop版.
とある設定を反映するためにrebootするとログイン画面の解像度がオカシイ.ログインループしてログイン不可能な状態に.
Ctrl + Alt + F1~F6
どれかを選択して端末を開く. こちらからだとログイン可能.
$nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
となるためドライバが問題と考えたが,現在のドライバは最新版440.64の(2020/03/12時)ため別問題と判断.
GUIログイン画面に戻る. 何度かログインを試みていると,一瞬画面が暗くなり何かしらのlogが表れているのが確認. 一瞬だったのでスマホカメラ連射で撮影.
なんてアナログ.
lvmtad is not active yet
とあるのでlvmが読み込めないとかそういう問題かと判断.
ubuntu serverのインストール方法のメモ · GitHub
この2つのページを参考にしたが解決しない.
解決
カーネルとドライバの相性問題のよう.
uname -r
で現在のカーネルを確認.
その後もう一度reboot. 起動時にESCキーを連打してGRUBメニューへ.(Ubuntu16.04.6の場合?) Advanced options for ubuntuを選択. するとカーネルが選択できる(recoveryとupstartと何も無いの3つ) x (カーネル種類数)だけ選択可能. recoveryでもupstartでもないカーネルを選択して起動.ドライバが正しく動くカーネルを選択する.
正しいカーネルを選択すると,正しい解像度でGUIログイン画面が返ってきた.ログインも可能となった. ひとまず安心. しかし,起動する度にESCキーを連打する儀式が必要になるので,起動カーネルを固定する.
/boot/grub/以下のファイル, grub.cfgをいじれば解決するのだが,危険なので別方法をとる.
なるほど.
sudo vi /etc/default/grub
でgrubを開き,
GRUB_DEFAULT=0
の部分を書き換える.このままだと/boot/grub/grub.cfgの一番上にあるカーネルが選択されてしまい,うまくGUIログインができないので,
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-44-generic"
でカーネルをハードコーディングで固定. その後,
sudo update-grub
で反映完了.rebootしてみる.無事ログイン.
uname -r
で正しいカーネルになっていることを再確認.
nvidia-smi
も走ることが確認.
カーネルをアップデートすると,ドライバと相性が悪くてHWを読み込めない場合があるとわかった. いつのまにカーネルアップデートしたんだろ....