NICが認識されない時のドライバ確認手順

  • URLをコピーしました!

Linuxサーバーでネットワーク設定を行おうとした際に、

  • NICが表示されない
  • インターフェース名が存在しない
  • NetworkManagerやsystemd-networkdで制御できない

といった事象に遭遇することがあります。

この場合、NICドライバが正しく認識・ロードされていない可能性が非常に高いです。

本記事では、

  • NICが見えない時の典型原因
  • ドライバ確認の正しい順序
  • どこで「正常/異常」を判断するか
  • 実務での対処方法

切り分けフローとして再現可能な形で解説します。

目次

まず確認すべきこと(全体像)

NIC未認識トラブルは、以下のレイヤで切り分けます。

  1. ハードウェアとして見えているか
  2. PCIデバイスとして認識されているか
  3. ドライバが存在・対応しているか
  4. ドライバがロードされているか
  5. インターフェースとして生成されているか

この順序を飛ばすと、無駄に設定を疑ってハマります。

① NICが物理的に認識されているか

PCIデバイス確認

lspci | grep -i ethernet

正常な例

02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I210

異常な例

  • 何も表示されない
  • Ethernet controller が存在しない

この時点での判断

  • 表示されない → BIOS / ハード障害の可能性
  • 表示される → 次のステップへ

② 対応ドライバが存在するか確認

デバイスID確認

lspci -nn | grep -i ethernet

02:00.0 Ethernet controller [0200]: Intel Corporation I210 [8086:1533]

この [8086:1533] がドライバ対応可否を判断する重要情報です。

ドライバ対応確認

  • ディストリビューション公式HW対応表
  • ベンダー公式ドライバ情報

特に新しいNIC × 古いOSでは非対応が頻発します。


③ ドライバがロードされているか

現在ロードされているドライバ一覧

lsmod | grep -i e1000

Intel系なら e1000e、Broadcomなら bnx2 などを確認します。

デバイスとドライバの紐付け確認

lspci -k -nn | grep -A 3 Ethernet

正常例

Kernel driver in use: e1000e

異常例

Kernel driver in use: (none)

→ ドライバ未ロード、または非対応。

④ 手動でドライバをロードしてみる

modprobeでロード

modprobe e1000e

確認

lsmod | grep e1000e

結果の判断

  • ロード成功 → 自動ロード設定確認へ
  • エラー → カーネル非対応の可能性

よくあるエラー

  • module not found
  • invalid module format

⑤ インターフェースが生成されているか

ipコマンド確認

ip link show

確認ポイント

  • eth0 / ensX が存在するか
  • DOWN状態でも表示されるか

表示されない場合は、ドライバ or udev段階で失敗しています。

⑥ dmesgでドライバエラーを確認

NIC関連ログ抽出

dmesg | grep -i eth

よくあるメッセージ

  • firmware missing
  • failed to load firmware
  • unknown PHY

対策

  • firmwareパッケージ追加
  • カーネルアップデート

⑦ OS・カーネルバージョンの問題

NICが新しすぎる場合、

  • OS標準カーネルが未対応
  • バックポートされていない

というケースがあります。

確認

uname -r

対策

  • カーネルアップデート
  • ELRepo / mainline kernel 利用
  • ベンダー提供ドライバ導入

⑧ 仮想環境での注意点

  • 仮想NICタイプ変更(virtio / e1000)
  • ハイパーバイザー側設定

ゲストOSに合わないNICタイプを選ぶと、 ドライバが存在しません。

切り分けチェックリスト(実務用)

  • lspciで見えるか
  • デバイスIDは対応しているか
  • Kernel driver in use が表示されるか
  • modprobeでロードできるか
  • ip linkでIFが生成されるか
  • dmesgに致命的エラーはないか

まとめ

  • NIC未認識は設定ではなくドライバ問題が大半
  • ハード → PCI → ドライバ → IF の順で切り分け
  • dmesgは必ず確認
  • 新NIC × 古OSは特に注意

この手順通りに確認すれば、 「どこで詰まっているか」を確実に特定できます。

目次