VMware ESXiカスタムISOの作成:NIC・NVMeドライバ不足エラーを解決する秘策

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

コンシューマー向けハードウェアでのESXiインストールの「苦い」結末

ミニPCを新調したり、古いDell Optiplexを再利用して検証環境(Lab)を構築しようと意気揚々と作業を始め、ESXiのインストール時に「冷や水」を浴びせられた経験はないでしょうか。Enterキーを押した直後、画面に「No Network Adapters」という赤い文字が表示されたり、さらに悪いことにはNVMeドライブが見つからなかったりします。これは、VMwareが本来 Dell R740やHP DL380のような、コンポーネントが常に互換性リスト(HCL)に含まれている専用サーバー向けに設計されているため、よくあることです。

バージョン7.0以降、VMwareは一般的なネットワークカードのサポートを正式に終了しました。B460やB560マザーボードに搭載されているRealtek RTL8111/8168やIntel I219-Vといった「定番」チップは、現在では完全に切り捨てられています。Debianベースでハードウェア認識に非常に優れたProxmoxと比較すると、ESXiははるかに厳格です。この制限を回避するには、コミュニティが提供するドライバパッケージ(VIB)を統合して、ISOインストーラーを自ら「カスタマイズ」する必要があります。

混乱しないために知っておくべき用語

作業を始める前に、以下の4つの概念を明確に区別しておく必要があります:

  • VIB (VMware Installation Bundle): ESXiが認識できるようにパッケージ化されたドライバまたはソフトウェアファイル。
  • Image Profile: 完全なISOファイルを作成するためのVIBのリストを含む「設計図」。
  • Software Depot: VIBの格納場所。ダウンロードした.zipファイルや、VMwareのオンラインパスなどがあります。
  • PowerCLI: PowerShell上で動作するコマンドラインツールセット。正確なカスタムISOを作成するための唯一のツールです。

「作戦」環境のセットアップ

ISOのビルドはWindows上で行うのが最適です。まず、PowerShell(管理者として実行)を開き、以下のコマンドを実行してVMware PowerCLIをインストールします:

Install-Module -Name VMware.PowerCLI -AllowClobber -Scope CurrentUser

PowerShellが「信頼されていないリポジトリ」からのインストールについて警告してきた場合は、Yを入力してEnterを押します。次に、スクリプトを実行できるように実行ポリシーを緩和します:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

欠かせない秘密兵器は ESXi-Customizer-PS スクリプトです。これは、何十もの複雑な手動コマンドを打つ代わりに、一行のコマンドだけでVIBをISOにまとめることができるツールです。

実践:ESXi ISOの自作

ステップ1:適切なドライバ(VIB)の選択

Community Networking Driver プロジェクトは、現在のミニPC(Intel NUC 11/12/13など)の90%にとって救世主です。使用しているネットワークカードを特定してください:

  • Realtek (RTL8111/8168): net-community パッケージを探します。
  • Intel (I225-V, I226-V): 4〜6ポートのLANを備えたソフトウェアルーターによく見られます。community-networking ドライバが必要です。
  • 新型NVMe: Samsung 980 ProやWD Blackなどのシリーズでは、最高のパフォーマンスを得るために nvme-community パッケージが必要な場合があります。

ステップ2:ISO作成スクリプトの実行

実務上のヒントとして、C:\ESXi-Build というフォルダを作成してください。そこに ESXi-Customizer-PS.ps1 スクリプトを配置し、さらにドライバの.zipファイルを格納するための pkg フォルダを作成します。

方法1:自動ダウンロードとビルド(安定したネットワークが必要)

このコマンドは、最新のESXi 7.0を取得し、V-Frontリポジトリからドライバを自動的にプルします:

.\ESXi-Customizer-PS.ps1 -v70 -vft -load net-community

方法2:既存のインストーラーからのビルド(推奨)

VMware公式サイトからOffline Bundle (.zip) を既にダウンロードしている場合は、以下のコマンドを使用して完全にコントロールします:

.\ESXi-Customizer-PS.ps1 -izip .\VMware-ESXi-7.0U3k-depot.zip -pkgDir .\pkg

-pkgDir パラメータは、pkg フォルダ内に用意したすべてのドライバをスキャンするようスクリプトに指示します。

ステップ3:発生するエラーの解決

最も一般的なエラーは 「WinError 10054」 です。これは国際回線が不安定なときに発生し、スクリプトがオンラインドライバをダウンロードできなくなります。根本的な解決策は、VIBファイルを事前に手動でダウンロードし、方法2を使用することです。

また、ESXi 7.0以降、スクリプトには Python 3.7以降 のインストールが必要です。Pythonをインストールする際は、必ず「Add Python to PATH」のチェックボックスをオンにしてください。そうしないと、スクリプトが実行環境を見つけられずエラーになります。

USBへの書き込みと成果の確認

完了すると、ISOファイルが生成されます。Rufusを使用してUSBメモリに書き込みます。最新のPCの場合、パーティション構成はGPTターゲットシステムはUEFI を選択することをお勧めします。

USBを検証用マシンに差し込んで起動します。インストーラーにIPアドレスのリストが表示されれば成功です。もし依然としてNICが見つからない場合は、ネットワークカードのPCI IDがそのVIBパッケージেরサポートリストに実際に含まれているか再確認してください。

結び

ESXi用のカスタムISO作成はProxmoxよりも少し手間がかかりますが、その分、VMwareエコシステムの素晴らしい安定性を得ることができます。Offline BundleとVIBパッケージは必ず個人のハードディスクに保存しておきましょう。VMwareはダウンロードリンクを変更したり、法人アカウントを要求したりすることが多いため、後で古いドライバを探し直すのは非常に困難です。

Share: