Ubuntuが起動しない原因と解決方法【NVIDIAドライバの黒画面を直す手順】

Linux

Ubuntuを起動したら画面が真っ暗なまま……NVIDIAのGPUを積んでいるPCでは、特によくある症状です。
原因のほとんどは「NVIDIAプロプライエタリドライバとLinuxカーネルの不整合」か「オープンソースドライバとの競合」です。
この記事では、起動できない状態からでも実行できる対処手順を、優先順位順に解説します。


スポンサーリンク

なぜNVIDIAドライバでUbuntuが起動しなくなるのか

UbuntuにはNVIDIA GPU用のドライバが2種類存在します。

ドライバ種別名称特徴
オープンソースnouveau(ヌーボー)Ubuntu標準搭載。基本表示のみ対応
プロプライエタリNVIDIAドライバ高性能。CUDAやゲームに必要

問題が起きやすいのは以下のような状況です。

  • カーネルアップデート後:新しいカーネルに対応したNVIDIAドライバモジュールが未インストールのため、ドライバが読み込めなくなる
  • NVIDIAドライバ導入直後:nouveauとNVIDIAドライバが競合し、どちらも正常に動作しなくなる
  • CUDAインストール後:CUDAインストール時にNVIDIAドライバが上書き・変更される
  • 不完全なドライバインストール:インストール中に中断するなどして、ドライバが壊れた状態になる

Ubuntuのバージョンとカーネルバージョンの確認方法については、Ubuntuのバージョンとカーネルを確認する方法を参照してください。


まず確認すべきこと:症状の切り分け

以下の症状がどれに当てはまるかで、対処法が変わります。

症状考えられる原因
GRUBメニューの直後に黒画面になるNVIDIAドライバの読み込み失敗
ログイン画面は出るが操作できないGDM(ディスプレイマネージャー)の問題
nvidia-smi でエラーが出るドライバとカーネルモジュールのバージョン不一致
アップデート後から突然黒画面になったカーネル更新によるドライバ不一致
起動時に Driver/library version mismatch が出るユーザー空間のドライバとカーネルモジュールのバージョンが異なる(再起動で解消することが多い)

Driver/library version mismatch エラーについては、再起動するだけで解消するケースがほとんどですUbuntu Server公式ドキュメント「NVIDIA drivers installation」より)。


解決方法【優先順位順に試す】

方法1:nomodesetsオプションで起動してドライバを修正する

最初に試すべき方法です。
GRUB起動オプションに nomodeset(ノーモードセット)を追加すると、グラフィックドライバを使わずにUbuntuを起動できます。

手順:

  1. PC起動時に「GRUB」画面が表示されたら、Shiftキーを押し続けてGRUBメニューを表示させる
    (BIOSがUEFIの場合はEscキー)
  2. 「Ubuntu」を選択した状態で e キー を押し、編集モードに入る
  3. linux で始まる行を探し、quiet splash の末尾に nomodeset を追加する

変更前の例:

linux /boot/vmlinuz-... ro quiet splash $vt_handoff

変更後の例:

linux /boot/vmlinuz-... ro quiet splash nomodeset $vt_handoff
  1. Ctrl + X または F10 を押して起動する
  2. Ubuntuが起動したら、以下の手順でNVIDIAドライバを再インストールする(方法2または方法3へ進む)

方法2:リカバリーモードからNVIDIAドライバを修正する

GRUBが表示される場合は、リカバリーモードからCUI(黒い画面のコマンド入力)に入って作業できます。

手順:

  1. GRUBメニューで 「Advanced options for Ubuntu」 を選択する
  2. 一覧から 「Ubuntu, with Linux ○.○.○-○-generic (recovery mode)」 を選択する
  3. リカバリーメニューが表示されたら 「root – Drop to root shell prompt」 を選択する
  4. 以下のコマンドで既存のNVIDIAドライバを完全に削除する
sudo apt purge nvidia-*
sudo apt autoremove
sudo apt autoclean
  1. 次のコマンドでシステムが推奨するNVIDIAドライバを自動的に判別・インストールする
sudo ubuntu-drivers autoinstall

ubuntu-drivers ツールはSecure Boot環境では署名済みドライバを優先してインストールするため、Secure Boot有効環境でも安全に利用できます(Ubuntu Server公式ドキュメントより)。

  1. インストールが完了したら再起動する
sudo reboot

方法3:TTY(仮想コンソール)からドライバを修正する

ログイン画面は表示されているが操作できない場合や、GUIが死んでいる場合に使えます。

手順:

  1. Ctrl + Alt + F2(または F3F6)を押してTTY画面に切り替える
  2. ユーザー名とパスワードでログインする
  3. 既存のNVIDIAドライバを削除してから再インストールする
