NutanixでのOSイメージのレイヤー化準備
このトピックでは、新しいOSレイヤーにインポートするためにクリーンなOSイメージを準備する方法について説明します。開始する前に、要件を満たしていることを確認してください。イメージの準備中に、時間がかかりすぎると感じる場合は、必要に応じてMicrosoft Ngen.exe操作を迅速化できます。
Windows 10を使用しており、PVS、マシン作成、またはViewを実行していない場合は、Windows 10の組み込みアプリケーションを削除することで、デスクトップの起動時間を短縮できます。ただし、アプリケーションはOSイメージ自体ではなく、OSレイヤーの新しいバージョンで削除することをお勧めします。
注:
Nutanixでは、応答ファイルを使用しないでください。App Layeringソフトウェアは、応答ファイルが存在する場合、Nutanixでは不要または推奨されないため、それを削除します。
仮想マシンへのOSインストール
この手順の一部として、キー管理サービス (KMS) アクティベーションを設定できます。
注: KMSとActive Directoryベースのアクティベーション (ADBA) の両方が同時に使用されている環境にイメージを公開すると、アクティベーションの問題が発生します。
- Prismコンソールにログインします。
- タスク > VM を選択し、テーブルビューに切り替えて既存の仮想マシンを表示します。
- 右上隅にある +VMの作成 をクリックし、新しい仮想マシンの詳細を入力します。
- 名前を入力し、説明を追加します。
- VCPUの数を選択します。
- CPUあたりのコア数を設定します。
- メモリを設定します。
-
ディスクを選択し、3つのディスクを持つ仮想マシンを作成します。最初のCD-ROMはOSのISOです。2番目のCD-ROMは、Nutanix仮想マシンがOSをインストールするディスクにアクセスできるようにするNutanix VIRTIOドライバー用です。最初に1つのCD-ROMが割り当てられます。
- 割り当てられた CD-ROM の値を編集します。
- 操作には、ADSFファイルからのクローンを選択します。
- バスタイプには、IDEを選択します。
-
Windows ISOへのパスを入力します。パスはストレージコンテナとISO名の組み合わせです。例:
/ISOStore/en_windows_10_enterprise_version_1511_x64_dvd_7224901.iso - 更新をクリックします。
-
+新しいディスクの追加ボタンをクリックして、別のディスクを追加します。
- タイプを CDROM に設定します。
- 操作を ADSFファイルからのクローン に設定します。
- バスタイプを IDE に設定します。
-
Windows VIRTIOドライバーへのパスを入力します。例:
/ISOStore/virtio-win-0.1.102.iso - 追加をクリックします。
-
+新しいディスクの追加ボタンをクリックします。
- タイプを ディスク に設定します。
- 操作を コンテナに割り当て に設定します。
- バスタイプを SCSI に設定します。
- 使用する コンテナ を選択します。
- サイズを入力します。
- 追加をクリックします。
- +新しいNICの追加をクリックし、VLAN名を入力します。
- 保存をクリックします。
-
仮想マシンの電源をオンにします。
- タスク > VM を選択します。
- テーブルビューに切り替えて既存の仮想マシンを表示します。
- テーブルで仮想マシンを選択し、電源オンをクリックします。
- VMを選択し、[コンソールの起動] をクリックしてコンソールを起動します。VMが起動すると、ISOディスクからWindows OSのインストールが開始されます。VMが起動すると、ISOディスクからWindows OSのインストールが開始されます。
- 「Windowsをどこにインストールしますか?」と尋ねられたら、VM作成ウィザードでディスクを追加したにもかかわらず、ディスクがないことに注意してください。
- ドライバーのロードオプションを選択し、参照を選択します。
- virtio-win-0.1.1ドライバーを含むCDを選択します。
-
vioscsiフォルダーを選択し、お使いのWindows OSのフォルダーを選択します。
- OSのインストール後、VirtIOドライバーを手動でインストールします。
- デバイスマネージャーを起動します。
- その他のデバイスを選択し、イーサネットコントローラーを右クリックしてドライバーソフトウェアの更新を選択します。
- マイコンピューターを参照し、VirtIO CDを選択します。イーサネットドライバーはNetKVMフォルダーに保存されています。
-
サーバーOS: セッションホスト機能が必要な場合:
- 役割と機能の追加を選択します。
- インストールタイプには、役割ベースまたは機能ベースのインストールを選択します。
- サーバーの役割には、リモートデスクトップサービス > リモートデスクトップセッションホストを選択します。
- サーバーの役割の追加プロセスを完了します。
- すべての重要な更新プログラムをインストールします。システムを再起動し、さらに更新プログラムがないか確認します。一部の更新プログラムは、他の更新プログラムがインストールされた後にのみ利用可能になります。
- 必要なすべてのサービスパックをインストールします。
- Windowsシステムの復元とWindows自動更新を無効にします。
- 組み込みの管理者アカウントを有効にし、パスワードを無期限にするをチェックします。
-
キー管理サービス (KMS) ライセンスを使用している場合は、管理者としてコマンドウィンドウを実行し、次のコマンドを入力します。
slmgr /skms <kmsserverhost> slmgr /rearm reboot slmgr /ipk XXXX-YOUR-KMS-KEY-XXXX slmgr /ato <!--NeedCopy--> - サーバーOS: サーバーOSのリモート設定にドメインユーザーを追加します。
-
無効な (ゴースト) NICがないか確認し、存在する場合は削除します。次のコマンドを入力します。
set devmgr_show_nonpresent_devices=1 devmgmt.msc <!--NeedCopy--> - 無効な (ゴースト) NICをすべてアンインストールします。
-
これがサーバーOSである場合は、PowerShellで次のコマンドを実行します。
Set-ExecutionPolicy Unrestricted Enable-PSRemoting <!--NeedCopy-->
OSイメージでのOSマシンツールの実行
OSイメージをレイヤーで実行できるように準備するには、OSイメージでOSマシンツールファイルを実行します。この実行可能ファイルは、GPOセットアップスクリプト (gposetup.cmd) とSet KMS Versionスクリプト (SetKMSVersion.hta) を実行します。
-
次の実行可能ファイルをOSイメージにダウンロードします。
Citrix_App_Layering_OS_Machine_Tools_20.x.x.exe -
実行可能ファイルを実行します。ファイルは次の場所に保存されます。
c:\windows\setup\scripts注:
ファイルは
c:\windows\setup\scriptsディレクトリに抽出する必要があります。ディレクトリを変更しないでください。
キー管理サービス (KMS) を使用する場合のライセンスアクティベーションの設定
スクリプトが抽出されると、SetKMSVersionユーティリティはKMSライセンスを使用するかどうかを選択するよう求めます。
注: KMSとActive Directoryベースのアクティベーション (ADBA) の両方が同時に使用されている環境にイメージを公開すると、アクティベーションの問題が発生します。
-
次のダイアログボックスで、キー管理サービス (KMS) ライセンスを使用するかどうかを選択します。

