📑

Ubuntu Desktop のログイン画面でフリーズしたら

2025/01/08に公開

Ubuntu Desktop をインストールしたとき、デフォルトのグラフィックス設定がハードウェアと互換性がない場合、ログイン時にフリーズすることがあります。本記事では、この問題に対する解決方法を解説します。

Ubuntu Desktop とは

Ubuntuには、サーバー向けの「Ubuntu Server」と、個人やオフィス向けの「Ubuntu Desktop」という2種類があります。

Ubuntu Serverは、主にサーバー運用を目的としており、コマンド(CUI)で操作されることを前提としています。GUIは搭載されていません。

Ubuntu Desktopは、個人利用やオフィス作業向けに設計されており、直感的に操作できるGUIが標準で搭載されています。

なぜフリーズするのか

通常、カーネルは起動時にフレームバッファ(GPUを使った表示領域)を初期化し、最適な解像度を設定します。しかし、この操作が失敗すると以下のような問題が発生します。

  • 画面が真っ黒になる
  • 起動プロセスがフリーズする
  • ログイン画面が表示されない

この操作が失敗する主な原因は、オープンドライバーが搭載されているGPUに対応していないことです。

※ オープンドライバーとは、Ubuntu にデフォルトでインストールされているドライバーのことで、nouveau(NVIDIA用)、amdgpu(AMD用)、modesetting(一般的なドライバー)などがあります。

たとえば、オープンドライバーでは最新のNVIDIA製GPUに対してフレームバッファの初期化がうまくいかず、ログイン時にフリーズすることがあります。また、BIOS/UEFI設定や特定のハードウェア構成(例: マルチGPU環境)も原因となる場合があります。

NVIDIA製GPUで最適な解像度を設定するには専用ドライバーが必要ですが、ログインしなければ専用ドライバーをインストールできません。

ログインする方法

nomodeset を使うと、自動初期化を無効化し、低解像度モードで動作させるため、GUI環境を利用できるようになります。ただし、この方法は一時的な解決策であり、恒久的な対応として専用ドライバーをインストールする必要があります。

  1. 起動時にGRUBメニューを表示する(Shiftキーを連打する)
  2. 「Ubuntu」を選択する前にeキーを押す
  3. quiet splashquiet splash nomodesetに変更する
  4. Ctrl + Xで起動する

これで低解像度モードでGUI環境が動作し、ログインできるようになります。

専用ドライバーをインストールする

ログイン後、適切な解像度で画面を表示するために専用ドライバーをインストールします。以下はNVIDIA製GPUの例です。

推奨されるドライバーを確認する。

ubuntu-drivers devices

推奨されたドライバーをインストールする。

sudo apt install nvidia-driver-xxx

※公式リポジトリで提供されるドライバーが推奨されますが、必要に応じてNVIDIA公式サイトから最新ドライバーをダウンロードしてインストールしてください。

nomodeset を無効化する

専用ドライバーをインストールした後は、GRUBの設定からnomodesetを削除します。

GRUB設定を編集します(例: nanoを使用)。

sudo nano /etc/default/grub

以下の行を見つけます。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

これを以下のように修正します。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

設定を保存して、GRUBを更新します。

sudo update-grub
sudo reboot

再起動後、以下のコマンドで専用ドライバーが正しく動作しているかを確認してください。

nvidia-smi

補足: AMDやIntelのGPUの場合

AMDやIntelのGPUを利用している場合でも、オープンドライバーが原因で同様の問題が発生することがあります。

  • AMDの場合: amdgpuドライバーが適用されているかを確認し、必要であれば専用ドライバーをインストールしてください。
  • Intelの場合: i915ドライバーが適用されているかを確認してください。

特定の問題が解決しない場合は、公式ドキュメントやサポートフォーラムを参照してください。

Discussion