sudo apt purge nvidia-*
sudo apt autoremove
sudo apt update
sudo ubuntu-drivers autoinstall
sudo reboot

ターミナルの操作に不慣れな方は、Ubuntuでターミナルを起動する方法も参考にしてください。


方法4:nouveau(デフォルトドライバ)をブラックリストに登録してから再インストールする

NVIDIAプロプライエタリドライバとnouveauが競合している場合に有効です。
nouveauを無効化(ブラックリスト登録)してからNVIDIAドライバをインストールすることで、競合を防げます。

手順:

  1. TTYまたはリカバリーモードでログインする
  2. nouveauをブラックリストに登録する設定ファイルを作成する
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
  1. initramfs(起動時のファイルシステム)を更新して設定を反映させる
sudo update-initramfs -u
  1. 再起動する
sudo reboot
  1. 再起動後にNVIDIAドライバをインストールする
sudo ubuntu-drivers autoinstall
sudo reboot

方法5:古いカーネルで起動してからドライバを再インストールする

カーネルアップデートが原因の場合、一時的に古いカーネルで起動することで問題を回避できます。

手順:

  1. GRUB画面で 「Advanced options for Ubuntu」 を選択する
  2. 一覧から 1つ前のカーネルバージョン を選択して起動する(recovery mode ではない通常起動)
  3. 正常に起動できた場合、以下のコマンドでNVIDIAドライバを再インストールする
sudo apt update
sudo ubuntu-drivers autoinstall
sudo reboot

現在インストールされているカーネルバージョンとドライバの確認は、Ubuntuのバージョンとカーネルを確認する方法を参考にしてください。


方法6:GPUを確認してドライババージョンを手動指定してインストールする

ubuntu-drivers autoinstall で解決しない場合、GPUに合わせてドライババージョンを手動で指定します。

手順:

  1. TTYまたはリカバリーモードでログインする
  2. 搭載しているGPUと推奨ドライバを確認する
ubuntu-drivers devices

出力例(GeForce RTX 3080の場合):

model : GA102 [GeForce RTX 3080]
driver : nvidia-driver-570 - distro non-free
recommended driver : nvidia-driver-470 - distro non-free
  1. recommended と表示されているドライバ(上記の例なら nvidia-driver-470)をインストールする
sudo apt install nvidia-driver-470
sudo reboot

バージョン番号は ubuntu-drivers devices の出力結果に従って変更してください。


方法7:ドライバの動作を nvidia-smi で確認する

ドライバを再インストールした後、以下のコマンドでドライバが正常に動作しているかを確認します。

nvidia-smi

正常な場合は以下のようにGPU情報が表示されます。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.xx.xx  Driver Version: 535.xx.xx  CUDA Version: 12.x       |
|---...

以下のエラーが表示された場合は、ドライバが正常に読み込まれていません。

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.

このエラーが出た場合は、上記の方法1〜6をもう一度試してください。


解決しない場合のチェックポイント

以下の点を確認してください。

ディスプレイの接続先を確認する

NVIDIAドライバのインストール後は、映像出力がオンボードグラフィック(マザーボード)の端子からGPU本体の端子に切り替わることがあります。
ドライバのインストール後にモニターケーブルをGPU側の端子に挿し替えてから再起動してください。

aptコマンドの正しい使い方を確認する

UbuntuのaptコマンドとはFを参照すると、パッケージ操作の基本が確認できます。

Secure Bootの影響

一部の環境では、Secure Boot(セキュアブート)が有効になっているとドライバモジュールの署名が必要です。
BIOS/UEFI設定でSecure Bootを一時的に無効化するか、ubuntu-drivers autoinstall を使用することで署名済みドライバが自動選択されます。

ドライバを手動インストール(.runファイル)した場合

NVIDIA公式サイトからダウンロードした .run ファイルで手動インストールした場合、カーネルアップデートのたびにドライバが無効化されます。
この場合は .run ファイルを再実行するか、apt 経由でのインストールに切り替えることを推奨します。


まとめ

UbuntuがNVIDIAドライバで起動しない場合、原因のほとんどは「nouveauとの競合」「カーネルとドライバのバージョン不一致」のどちらかです。

まずは nomodesetsオプションで起動(方法1) を試し、起動できた状態で sudo apt purge nvidia-* の後に sudo ubuntu-drivers autoinstall を実行するのが最も確実な対処です。
Driver/library version mismatch エラーは再起動だけで解消するケースが多いので、まず再起動を試してください。

Ubuntuの新規インストール直後にこの問題が起きた場合は、Ubuntuのインストール方法を完全ガイドも合わせて参考にしてください。


参考情報源

コメント

タイトルとURLをコピーしました