ESXi のカスタム ISO を作る備忘録

Environment
Photo by hyt.

ESXi のカスタム ISO を作る備忘録です.

先日,Intel の NUC 用のインストール ISO ファイルを作ったのですが,色々情報が散らばっていてかなり時間がかかってしまったので,現時点(2018年10月時点)の最新の情報をまとめておきます.

PowerCLI ver.11

まず,やらなければならないことは,ESXi をコマンドラインから操作する PowerShell のパッケージである PowerCLI をインストールすることなのですが,ググって出てくる多くの情報が ver 6.5 u1 以前のものです.

ver 6.5 u1 以前はインストーラーからパッケージを導入出来た様ですが,これ以降のものは PowerShell からコマンドで導入するのが正しい入れ方の様です.

詳しくは,

VMware PowerCLI

にある「VMware PowerCLI User’s Guide」を参照していただければ良いと思いますが,必要最低限のところのみ以下に抜粋します.

まず,インストール可能なオペレーティングシステムは

OS Type
64-Bit
Server
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2008 R2 Service Pack 1
Workstation
  • Windows 10
  • Windows 7 Service Pack 1
  • Ubuntu 16.04
  • macOS 10.12

となっています.また,以下の PowerShell の ver で導入できる様です.

  • Windows PowerShell 3.0
  • Windows PowerShell 4.0
  • Windows PowerShell 5.0
  • Windows PowerShell 5.1
  • PowerShell Core 6.1 (for Ubuntu and macOS)

さらに,PowerCLI を導入する前に,

OS Type .NET Version PowerShell Version
Windows .NET Framework 4.5, 4.5.x, 4.6, 4.6.x or 4.7.x Windows PowerShell 3.0, 4.0, 5.0, or 5.1
Ubuntu .NET Core 2.0 PowerShell Core 6.1
macOS .NET Core 2.0 PowerShell Core 6.1

も入れておかないといけない様です.なお,今回は Windows10 でしたので,必要条件は特に何もせずに満たしていました.

インストール方法は,PowerShell のコンソールに以下の通り入力するだけです.

> Install-Module VMware.PowerCLI -Scope CurrentUser

続行するには NuGet プロバイダーが必要です
PowerShellGet で NuGet ベースのリポジトリを操作するには、'2.8.5.201' 以降のバージョンの NuGet
プロバイダーが必要です。NuGet プロバイダーは 'C:\Program Files\PackageManagement\ProviderAssemblies' または
'C:\Users\hyt\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-PSReposit
ory コマンドレットを実行して、リポジトリの InstallationPolicy の値を変更してください。'PSGallery'
からモジュールをインストールしますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y
>

PowerCLI スクリプトの実行許可

次に PowerCLI スクリプトの実行許可の状態を変更します.デフォルトだと Microsoft のもの以外実行できませんので,その都度許可をすれば全てのスクリプトを実行できる状態にします.

なお,PowerCLI を実行するだけなら,もう1段階高いセキュリティの実行許可状態でも構いませんが,今回は外部のスクリプト(ESXi-Customizer-PS)を利用しますので,この実行許可状態にしておく必要があります.

実行許可の変更は,管理者モードで Powershell コンソールを立ち上げて,

> Set-ExecutionPolicy Unrestricted

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y
>

とすれば良いだけです.

ESXi-Customizer-PS

ESXi のカスタマイズ版 ISO イメージを作成するための,ESXi-Customizer-PS を

ESXi-Customizer-PS
Taking Server virtualization down from the clouds to real life experience ...

からダウンロードします.現時点での最新版は「ESXi-Customizer-PS-v2.6.0.ps1」です.

なお,ESXi-Customizer というプログラムもありますが,これはかなり古く現在はメインテナンスされていない様です.

次に,PowerShell を起動し,次のコマンドを入力します.

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

次にVMWare のサイトが TLS1.2 に対応したことに伴う変更への対応のためのようで,これを実行しておかないと,エラーで ISO の作成がストップします(以下参照).

ESXi-Customizer-PSが[WinError 10054]エラーを吐くときの覚書(PowerShellでTLS1.2を有効化する方法) - Pandora Pocket

続いて,ESXi-Customizer-PS を実行します.管理者権限ではなく,一般ユーザー権限で大丈夫です.

> .\ESXi-Customizer-PS-v2.6.0.ps1

セキュリティ警告
信頼するスクリプトのみを実行してください。インターネットから入手したスクリプトは便利ですが、コンピューターに危害を及ぼ
す可能性があります。このスクリプトを信頼する場合は、この警告メッセージが表示されないように、Unblock-File
コマンドレットを使用して、スクリプトの実行を許可してください。C:\Users\hyt\Desktop\ESXi-Customizer-PS-v2.6.0.ps1
 を実行しますか?
[D] 実行しない(D)  [R] 一度だけ実行する(R)  [S] 中断(S)  [?] ヘルプ (既定値は "D"): R

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

Logging to C:\Users\HYTSUT~1\AppData\Local\Temp\ESXi-Customizer-PS-4976.log ...

Running with PowerShell version 5.1 and VMware PowerCLI version 11.0.0.10336080

Connecting the VMware ESXi Online depot ... [OK]

Getting Imageprofiles, please wait ... [OK]

Using Imageprofile ESXi-6.7.0-20181004001-standard ...
(dated 10/08/2018 10:26:36, AcceptanceLevel: PartnerSupported,
For more information, see http://kb.vmware.com/kb/58849.)

Exporting the Imageprofile to 'C:\Users\hyt\Desktop\ESXi-6.7.0-20181004001-standard.iso'. Please be patient ...


All done.

現時点だと,これで「ESXi-6.7.0-20181004001-standard.iso」が出来ます.WMware から直接ダウンロードできるものは4/3版だが,ESXi-Customizer-PS だと 6.7 u1 相当のものができる様です.

最新のドライバを含むインストール ISO ファイルを作るときは,以下のように実行します(Intel NUC7 のLANチップ I219V に対応する場合).

> .\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -load ne1000

また,サードパーティ等のドライバを含むインストール ISO を作る場合は,例えば,Realtek のドライバならば,

V-Front VIBSDepot Wiki

から対応する vib ファイル(net55-r8168-8.045a-napi.x86_64.vib)をダウンロードして,vibs フォルダ以下に配置してから,

> .\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -pkgdir vibs

の様に実行すると,欲しい ISO ファイルが出来ます.

以上!

EnvironmentServer
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました