ESXiのインストーラにドライバを組み込む

  • OS: Windows 10 Pro 21H2
  • VMware-VMvisor-Installer-7.0U3b-19482537
  • ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399
  • ESXi-Customizer-PS 2.8.1

ESXiを導入するにあたって、ASUSのMini PC PN50はうってつけである。しかし乍らESXi7は、PN50に搭載されているRealtekのNICをサポートしていない。此れが為にESXi7のインストーラがNICを検出できず、インストールが空振りに終わる。

図1. 「No Network Adapters」のエラー

ESXi6.7であれば対応ドライバが公開されているけれども、ESXi7以降はVMKlinuxドライバがサポートされなくなったという理由からうごかない。誠に惜しいことである。

そこでUSBのネットワークアダプタに白羽の矢が立つ。ESXi7に対応するUSBネットワークアダプタ用のドライバが公開されているから、これをインストーラに組み込む。するとつつがなく導入が成し遂げられるという算段である。

必要資材の調達

先ずはESXiの導入に必要な資材を準備する。

USBのネットワークアダプタはなんでも良いわけではなさそうな情勢である。サポートするチップセットはREQUIREMENTSに詳しい。

This Fling supports the most popular USB network adapter chipsets found in the market. The ASIX USB 2.0 gigabit network ASIX88178a, ASIX USB 3.0 gigabit network ASIX88179, Realtek USB 3.0 gigabit network RTL8152/RTL8153 and Aquantia AQC111U.

USB Network Native Driver for ESXi

BuffaloのLUA4-U3-AGTE-NBKはASIX88179を搭載しており価格も手ごろであるからこれを買い求めた。

図2. Buffalo LUA4-U3-AGTE-NBKのチップセット

ESXi-Customizer-PSはESXiのインストーラにドライバを組み込める大変有用なスクリプトである。作った人はほんとうに偉い。足を向けて寝られない。あとはUSB Network Native Driver for ESXiとESXiのOffline BundleもESXi-Customizer-PSと同じフォルダに収めておく。

ドライバ組み込み

あとはESXi-Customizer-PSスクリプトでドライバを組み込む。下に掲げる具合に-iZipオプションでOffile Bundleを指定し、-pkgDirオプションでVIBファイルを収めるフォルダを指定する。スクリプトはPowerShellで組み上げられているから、まずはPowerShellを起動する。

PS > .\ESXi-Customizer-PS.ps1 -iZip .\VMware-ESXi-7.0U3d-19482537-depot.zip -pkgDir .\ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399\vib20\vmkusb-nic-fling\

しかし乍らデフォルトだと実行ポリシーがRestrictedに定められている。此れが為に「FullyQualifiedErrorId : UnauthorizedAccess」というエラーでスクリプトが実行できない。

図3. PowerShellスクリプトの実行が許可されていない様子

そこでSet-ExecutionPolicyコマンドレットで一時的に実行を許可する設定を投入する。スコープにProcessを指定し、現在のPowerShellセッションだけスクリプトを好きに実行できるようにした。これならセキュリティ的にもよさそうな雰囲気である。

PS > Set-ExecutionPolicy Bypass -Scope Process -Force
PS > Get-ExecutionPolicy
Bypass
図4. 実行ポリシーを一時的に「Bypass」にセット

そうしたら改めてスクリプトを実行する。するとこうである。

PS > .\ESXi-Customizer-PS.ps1 -iZip .\VMware-ESXi-7.0U3d-19482537-depot.zip -pkgDir .\ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399\vib20\vmkusb-nic-fling\

This is ESXi-Customizer-PS Version 2.8.1 (visit https://ESXi-Customizer-PS.v-front.de for more information!)
(Call with -help for instructions)

Logging to C:\Users\guro\AppData\Local\Temp\ESXi-Customizer-PS-1748.log ...

FATAL ERROR: VMware.VimAutomation.Core is not available as a module or snap-in! It looks like there is no compatible version of PowerCLI installed!

VMware PowerCLIのインストールが求められている。公式サイトの説明によれば管理・自動化のための800を超えるコマンドレットを提供するということである。大変頼もしい。

VMware PowerCLI is a command-line and scripting tool built on Windows PowerShell, and provides more than 800 cmdlets for managing and automating VMware vSphere, VMware Cloud Director, vRealize Operations Manager, vSAN, VMware NSX-T Data Center, VMware Cloud Services, VMware Cloud on AWS, VMware HCX, VMware Site Recovery Manager, and VMware Horizon environments.

VMware PowerCLI – VMware {code}

Install-ModuleコマンドレットでPowerCLIをインストールする。途中、ちっとも動きが見られなくなり気を揉む場面が二度あったが、数分辛抱すると進捗が見られた。

PS > Install-Module VMware.PowerCLI -Scope CurrentUser

続行するには NuGet プロバイダーが必要です
PowerShellGet で NuGet ベースのリポジトリを操作するには、'2.8.5.201' 以降のバージョンの NuGet プロバイダーが必要です。NuGet プロバイダーは 'C:\Program Files\PackageManagement\ProviderAssemblies' または 'C:\Users\guro\AppData\Local\PackageManagement\ProviderAssemblies' に配置する必要があります。'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force' を実行して NuGet プロバイダーをインストールすることもできます。今すぐ PowerShellGet で NuGet プロバイダーをインストールしてインポートしますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y

信頼されていないリポジトリ
信頼されていないリポジトリからモジュールをインストールしようとしています。このリポジトリを信頼する場合は、Set-PSRepository コマンドレットを実行して、リポジトリの InstallationPolicy の値を変更してください。'PSGallery'からモジュールをインストールしますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y
図5. PowerCLIのインストール

改めてESXi-Customizer-PS.ps1を実行すると無事、カスタムISOが作成された。

図6. ISOの作成に成功

このISOで試みにESXiをインストールし、ドライバーを確認すると確かに組み込まれている様子であった。

図7. 組み込んだドライバを表示

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください