2026 年メンテナンス注記: この記事は、すべてのログインループを NVIDIA のせいにするものではなく、証拠を先に集める復旧ガイドとして更新しました。末尾に 2019 年の短文を全文保存していますが、そのコマンドを現行手順として実行しないでください。
Table of Contents
レガシー境界:Ubuntu 18.04 と Bumblebee
Ubuntu 18.04 LTS の標準セキュリティメンテナンスは 2023 年 5 月に終了しました。Ubuntu Pro/ESM は別枠の延長カバレッジであり、古いデスクトップグラフィックス手順を現行化するものではありません。Canonical の最新 Ubuntu リリースサイクルを確認し、サポート中の Ubuntu へのテスト済み移行を計画してください。バックアップのない障害復旧中にリリースアップグレードを始めないでください。
古い ppa:bumblebee/stable 手順は現在の既定策ではありません。原因を確認する前に、第三者のパッケージソースと古いハイブリッドグラフィックス構成を追加します。Canonical の現在の NVIDIA インストールガイドは、Ubuntu パッケージのドライバーと ubuntu-drivers を推奨し、他ソースのドライバーが配布パッケージを上書きして Secure Boot を壊す可能性を警告しています。PPA の追加、NVIDIA パッケージ全消去、Secure Boot 無効化、Bumblebee 導入を盲目的に行わないでください。
安全モデルと停止条件
メンテナンス時間を確保し、未保存の作業を保護し、重要データとディスク暗号化回復キーが機外にあることを確認します。ローカルコンソールを優先してください。ドライバー変更で、リモートグラフィックスやネットワーク依存のアクセスを失うことがあります。基準状態を一度記録し、一つだけ限定変更を行い、テストしてから先へ進みます。
ファイルシステムが読み取り専用、ストレージに I/O エラー、暗号化データを解除不能、PCI で GPU が見えない、APT のパッケージ状態が未解決、ベンダー .run インストーラーと Ubuntu パッケージを混在、またはテスト済みのコンソール/復旧経路がない場合は停止し、管理者または Canonical サポートへ依頼してください。パッケージ名の推測や設定ファイルの削除で「修復」しないでください。
| 証拠 | 考えられる分岐 | 最初の限定対応 |
|---|---|---|
| ルート/ホームに空きブロックまたは inode がない | NVIDIA でなくストレージ | バックアップ後、特定済みデータだけを空ける |
| ホームが書き込めない、または狭い範囲で所有者が違う | アカウント/セッション設定 | 確認したパスだけを直し、盲目的に再帰しない |
| GPU エラーより前にディスプレイマネージャー/ユーザーセッションのエラー | セッション、拡張機能、ディスプレイマネージャー | ドライバー変更前にその要素を診断 |
lspci に NVIDIA GPU がない | ファームウェア、ハードウェア、パススルー、電源状態 | ドライバー変更を止め、プラットフォームを確認 |
| Secure Boot が未署名モジュールを拒否 | モジュール信頼/登録 | Ubuntu 署名済み経路または承認済み MOK 手順 |
| NVIDIA のカーネル/ユーザー空間バージョンが異なる | 未完了トランザクションまたは再起動待ち | パッケージ整合性確認後、一度だけ制御再起動 |
| 画面は正常だがキーボード/マウスが停止 | 入力/カーネル/セッションスタック | GPU を消さず入力分岐へ |
1. システムを変更せずコンソールを取り戻す
グラフィカルログイン画面で Ctrl + Alt + F3(機種によっては Fn も必要)を試し、ローカル管理者アカウントでログインします。ログを残すため、最初はグラフィカルセッションを動かしたままにします。TTY が全て使えなければ、GRUB の「Advanced options for Ubuntu」から対象カーネルに対応する recovery エントリーを選びます。Canonical の復旧モードガイドにこの入り方があります。Live USB はバックアップと読み取り専用調査の最後のアクセス手段であり、パーティションを推測したり、マウント中のファイルシステムへ修復ツールを走らせたりする許可ではありません。
リリース、カーネル、起動ターゲット、ディスプレイマネージャー状態を記録します。
cat /etc/os-release
uname -r
systemctl get-default
systemctl status display-manager --no-pager
期待する証拠は、明確な Ubuntu リリース、実際に起動したカーネル、通常は graphical.target のターゲット、GDM・SDDM・LightDM など特定できるディスプレイマネージャーです。ディスプレイマネージャーユニットの欠落/失敗と、NVIDIA モジュールのロード失敗は別の分岐です。診断結果は非公開のケース記録へ保存し、共有前にユーザー名、ホスト名、ホームパス、IP、デバイスのシリアル、トークンを削除します。
2. ディスク、inode、マウント、ホームの障害を除外する
ファイルシステム満杯、inode 枯渇、読み取り専用マウント、書き込めないホームは、GPU が正常でもユーザーをログイン画面へ戻します。
df -hT / "$HOME"
df -i / "$HOME"
findmnt -T /
findmnt -T "$HOME"
stat -c '%U:%G %a %n' /tmp "$HOME"
stat -c '%U:%G %a %n' "$HOME/.Xauthority" "$HOME/.ICEauthority" 2>/dev/null
test -w "$HOME" && echo 'home is writable' || echo 'home is NOT writable'
空き容量と inode があり、マウントが書き込み可能で、/tmp は通常 root:root 所有のモード 1777、ホームはログインユーザー所有でそのユーザーが書き込める状態が必要です。特に Wayland では、authority ファイルがなくても正常です。一つのファイルだけ所有者が違う場合は、バックアップ後、サイトのアカウント方針に従ってそのパスだけを修正します。$HOME 全体への再帰 chmod/chown、一律 755、最初のテストとしてのドットファイル削除は行いません。
空きがなければ、増えた内容を特定してバックアップし、破棄可能と確認できたデータだけを消します。/var、$HOME、キャッシュ、ログ、カーネルに破壊的なワイルドカードを使わないでください。
3. ディスプレイマネージャーとセッションの証拠を読む
readlink -f /etc/systemd/system/display-manager.service
loginctl list-sessions
journalctl -b -u display-manager --no-pager -n 200
journalctl --user -b --no-pager -n 200
journalctl -b -p warning..alert --no-pager -n 200
一度のログイン失敗の直前・直後の時刻を見ます。認証/PAM 失敗、シェル拡張のクラッシュ、Xorg/Wayland コンポジター障害、GPU モジュール拒否では修正が異なります。ユーザー journal がないことは、セッションが正常だった証拠ではありません。生の journal を公開しないでください。アカウント名、パス、接続機器、ネットワークアドレス、アプリデータを含むことがあります。Ubuntu が提供する `journalctl` マニュアルに、boot、unit、priority、tail の絞り込みがあります。
「試すだけ」でディスプレイマネージャーを交換したり Wayland/Xorg を切り替えたりしません。証拠から一つのセッション種別に限定できた場合、設定をバックアップし、そのリリースで文書化された一項目だけを変え、コンソールから戻せるようにします。
4. ドライバー選択前に GPU トポロジーを特定する
lspci -nnk -d ::0300
lspci -nnk -d ::0302
sudo ubuntu-drivers list
command -v prime-select >/dev/null && prime-select query
command -v switcherooctl >/dev/null && switcherooctl list
二つの PCI クラスは表示/VGA と 3D コントローラーをカバーします。各 GPU、PCI ID、「Kernel driver in use」、Ubuntu の候補パッケージを記録します。ここに NVIDIA デバイスがなければ、パッケージ交換はほぼ役立ちません。prime-select/switcherooctl の出力がないだけなら、ツール未導入の可能性があります。
単一 dGPU のデスクトップ、iGPU+dGPU のノート、eGPU、仮想マシンのパススルーは異なる構成です。ハイブリッド機では、導入済みリリースが PRIME 選択、レンダーオフロード、その他のベンダー対応設計のどれを使うか確認します。Bumblebee、PRIME、手書き xorg.conf、複数の切替ツールを重ねないでください。
5. Secure Boot、モジュール、カーネルの証拠を対応付ける
mokutil --sb-state
lsmod | grep -E '^(nvidia|nouveau)([[:space:]]|$)'
modinfo -F version nvidia 2>/dev/null
modinfo -F signer nvidia 2>/dev/null
nvidia-smi
journalctl -k -b --no-pager |
grep -Ei 'nvidia|nouveau|NVRM|secure boot|module verification|lockdown'
不在を慎重に解釈します。nvidia-smi 実行ファイルがない状態、「No devices were found」、モジュール署名拒否は別々です。lsmod は現在ロード中のもの、modinfo はディスク上で利用可能なモジュールを示します。NVRM: API mismatch はカーネルとユーザー空間のバージョン不一致で、未完了更新や必要な再起動前によく発生します。
Ubuntu は Secure Boot 下でカーネルモジュールを検証します。Ubuntu のビルド済み署名ドライバー経路を優先します。承認済み DKMS パッケージが Machine Owner Key 登録を求めたら、ファームウェアコンソールで一度だけ手続きを完了し、一時パスワードを秘密にします。最初から Secure Boot を無効にしないでください。セキュリティ境界を弱め、暗号化ブートの復旧にも影響し得ます。Canonical の UEFI Secure Boot 文書を参照してください。
6. パッケージ整合性とソース来歴を監査する
次のコマンドは状態確認だけで、パッケージを purge しません。
sudo dpkg --audit
sudo apt-get check
apt-mark showhold
dpkg-query -W 'nvidia-*' 'libnvidia-*' 'bumblebee*' 2>/dev/null
grep -RhsnE 'bumblebee|graphics-drivers' /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null
dpkg --audit または apt-get check が未完了/破損状態を報告したら、ドライバー変更前に停止します。hold パッケージを確認し、NVIDIA/Bumblebee の全パッケージとリポジトリが対象 Ubuntu リリース向けか確かめます。リポジトリ出力には社内ミラー名や埋め込み認証情報が出ることがあるため、共有前に伏せてください。Canonical のパッケージ管理文書がリポジトリと APT のモデルを説明しています。
古い PPA やベンダーインストーラーがあっても、デスクトップに入れない状態で盲目的に purge しません。正確なパッケージとソースを記録し、バックアップ/スナップショットを用意し、使えるコンソールからバージョン互換の移行を計画します。nvidia の一括削除は無関係なライブラリや唯一動く経路も消し得るため、ここでは意図的に掲載しません。
7. 証拠が正当化する場合だけ、サポート済みドライバーを一度変更する
現在サポート中の Ubuntu(または明示的にサポートされた ESM 計画)、健全な APT、認識済み NVIDIA ハードウェア、Ubuntu リポジトリ、バックアップ/復旧アクセス、メンテナンス枠という全条件を先に満たします。メタデータを更新し Ubuntu の候補を確認します。
sudo apt update
sudo ubuntu-drivers list
一覧が空、GPU がレガシー/非対応、または第三者インストーラーの残骸がある場合、系列番号を強制せず調査を止めます。通常のサポート中デスクトップで ubuntu-drivers が候補を検出し、ドライバーブランチが原因と診断できた場合の限定的な Ubuntu サポート操作は次です。
sudo ubuntu-drivers install
承認前に提案トランザクションを読み、記録します。Canonical は、選択と競合する既存ドライバーを ubuntu-drivers が削除する場合があると説明しています。他のパッケージ操作中には実行せず、PPA、NVIDIA .run、推測した手動ブランチと併用しません。
エラーなく完了したら監査し、一度だけ再起動します。パッケージ設定または MOK 登録に失敗したら、盲目的に再起動せず、コンソールを維持してそのエラーを解決します。
sudo dpkg --audit
sudo reboot
8. キーボード/マウス停止は別の分岐として扱う
正常なログイン画面/デスクトップ画像と入力停止だけでは NVIDIA 障害を証明できません。カーネルがデバイスを認識するか、libinput/Xorg パッケージがあるか確認します。
command -v libinput >/dev/null && sudo libinput list-devices
grep -E 'Name=|Handlers=' /proc/bus/input/devices
apt-cache policy xserver-xorg-input-all xserver-xorg-input-libinput
apt-get --simulate install xserver-xorg-input-all
libinput がなくても、その不在を隠さず記録します。カーネルの input/HID メッセージをセッション種別と照合し、可能なら既知正常な有線機器/ポートを試します。xserver-xorg-input-all メタパッケージが関係するのは Xorg 導入が実際に不完全な場合だけで、Wayland、ファームウェア、USB、Bluetooth、カーネル HID、ハードウェア障害は直しません。
現セッションに Xorg が必要で、メタパッケージがなく、シミュレーションが予想したパッケージだけを提案する場合に限り、独立して戻せる次のトランザクションを適用します。
sudo apt install xserver-xorg-input-all
シミュレーションが削除、リリース移行、無関係なデスクトップ変更を提案したら停止します。2019 年の体験談に出たという理由だけで入れないでください。
9. 結果を検証し、ロールバック証拠を残す
一度の再起動と一度のログイン試行後、見えるエラーがないだけで判断せず、新しい証拠を採取します。
systemctl is-active display-manager
loginctl list-sessions
nvidia-smi
journalctl -b -p err..alert --no-pager
if [ -n "${XDG_SESSION_ID:-}" ]; then
loginctl show-session "$XDG_SESSION_ID" -p Type -p State -p Remote
fi
ログイン/ログアウトを 2 回、ロック/解除、キーボードとポインター、該当時は iGPU/dGPU 両レンダリング経路、外部画面、サスペンド/復帰、GPU 加速アプリを検証します。現在のカーネルに期待するモジュールがロードされ、新ログに署名、API 不一致、コンポジター、入力のエラーがないことを確認します。
ロールバック分析用にパッケージ履歴を保持します。
grep -E '^(Start-Date|Commandline|Install|Upgrade|Remove|End-Date)' /var/log/apt/history.log | tail -n 80
変更後に起動が悪化した場合、GRUB の以前のインストール済みカーネルは可逆診断としてだけ使い、既知正常なスナップショットまたは正確な旧パッケージ計画へ戻します。ダウングレード版を推測せず、その Ubuntu リリースで入手可能かつカーネル互換か確認します。エスカレーションには、リリース、カーネル、PCI ID、パッケージ操作、Secure Boot 状態、匿名化ログ、最初に失敗した起動の正確な過程を添えます。Ubuntu デスクトップヘルプに Ubuntu の問題を報告する方法があります。
公式資料
- Canonical:Ubuntu リリースサイクル
- Ubuntu Server:NVIDIA ドライバーのインストール
- Ubuntu security:UEFI Secure Boot
- Ubuntu Server:パッケージ管理
- Canonical authd:ログイン失敗後に復旧モードへ入る
- Ubuntu Manpages:`journalctl`
- Ubuntu Desktop Help:問題を報告する
歴史的原文アーカイブ(実行禁止)
以下は 2019 年ソースエクスポートの可視本文全文で、行末空白のみ正規化しています。プライバシー/URL の伏字は不要でした。このサイトの Markdown エンジンでソース全体を一つの惰性フェンス内に保つため、原文の八つの内側三連バッククォートへ、それぞれ一つのゼロ幅区切り文字を挿入しました。表示テキストは変わりません。古い PPA とパッケージコマンドは歴史的証拠であり、手順ではありません。
After the installation of ubuntu 18.04, I get trapped in a login loop. Then I found a solution online:
```
sudo add-apt-repository ppa:bumblebee/stable
```
```
sudo apt-get update
```
```
sudo apt-get install bumblebee bumblebee-nvidia
```
Voila! I logged in, and I found that the keyboard and mouse is unusable after logging in.
This is the solution to solve this:
```
sudo apt install xserver-xorg-input-all
```
