Edited at

Ubuntuでログインループに陥ったときの対処法

More than 1 year has passed since last update.


TL;DR

Ubuntuでログインループにハマってどうしようもなくなったときの対処法です。

悪い子はNVIDIAドライバです。


原因

様々な原因が考えられますが、だいたいが以下の二種類です。


  • カーネルのアップデートに失敗していろいろなバージョンが混ざってしまった

  • NVIDIAのドライバのバージョン不整合

順に対処法をご紹介します。


対処法


NVIDIAドライバのバージョン不整合が原因の場合

これは、GPUカードに対する適切なバージョンが何らかの原因でインストールされていないときに発生します。


1. NVIDIA公式サイトで適切な最新バージョンを調べる

まず、NVIDIAの公式サイト上で、使用しているGPUカードに対応するドライバの最新バージョンを調べます。

例:)384.98と出ている場合は、バージョンは384です。


2. インストールされているバージョンを調べる

GUIログイン画面上で、Ctrl + Alt + F1を押すと、仮想コンソールに入ることができます。

仮想コンソール上でログインしたのち、以下コマンドでインストール済みのnvidiaドライバのバージョンを調べます。

dpkg -l | grep nvidia

実行すると、nvidia-xxxといった形で表示されると思います。このxxxのバージョン番号が、先ほど調べたバージョン番号と同じ、あるいは小さい場合は問題ありません。


3. 適切なバージョンをインストールする

仮に問題がある場合は、正しいバージョンをインストールします。

sudo apt-get update && sudo apt-get install nvidia-xxx


カーネルのアップデートに失敗した場合

カーネルのアップデートに失敗した場合、仮想コンソール上でapt-get関連のコマンドを実行しようとすると、依存関係のエラーが発生します。

どうしようもなかったので、僕の場合は強制アップデートしなおしたら直りました。

sudo apt-get autoremove -f

sudo apt-get autoclean -f
sudo apt-get update && sudo apt-get upgrade -fy

以上です。