Ubuntu 22.04で ubuntu-drivers autoinstall 実行後にネットワークが UNCLAIMED になった時の対処法
概要 (はじめに)
この記事は、Ubuntu 22.04 LTSでNVIDIAドライバを sudo ubuntu-drivers autoinstall コマンドでインストール(またはアップグレード)した直後、再起動したらWi-Fiも有線LANも認識されなくなった(UNCLAIMED 状態になった)人向けのトラブルシューティング・ガイドです。
OSを再インストールすることなく、ネットワーク接続を復旧させ、NVIDIAドライバも正常に動作させることを目指します。
発生した環境
- OS: Ubuntu 22.04 LTS
-
ハードウェア: 比較的新しいIntelのネットワークコントローラ
- Wi-Fi:
Intel Corporation Device [8086:7a70] - 有線LAN:
Intel Corporation Device [8086:7a60]
- Wi-Fi:
-
実行したコマンド:
sudo ubuntu-drivers autoinstall
遭遇した症状
- Ubuntuの「設定」→「ネットワーク」画面から、Wi-Fiと有線LANの項目が完全に消えた。
- USBテザリングも認識されなかった。
-
sudo lshw -C networkを実行すると、該当デバイスが*-network UNCLAIMEDと表示される。UNCLAIMEDは、ハードウェア自体は認識されているものの、OSが適切なドライバ(カーネルモジュール)を読み込めていないことを示します。
2. トラブルの根本的な原因
ubuntu-drivers autoinstall コマンドは、NVIDIAドライバをインストールするだけでなく、そのドライバと互換性のある新しいHWE (Hardware Enablement) カーネルを同時にインストールすることがあります。
今回のトラブルの原因は、このカーネルアップデートの過程で発生しました。
-
autoinstallが、NVIDIAドライバと新しいLinuxカーネル(例:linux-image-6.5.0-xx-generic)をインストールした。 - しかし、依存関係の処理ミスか何らかの理由で、その新しいカーネル用のネットワークドライバ(
linux-modules-extra-6.5.0-xx-genericパッケージ)がインストールされなかった。 -
sudo rebootにより、ネットワークドライバが欠損している「新しいカーネル」で起動してしまった。 - 結果、ドライバが存在しないため、すべてのネットワーク機器が
UNCLAIMEDとなった。
3. 解決手順
OSの再インストールは不要です。「ネットワークが正常に動いていた古いカーネル」で一時的に起動し、そのインターネット接続を使って「問題の新しいカーネル」を修復します。
ステップ1: GRUBメニューから「古いカーネル」で起動する
- PCを再起動します。
- メーカーのロゴが消えた直後、Ubuntuが起動する前に、キーボードの
Shiftキー(またはEscキー)を連打します。 - 黒い背景の「GRUB」ブートメニューが表示されます。
-
Advanced options for Ubuntu(Ubuntu のための詳細オプション)を選択し、Enterキーを押します。 - カーネルのバージョンリストが表示されます。
- 一番上にあるのが、現在問題が起きている「新しいカーネル」です。
-
リストの上から2番目か3番目にある、バージョン番号が少し古いカーネル(
(recovery mode)と書かれていないもの)を選択し、Enterキーを押します。
ステップ2: ネットワークの復活を確認する
「古いカーネル」でUbuntuが起動すると、autoinstall を実行する前の状態に戻るため、Wi-Fiや有線LANが正常に認識されているはずです。
(ここでネットワークが復活しなければ、別の原因が考えられます)
ステップ3: 「新しいカーネル」を修復する
インターネットに接続できた状態でターミナルを開き、以下のコマンドを実行します。
これにより、問題の「新しいカーネル」に対して、不足していたネットワークドライバ(modules-extra)を含むパッケージ一式を強制的に再インストールします。
# まずパッケージリストを最新化
sudo apt update
# HWEカーネルのメタパッケージを再インストール
# これが依存関係を解決し、不足していた extra モジュールを導入してくれる
sudo apt install --reinstall linux-image-generic-hwe-22.04
ステップ4: NVIDIAドライバを再連携させる(推奨)
ネットワークドライバを修復した「新しいカーネル」と、NVIDIAドライバ(DKMS)が正しく連携するように、autoinstall コマンドを再度実行します。
(ネットワークが使える状態なので、今度は安全に実行できます)
sudo ubuntu-drivers autoinstall
ステップ5: 再起動と確認
すべての作業が完了したら、PCを再起動します。
sudo reboot
今度はGRUBメニューで何も操作せず、通常通り(自動的に「新しいカーネル」で)起動します。 起動後、ネットワーク設定が復活し、Wi-Fiや有線LANが使えること、および nvidia-smi コマンドなどでGPUが正しく認識されていることを確認します。
4. まとめ
ubuntu-drivers autoinstall は便利なコマンドですが、OSの根幹であるカーネルに触れるため、思わぬ副作用(特にカーネルモジュールの欠損)を引き起こすことがあります。
UNCLAIMED という症状が出た場合は、GRUBの Advanced options から古いカーネルで起動できないか試すのが、OS再インストールを回避するための最も有効な手段です。
5. 補足: なぜ「古いカーネル」から「新しいカーネル」を修復できるのか
今回の対処法では、「古いカーネル」で起動しながら apt install --reinstall linux-image-generic-hwe-22.04 を実行した。これがなぜ「新しいカーネル」の問題を解決できるのか、その仕組みを以下に記す。
5.1. apt は「現在起動中のカーネル」とは独立して動作する
- 「古いカーネル(例: 6.2.0)」で起動したのは、
aptがインターネットに接続し、修復作業を行うためだけの「足場」である。 -
aptパッケージマネージャは、現在起動中のカーネルバージョンに縛られず、システムにインストールされている(または、されるべき)すべてのパッケージを管理・操作できる。
5.2. linux-image-generic-hwe-22.04 は「メタパッケージ」である
- このパッケージ自体にカーネル本体やドライバは含まれていない。
- これは「Ubuntu 22.04のHWEカーネルとして、現時点で最新のバージョンをインストールしなさい」という**指示書(メタパッケージ)**の役割を持つ。
5.3. コマンド実行時の apt の動作
-
最新版の特定:
aptはインターネット(リポジトリ)にアクセスし、「linux-image-generic-hwe-22.04が指し示す最新バージョン」を特定する。これは、ubuntu-driversがインストールしようとした「問題の新しいカーネル」(仮に6.5.0とする)である。 -
依存関係の確認:
aptは「6.5.0カーネルが正しく動作するために本来必要なパッケージ(linux-image-6.5.0-xx,linux-modules-6.5.0-xx,linux-modules-extra-6.5.0-xx等)のリスト」を確認する。 -
差分の検出:
aptは現在のシステムをスキャンし、「linux-modules-extra-6.5.0-xx(ネットワークドライバ)が欠損している」という事実を検出する。 -
修復(--reinstall):
--reinstallオプションにより、aptは依存関係リスト(ステップ2)にある全パッケージを、たとえインストール済みとマークされていても、強制的に再ダウンロード・再インストールする。
このプロセスにより、「古いカーネル」上で動作しながら、「新しいカーネル(6.5.0)」用の不足していたネットワークドライバが正しくインストールされ、システムが修復される。