古いコンピュータに Intel I210-V ネットワークカードを増設した際に「Expansion ROM not initialized」エラーが発生、 Intel純正 BootUtil を使って PXE/UEFI Boot ROM を無効化(Firmware Disabled)することでエラー回避を行いました。備忘録です(写真はメシテロ。IN-N-OUTのダブルダブル、とても美味しいハンバーガーです)。
ネットワークカードのアップグレード
HP ProLiant ML110 G5 を長年使用しています。確認したところ、2010年に購入していました。我が家で2番目に古いコンピュータです。まだ動くよ。動くだけだけど。
このおじいちゃんには、いくつか不満があるのですが、オンボードの HP NC105i PCIe でジャンボフレームを有効にできない のが不満でした。 管理用として使うNICならともかく、データ転送用途としては残念な仕様。古いからしょうがないですね。やむを得ず、Realtek製の65mmショートカードを使ってみたものの、いまいちな性能・・・。
そう、カードの長さには理由があります。 ご覧ください。

MegaRAID カードに冷却ファンを増設しており、中段のPCIeスロットのスペースに余裕がありません。そのため、フルサイズのNICを挿すと物理的に干渉してしまいます。
そんな中、不用品整理をしていたところ、Intel I210-V(ショートサイズ)カード を発見、 「これでいいじゃん!こういうのでいいんだよ!むしろ、これがいい!」と思って差し替えたところ・・・
エラー発生 – Expansion ROM not initialized
ML110 G5 に Intel I210-V を増設すると、 オンボード NC105i の Option ROM(PXEブート機能)と I210-V の PXE/UEFI/iSCSI Boot Agent が競合し、 BIOS POST 時に以下のようなエラーが出ます。
ERROR
Expansion ROM not initialized - PCI Network Controller in slot 03
Bus:09, Device:00, Function:00
このメッセージは、BIOSがNICの拡張ROM(PXE/iSCSI)を初期化できなかったことを示しています。 古い BIOS では Option ROM の容量制限が厳しく、 RAIDカード・複数NICを同時に搭載した場合によく発生します。
オンボードNICを無効化できない
HP ML110 G5 BIOS では、オンボードNICのWake On LANとPXE Bootは無効化できるのですが、オンボード NC105i 自体を無効化する項目が存在しません。 そのため、追加した PCIe NIC と併用する場合、 BIOS上で自動的にリソース競合(特にOption ROM領域)が発生するという罠があります。
つまり、I210-V 側のブートROMを無効化する以外にエラーを解消する手段がありません。
Intel Boot Utilityのダウンロード
2025年時点の BootUtil パッケージには DOS版(bootutil.exe)は含まれず、Windows環境で設定変更が可能になっていました。 iQVW ドライバ経由でBOOTUTILW64Eコマンドを使います。
Intel公式サイトよりツールを入手します:リンク切れの場合は以下のフレーズで検索してください。
Intel® Ethernet Connections Boot Utility, Preboot Images, and EFI Drivers
PREBOOT.ZIPをダウンロードして展開します。
展開後のツールのパス(例):
.\PREBOOT\APPS\BootUtil\Winx64
フォルダ内には以下のファイルが含まれています:
| ファイル名 | 内容 |
|---|---|
| BOOTUTILW64E.EXE | BootUtil本体(64bit Windows版) |
| BootIMG.FLB | PXE/UEFI/iSCSI共通イメージファイル |
| iqvsw64e.inf / .sys / .cat | BootUtil実行用のドライバ |
| install.bat / uninstall.bat | ドライバ登録スクリプト |
BOOTUTILW64E 実行環境の準備
- フォルダをデスクトップなど任意の場所に展開します。
- コマンドプロンプトを「管理者として実行」。
- 「.\PREBOOT\APPS\BootUtil\Winx64」に移動、install.batを実行します。
iQVWドライバが PnP 仮想デバイスとしてWindows に登録され、BOOTUTILW64Eコマンドが iQVW ドライバを経由して、NICのフラッシュ領域に直接アクセスできるようになります。
現在のNIC構成を確認
C:\Users\exiv1\Desktop\PREBOOT\APPS\BootUtil\Winx64>BOOTUTILW64E
Port Network Address Location Series WOL Flash Firmware Version
==== ============ ============== ======= === ========================== =======
1 A0369FC3A655 00000:009:00.0 Gigabit YES UEFI,PXE,iSCSI 1.4.10
Option ROMを無効化(Firmware Disabled)
C:\Users\exiv1\Desktop\PREBOOT\APPS\BootUtil\Winx64>BOOTUTILW64E -NIC=1 -FLASHDISABLE
Disabling boot ROM on port 1...Success
Port Network Address Location Series WOL Flash Firmware Version
==== ============ ============== ======= === ========================== =======
1 A0369FC3A655 00000:009:00.0 Gigabit NO FLASH Disabled
小一時間試行錯誤の結果、辿り着きました。そもそもFLASHDISABLEで、なぜboot ROMが無効化なんだ?というのは小一時間問い詰めたいところですが、まぁ良い。「Flash Disabled」となっていれば成功です。
これで I210-V の PXE/UEFI/iSCSI Boot Agent が完全に無効化され、無事、起動時「Expansion ROM not initialized」エラーも消えました。
Option ROMを再び有効化する(元に戻す)方法
PXE Boot 機能を再び有効化したい場合は、以下のコマンドを実行します。
BOOTUTILW64E -NIC=1 -FLASHENABLE
(再起動後、ROMが再び有効化されます)
所感
わざわざ記事にした理由ですが、Intel I210-V を再利用できて、ちょっと嬉しかったからです。
15年前のサーバーで、最新ではないにせよ、現役のWindows OSが辛うじてでも起動できる。それだけでも十分すごいことだと思います。
ただ、長く続いた互換性の時代も、いよいよ終わりが見えてきました。Windows 11 24H2 以降では、SSE4.2 と POPCNT(Population Count)命令が必須 となり、これを持たない旧世代Xeon(Penryn世代など)は起動すらできません。これは単なるインストーラの制限ではなく、カーネル自体が新しい命令セットを前提に再設計されているためです。
ここまで本当によく働いてくれました。このマシンでWindows OSを使うのは、このあたりがひとつの区切り。もうLinuxしか動かなくなるでしょうね。
・・・ まだ使うんかーい。


コメント