Ubuntu Desktop のログイン画面でフリーズしたら
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環境を利用できるようになります。ただし、この方法は一時的な解決策であり、恒久的な対応として専用ドライバーをインストールする必要があります。
- 起動時にGRUBメニューを表示する(Shiftキーを連打する)
- 「Ubuntu」を選択する前に
e
キーを押す -
quiet splash
をquiet splash nomodeset
に変更する - 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