久しぶりにUbuntu(20.04)を起動したのでパッケージのアップデートをしようとおもった。
「ソフトウェアの更新」を実行すると、「部分的にしかアップデートできない」旨の表示が出た。が、特に気にせず、依存関係か何かで何回かに分けてアップデートしないといけないのかなとおもいってそのまま実行、再起動を行った。
起動メニュでUbuntuを実行すると、黒いコンソールの 画面までは進むが、たぶんデスクトップに切り替わるタイミングで画面がフリーズして起動しないという現象に遭遇した。
理由はわからないが、はじめにUbuntu環境をインストールしたときのGPUがGTX1070で、そのままRTX3060に換装して使い続けていたので、なにか不整合が起きてしまっていたのかもしれない(表面上は動いていた、と思う)。
困った。ということでいろいろ調べながらやって復旧した(たぶん)なのでやったことメモ。LinuxおよびUbuntuに詳しい訳ではないので、余計なことをやったりしているかもしれません。実際にはもっといろいろ試行錯誤しているが、結果的に整理すると意味あったのは以下だけだと思う。
1.Ubuntuをリカバリーモードで起動
これは環境によってやり方がまちまちかもしれない。私の場合はGRUBのメニューの"Advanced options for Ubuntu"みたいなやつを選んで、とにかくRecoveryモードでUbuntuを起動する。まずNetworkを選択するとネットワークが使えるようになるらしいので、それを選んだあとにRootを選んでプロンプトを表示。
※このとき苦し紛れにメニューにあるdpkg項目を選んで、gcc関係のパッケージの修復?が行われたようなのだが、これが関係あったかどうかはわからない(たぶんない)
2.起動ログを確認
# journalctl -p err -b
で、起動時のエラーログを見ることができるらしい。気になったのは、
Failed to start nvidia-powered service
とかいうあたりで、ググったりした結果Nvidiaのドライバが壊れてるんだろうとあたりをつけた
3.nvidiaのドライバ類をすべて削除
# sudo apt-get remove --purge '^nvidia-.*'
# sudo apt autoremove
で、いちどnvidia関連のパッケージをすべて削除した。
ついでにdockerのnvidia関連パッケージも消えてしまったがこの際作り直すことにしていったん忘れる。
(※こうするとnouveauドライバが有効になるはずだぜという記事もみつけたのだが、少なくとも自分の環境では起動しなかった(soundがどうとかいうエラーが残っていた。これも調べるとnvidia関連が原因に見えた)。 miniPC+eGPUという環境なのも影響しているのかもしれないし、それでなにか設定が残ってしまっていたのかもしれない)
4.nvidiaのドライバを再インストール
仕方ないのでリカバリーモードのままnvidiaのドライバの再インストールをした。
Nvidiaのサイトのままに、
# sudo ubuntu-drivers install
を実行して、自動的に最適なドライバを検出してもらった。ここは問題なくインストールが完了した。よく考えたらリカバリーモードでrootに入っているのでsudoいらんことに気づいた(今)。
5.再起動
# sudo reboot
で再起動をかけると、無事に起動してデスクトップが表示された。
TODO:docker関係の構築をやりなおさなければいけない。
0 件のコメント:
コメントを投稿