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を選択し、 テーブルビューに切り替えて既存の仮想マシンを表示します 。
- 右上隅の [ +Create VM ] をクリックし、新しい仮想マシンの詳細を入力します。
- [ 名前 ] を入力し、[ 説明] を追加します。
- vCPUの数を選択します。
- CPU あたりのコア数を設定します。
- メモリを設定します。
- [ ディスク] を選択し、3 つのディスクを持つ仮想マシンを作成します。最初のCD-ROMは、OS用のISOです。2 つ目の CD-ROM は、Nutanix VIRTIO ドライバ用です。これにより、Nutanix 仮想マシンが OS をインストールするディスクにアクセスできるようになります。最初に 1 つの CD-ROM が割り当てられます。
- 割り当てられた CD-ROMの値を編集します。
- 「操作」で、「 ADSF ファイルからクローン」を選択します。
- 「バスタイプ」で「 IDE」を選択します。
-
Windows ISO へのパスを入力します。パスは、ストレージコンテナと ISO 名の組み合わせです。例:
/ISOStore/en_windows_10_enterprise_version_1511_x64_dvd_7224901.iso
- [Update] をクリックします。
- [ +Add New Disk] ボタンをクリックして、別のディスクを追加します 。
- タイプを CDROMに設定します。
- 操作を ADSF ファイルからクローニングするように設定します。
- バスタイプを IDEに設定
-
Windows VIRTIO ドライバへのパスを入力します。例:
/ISOStore/virtio-win-0.1.102.iso
- [追加] をクリックします。
- [ +新しいディスクを追加 ] ボタンをクリックします。
- **タイプをディスクに設定します**。
- **コンテナに割り当てるオペレーションを設定します**。
- バスタイプをSCSIに設定します。
- 使用したいコンテナを選択します 。
- サイズを入力します。
- [追加] をクリックします。
- [ +新しい NIC を追加] をクリックし、 VLAN 名を入力します。
- [保存]をクリックします。
-
仮想マシンをパワーオンします。
- [ タスク] > [VM] を選択します。
- テーブルビューに切り替えると 、既存の仮想マシンが表示されます。
- テーブルで仮想マシンを選択し、 パワーオンをクリックします。
- 仮想マシンを選択し、[コンソールの起動] をクリックして、コンソールを起動します。VM が起動すると、ISO ディスクから Windows OS のインストールが開始されます。VM が起動すると、ISO ディスクから Windows OS のインストールが開始されます。
- 「Windows のインストール先はどこにありますか?」仮想マシン作成ウィザードでディスクを追加しても、ディスクがないことに注意してください。
- 「 ドライバをロード 」オプションを選択し、「 ブラウズ」を選択します。
- 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 Machine Tools ファイルを実行します。この実行可能ファイルは、GPO セットアップスクリプト (gposetup.cmd) と KMS バージョンのセットスクリプト (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が必要です。
必ず.NET Framework とアップデートを OS レイヤーにインストールしてください。
App Layering サービスをインストールする
-
c:\windows\setup\scripts
フォルダで setup_x86.exe (32 ビット) または setup_x64.exe (64 ビット)を実行します。 -
インストール時に、
unattend
ファイルの場所を入力するよう求められます。Nutanixではunattend
ファイルを使用しないでください。
MS Officeを使用している場合は、最適化スクリプトを実行します
Microsoft Office をレイヤー化するには、App Layering インストールパッケージに含まれる最適化スクリプトが必要です。このスクリプトを使用すると、不要なサービスを無効にし、必要なサービスを有効にし、インストール固有のドライバーと設定を削除することで、メモリと CPU を節約できます。
Optimization スクリプトは OS レイヤー上で実行でき、必要に応じて、イメージテンプレートに含まれるアプリレイヤー内のスクリプトの新しいバージョンで置き換えることができます。アプリケーションレイヤーはOSレイヤーの後にイメージに適用されるため、アプリケーションレイヤーのスクリプトはOSレイヤー内の元のバージョンを上書きします。
-
c:\windows\setup\scripts
フォルダーで、 optimizations.cmd ファイルを実行して、イメージの作成時に実行するファイルを作成します。 -
指示に従って、OS イメージで optimization.cmd を実行します。
必要に応じて、Microsoft Ngen.exe の操作を迅速化できます
すべてのソフトウェア更新プログラムをインストールしたら、Ngen.exe
が基本的に.NET
バイトコードをネイティブイメージに再コンパイルできるようにし、それらを管理するためのレジストリエントリを構築する必要があります。
Ngen.exe
は、 .NET
システムの一部であるMicrosoft ネイティブイメージジェネレータです。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
プロセスが完了するまで実行されていることを確認します。