WSK を使用して基本的な VM イメージを作成する
このチュートリアルでは、Windows システム キットのさまざまなコンポーネントを使用して、VM にベースラインのファクトリ OS イメージをビルドする方法を説明します。 フィーチャー マニフェストとイメージ構成ファイルを使用して、イメージを構成する方法について説明します。
このラボでの操作を行うには、次のものが必要です。
- テクニシャン PCに、
- Windows システム キットのインストール
- Hyper-V マネージャーのインストール
- サンプル ドライバー (省略可能)
- サンプル UWP アプリ (省略可能)
Windows システム キット ISO をマウントします。
管理者として
SetImagGenEnv.cmd
を実行して、イメージ ビルド環境を開きます。SetImagGenEnv.cmd
は、マウントされた WSK のルートにあります。ワークスペースを作成する
ワークスペースを作成することから始めます。 ワークスペースは、イメージを作成するために必要なファイルのコレクションです。 ワークスペースを作成するときは、アーキテクチャ、製品、レイアウト、ブートの種類、イメージの種類を選択する必要があります。 選択内容に基づいて、Windows システム キットによって、イメージ構成の開始点として機能する OEMInput ファイルを含むワークスペースが作成されます。 このラボでは、VM に展開できるファクトリ OS イメージをビルドします。
PrepWSKWorkspace "C:\Workspace" -Product FactoryOS -VM
Note
このラボを通して使用する %WSKWorkspaceRoot% 変数は、
prepwskworkspace
を実行する際に自動的に設定されます。 Windows システム キット環境を閉じてからもう一度開いた場合、ワークスペース フォルダーに移動してSetWSKWorkspaceRoot.cmd
を実行することで、ワークスペースのルートを設定できます。イメージへのドライバーの追加 (省略可能)
ワークスペースを作成したとき、Windows システム キットは、
OEMDriversFM.xml
という名前のファイルを作成しました。 このファイルによって、イメージに含めるドライバーを定義できます。 Windows システム キットによって作成されたOEMDrivers.xml
ファイルには、追加のドライバーに関する情報は含まれていません。 追加するサンプル ドライバーがある場合は、次のようにします。ドライバーの .inf ファイルとそれに関連するすべてのサポート ファイル (.cab、.sys など) を
C:\Workspace\DCHUDrivers
にコピーします。次のスクリプトを実行して、OEMDriversFM.xml を自動的に更新します。
UpdateWSKDriversFM
ドライバーを省略可能としてマークする方法や新しいアプリ FM を生成する方法を含む、ドライバーの追加の詳細については、「ドライバー機能マニフェスト」を参照してください。
イメージへのアプリの追加
ワークスペースを作成したとき、Windows システム キットは、
OEMAppsFM.xml
という名前のファイルを作成しました。 このファイルは、イメージに特定のアプリを追加するために必要なものを定義します。 サンプル ファイルは、電卓アプリを省略可能な機能としてイメージに追加するように構成されています。 イメージ構成ファイルには、電卓アプリとその依存関係も既に含まれています。 追加のアプリを追加する方法を次に示します。.appx バンドル、そのライセンス ファイル、すべての依存関係を
%WSKWorkspaceRoot%\Apps
フォルダーにコピーします。ビルド環境から、次のように実行します。
UpdateWSKAppsFM
Apps
フォルダーにあるアプリを含む、更新された OEMAppsFM.xml ファイルを受け取ります。UpdateWSKAppsFM
を実行した場合、追加のアプリケーションは、省略可能としてマークされません。 省略可能としたい場合、XML ファイルを編集して、省略可能とするアプリについてOptional = True
を設定してください。省略可能として設定されていないアプリは、イメージに含まれます (FM ファイルがイメージ構成ファイルに含まれている場合)。 アプリを省略可能として設定していて、それをイメージ構成ファイルに追加したい場合、その ID を
AppXOptionalPackages
セクションに追加する必要があります。 電卓アプリを追加する方法を次に示します (ワークスペースの構築時に省略可能として設定されているため)。OEMAppsFM.xml
のエントリをご覧ください。<PackageFile Optional="true" ID="Microsoft.WindowsCalculator_8wekyb3d8bbwe" LicenseFile="Microsoft.WindowsCalculator_8wekyb3d8bbwe.xml" Name="Microsoft.WindowsCalculator_8wekyb3d8bbwe.appxbundle" Path="$(mspackageroot)\Appx\Calculator"/>
ID
(Microsoft.WindowsCalculator_8wekyb3d8bbwe
) にご注意ください。これを使用してアプリを追加します。ID
をコピーし、イメージ構成ファイルに貼り付けます。 次のようになります。<AppXOptionalPackages> <!-- Add optional APPX packages here. --> <AppXID>Microsoft.WindowsCalculator_8wekyb3d8bbwe</AppXID> </AppXOptionalPackages>
イメージ構成ファイルを保存します。
イメージでさらにアプリを使用できるようにするには、「アプリ機能マニフェスト」を参照してください。
イメージ構成ファイルにフィーチャー マニフェストを含める
ワークスペースを作成したとき、Windows システム キットは、イメージ構成ファイルを作成しました。これは、
OEMAppsFM.xml
およびOEMDriversFM.xml
を自動的に含みます。 追加のフィーチャー マニフェストを作成する場合、イメージ構成ファイルのAdditionalFMs
要素の下にそれを追加する必要があります。 これにより、フィーチャー マニフェストで定義されている機能をイメージに追加できるようになります。 イメージ構成ファイル内のすべての機能は、フィーチャー マニフェストで定義されています。 イメージ構成ファイルにフィーチャー マニフェストを追加すると、そのフィーチャー マニフェストで定義されているすべての機能をイメージに追加できるようになります。イメージ構成ファイルを XML エディターで開き、
OEMAppsFM.xml
およびOEMDriversFM.xml
が一覧表示されていることを確認します。 これらの FM に含まれているアプリとドライバーは、optional
として指定されていない限り、自動的にイメージに含まれます。 機能を省略可能としてマークすることの詳細については、「フィーチャー マニフェスト」をご覧ください。イメージ構成ファイルを開きます。 ファイルに次のような FM が一覧表示されます。 アプリとドライバーのフィーチャー マニフェストが一覧表示されていない場合は、次のように追加します。
<AdditionalFMs> <!-- You MUST include GenericDeviceFM.xml and FOSNonProductionFM.xml! --> <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\GenericDeviceFM.xml</AdditionalFM> <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\FOSNonProductionFM.xml</AdditionalFM> <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\HardwareValidationFM.xml</AdditionalFM> <!-- Add OEM FMs here. --> <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml</AdditionalFM> <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMDriversFM.xml</AdditionalFM> </AdditionalFMs>
イメージを作成する
次のコマンドを実行して、イメージをビルドします。 ワークスペースを設定するときに、イメージを VM として設定します。 これにより、Workspace.Output という名前のフォルダーに VM がビルドされます。
BuildWSKImage %WSKWorkspaceRoot%\FactoryOS_Development_AMD64_UEFI_SpacesGPT_VM.xml
Note
ここで参照されている xml ファイルは、ワークスペースのビルド時に選択したオプションによって異なってくる場合があります。 このコマンドの実行時にエラーが発生した場合は、ファイル名が正しいことを確認してください。
重要
同じ名前の .FFU イメージまたは仮想ハード ディスクが既に含まれている宛先フォルダーにイメージを生成しようとすると、イメージの作成は失敗し、次のエラーが表示されます。
imageapp : ERROR : ThreadId18164 OutputFile C:\FactoryOS.Output\FactoryOS_Development_AMD64_UEFI_SpacesGPT_Hardware.ffu already exists.
イメージを生成する前に、出力フォルダーに同じ名前の生成済みイメージが含まれていないことを確認してください。
作成された仮想ハード ドライブを使用する仮想マシンを作成します。 起動したら、デバイス ポータル、SSH、または TShell を使用して、デバイスに接続できます。