firmware missingが出る時の正しい対処法

  • URLをコピーしました!

Linuxサーバーで dmesg や起動ログを確認した際に、

firmware: failed to load xxxx.fw (-2)

のような firmware missing エラーが出て困った経験はありませんか?

本記事では、

  • firmware missing が出る仕組み
  • よくある誤解
  • 実務で通用する正しい切り分け手順
  • ディストリビューション別の具体的対処法

を整理し、「何をすれば直るのか」「直ったかどうかの判断基準」まで明確に解説します。

目次

firmware missingとは何が起きている状態か

firmware missing は、カーネルがハードウェアを初期化する際に必要なファームウェアを読み込めなかった状態です。

重要なのは以下の点です。

  • ドライバ自体は存在している
  • ただし、追加で読み込むバイナリファームウェアが見つからない
  • 多くの場合 /lib/firmware 配下にファイルがない

そのため、ドライバ未認識とは別問題である点が非常に重要です。

よくあるfirmware missingのログ例

# dmesg | grep -i firmware
firmware: failed to load iwlwifi-7265D-29.ucode (-2)
iwlwifi 0000:00:14.3: Direct firmware load failed
bnx2x 0000:01:00.0: firmware file bnx2x-e1h-7.13.15.0.fw not found

(-2)ENOENT(ファイルが存在しない) を意味します。

まず最初にやるべき切り分け手順

① 本当に影響が出ているか確認する

firmware missing が出ていても、実害がないケースもあります。

  • ネットワークは正常に通信できているか
  • 対象デバイスは ip linklsblk に表示されているか
# ip link show
# lsblk
# lspci -k

通信やI/Oに問題がない場合は、即対応不要なこともあるのが実務ポイントです。

② どのデバイスのfirmwareか特定する

# dmesg | grep -i firmware

ログに出ている firmware 名から対象を特定します。

  • iwlwifi → Intel NIC / Wi-Fi
  • bnx2x → Broadcom NIC
  • amdgpu → GPU
  • megaraid / aacraid → RAID

③ /lib/firmware 配下に存在するか確認

# ls /lib/firmware | grep iwlwifi

存在しない場合、OS標準パッケージに含まれていない可能性が高いです。

ディストリビューション別 正しい対処法

RHEL / CentOS / Rocky / AlmaLinux 系

① linux-firmware パッケージ確認

# rpm -qa | grep linux-firmware

入っていない場合はインストールします。

# dnf install -y linux-firmware

② それでも解消しない場合

OSバージョンが古く、新しいハードウェアに未対応なケースがあります。

  • カーネルアップデート
  • OSマイナーバージョン更新
# dnf update -y
# reboot

Ubuntu / Debian 系

① non-free リポジトリ有効化

Ubuntu/Debianでは firmware が non-free に含まれることが多いです。

# add-apt-repository non-free
# apt update

② firmware-linux パッケージ導入

# apt install -y firmware-linux firmware-linux-nonfree

やってはいけないNG対応

NG① エラーが出ているから即OS再インストール

firmware missing の多くは パッケージ不足 が原因です。

NG② 無理やりドライバを再ビルド

firmwareはドライバとは別物です。再ビルドしても解決しません。

NG③ 影響確認をせず放置 or 過剰対応

「影響があるか」→「対応するか」の順が重要です。

解消したかどうかの判断基準

① dmesg に firmware エラーが出なくなる

# dmesg | grep -i firmware

② デバイスが正常動作している

  • NICなら通信可能
  • RAIDなら論理ドライブ正常
  • GPUならドライバロード済み
# lspci -k

まとめ

  • firmware missing は「ドライバ未認識」とは別問題
  • 多くは linux-firmware / non-free パッケージ不足
  • 影響有無を確認してから対応するのが実務的
  • OS・カーネルが古い場合は更新も視野

firmware missing を正しく理解すれば、無駄な再構築や長時間調査を防ぐことができます。

目次