Intel I210-V 拡張カード ブートROM無効化

Network

 古いコンピュータに 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.EXEBootUtil本体(64bit Windows版)
BootIMG.FLBPXE/UEFI/iSCSI共通イメージファイル
iqvsw64e.inf / .sys / .catBootUtil実行用のドライバ
install.bat / uninstall.batドライバ登録スクリプト
BOOTUTILW64E 実行環境の準備
  1. フォルダをデスクトップなど任意の場所に展開します。
  2. コマンドプロンプトを「管理者として実行」
  3. 「.\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しか動かなくなるでしょうね。

・・・ まだ使うんかーい。

コメント

タイトルとURLをコピーしました