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 linkやlsblkに表示されているか
# 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 を正しく理解すれば、無駄な再構築や長時間調査を防ぐことができます。
あわせて読みたい


NICが認識されない時のドライバ確認手順
Linuxサーバーでネットワーク設定を行おうとした際に、 NICが表示されない インターフェース名が存在しない NetworkManagerやsystemd-networkdで制御できない といった…
