概要
Linuxカーネルをアップデートしたところ、有線LANが認識されなくなってしまいました。以下は、この問題を解決するための手順です。
また問題解決にあたり以下の記事を参考にさせて頂きました。
https://qiita.com/bunnyhopper_isolated/items/40aea93b72fb11a0d6a0
環境
マザーボード:PRO B760M-A WIFI
カーネルバージョン:6.2.0-39-generic
LANコントローラ:Realtek RTL8125 2.5GbE Controller
解決手順
1. カーネルのインストール
VirtualBox上のUbuntu 22.04で、必要なカーネルバージョンをインストールします。
sudo apt install linux-image-6.2.0-39-generic
これにより、ドライバとカーネルバージョンの互換性を確保します。
2. カーネルの選択
システムを再起動し、GRUBメニューから「Advanced options for Ubuntu」を選択します。ここで、6.2.0-39-genericカーネルを選択して起動します。
3. カーネルヘッダーのインストール
新しいカーネルに対応するヘッダーをインストールします。
sudo apt -y install linux-headers-$(uname -r)
4. パッケージのアップデート
最新のパッケージに更新します。
sudo apt update
sudo apt upgrade
5. ドライバのダウンロード
Realtekの公式サイトからRTL8125用のドライバをダウンロードします。
https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
6. ドライバのビルドとインストール
ダウンロードしたドライバのディレクトリに移動し、以下のコマンドでドライバをビルドし、インストールします。
sudo sh autorun.sh
7. ドライバファイルのコピー
ビルドされたr8125.koファイルをVirtualBox環境から実際のシステムにコピーします。この過程で「invalid module format」というエラーが発生した場合は、カーネルのバージョンに不一致がある可能性が高いです。そのため、カーネルのバージョンを再度確認し、必要に応じて対応するバージョンに合わせてみてください
8. ドライバの反映
手順を完了した後、変更をシステムに反映させるために次のステップを実行します。
まず、以下のコマンドを使って、新しくビルドされたドライバを一時的にシステムに適用します。
sudo insmod /lib/modules/6.2.0-39-generic/kernel/drivers/net/ethernet/realtek/r8125.ko
このコマンドは、r8125.koファイルをカーネルモジュールとして直接読み込みます。
数秒後、ネットワーク接続が復活していることを確認します。これにより、ドライバが正しく機能していることが分かります。
次に、以下のコマンドを実行して、再起動後もドライバが有効になるようにします。
sudo depmod -a
このコマンドは、ドライバの依存関係を更新し、システムが再起動した際にもドライバが自動的に読み込まれるようにします。
以上の手順を実行した後、システムを再起動して、すべての変更が正しく適用されていることを確認します。
まとめ
この記事では、Linuxカーネルをアップデートした後に有線LANが認識されなくなった問題の解決法を紹介しました。特に、autorun.shを実行した際のエラー解決には苦労しましたが、カーネルヘッダーの更新とシステムパッケージのアップデートにより、この問題を克服することができました。この記事が同じような状況に直面している方々にとって、問題解決の一助となれば幸いです。