KMSのスクリプトを設定するには、次の手順を実行します。
-
次の場所に移動します。
c:\windows\setup\scripts -
SetKMSVersion.exe を管理者として実行します。これにより、
c:\windows\setup\scripts\kmsdirフォルダーにスクリプトファイルが作成されます。
オペレーティングシステムが起動すると、適切なKMSアクティベーションスクリプトが実行されます。
.NET Frameworkの正しいバージョンのインストール確認 (Windows 10およびWindows Server 2016)
.NET FrameworkはMicrosoftが提供するソフトウェアフレームワークであり、多くのサードパーティアプリケーションの実行に必要です。.NET FrameworkのインストールはすべてOSレイヤーに含める必要があります。これには.NET 3.5および.NET 4.0以降が含まれます。
注:
Citrix Virtual Apps and Desktops (CVAD) 2303でVDAを追加するには、.NET 4.8が必要です。
OSレイヤーに.NET Frameworkとすべての更新プログラムを必ずインストールしてください。
App Layeringサービスのインストール
-
c:\windows\setup\scriptsフォルダーで、setup_x86.exe (32ビット) または setup_x64.exe (64ビット) を実行します。 -
インストール時に
unattendファイルの場所が求められます。Nutanixではunattendファイルを使用しないでください。
MS Officeを使用する場合の最適化スクリプトの実行
App Layeringインストールパッケージに含まれる最適化スクリプトは、Microsoft Officeをレイヤー化するために必要です。このスクリプトを使用すると、不要なサービスを無効にし、必要なサービスを有効にし、インストール固有のドライバーと設定を削除することで、メモリとCPUを節約できます。
最適化スクリプトはOSレイヤーで実行でき、必要に応じて、イメージテンプレートに含まれるAppレイヤーの新しいバージョンのスクリプトで上書きできます。AppレイヤーはOSレイヤーの後にイメージに適用されるため、AppレイヤーのスクリプトはOSレイヤーの元のバージョンを上書きします。
-
c:\windows\setup\scriptsフォルダーで、optimizations.cmd ファイルを実行して、イメージ作成時に実行するファイルを作成します。 -
OSイメージでoptimizations.cmdを実行するための指示に従います。
必要に応じたMicrosoft Ngen.exe操作の迅速化
すべてのソフトウェア更新プログラムがインストールされたら、Ngen.exe が実質的に.NETバイトコードをネイティブイメージに再コンパイルし、それらを管理するためのレジストリエントリを構築できるようにする必要があります。
Ngen.exe はMicrosoft Native Image Generatorであり、.NET システムの一部です。Windowsは、インストールされているソフトウェアと構成でWindowsが検出するものに基づいて、Ngen.exe をいつ実行するかを決定します。
重要:
Ngen.exeが実行されている間は、完了するまで待つ必要があります。中断されたNgen.exe操作は、機能しない.NETアセンブリや、.NETシステムのその他の問題を引き起こす可能性があります。
通常、Ngen.exe はフォアグラウンドアクティビティがあるときに一時停止するバックグラウンド操作です。Ngen.exe 操作を迅速化したい場合は、タスクをフォアグラウンドに移動して、できるだけ早く完了させることができます。
タスクをフォアグラウンドに移動するには:
- 管理者としてコマンドプロンプトを開きます。
-
現在使用中のバージョンの
Microsoft.NET\Frameworkディレクトリに移動します。cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX <!--NeedCopy--> -
次の
Ngen.exeコマンドを入力して、キューに入れられたすべての項目を実行します。このコマンドは、アセンブリをビルドする前に、キューに入れられたコンポーネントのインストールを処理します。ngen eqi 3 <!--NeedCopy-->Ngen.exeタスクはコマンドプロンプトでフォアグラウンドに移動し、コンパイルされているアセンブリを一覧表示します。コンパイルメッセージが表示されても問題ありません。タスクマネージャーを使用して、
MSCORSVW.EXEのインスタンスが実行されているかどうかを確認できます。実行されている場合は、完了するまで待つか、ngen update eqi 3を実行します。注意: タスクを停止するために再起動しないでください。タスクが完了するまで待ってください。
- すべての
Ngen.exeプロセスが完了したことを確認します。