Uso del WSK para crear una imagen de máquina virtual básica
En este tutorial, le mostraremos cómo usar los distintos componentes del Kit de sistema de Windows para compilar una imagen del sistema operativo factory de línea base en una máquina virtual. Le mostraremos cómo usar manifiestos de características y archivos de configuración de imágenes para configurar la imagen.
Para ejecutar este laboratorio, necesitará lo siguiente:
-
Equipo técnico con:
- El Kit de sistema de Windows instalado
- Administrador de Hyper-V instalado
- Un controlador de ejemplo (opcional)
- Una aplicación para UWP de ejemplo (opcional)
Monte la ISO del Kit de sistema de Windows.
Abra el entorno de creación de imágenes mediante la ejecución
SetImagGenEnv.cmd
como administrador.SetImagGenEnv.cmd
está en la raíz del WSK montado.Crear un área de trabajo
Empezaremos creando un área de trabajo. Las áreas de trabajo son una colección de archivos que necesita para crear una imagen. Al crear un área de trabajo, deberá elegir qué arquitectura, producto, diseño, tipo de arranque y tipo de imagen. En función de las selecciones, el Kit del sistema de Windows creará un área de trabajo con un archivo OEMInput que actúa como punto de partida para la configuración de la imagen. En este laboratorio, crearemos una imagen del sistema operativo factory que se puede implementar en una máquina virtual:
PrepWSKWorkspace "C:\Workspace" -Product FactoryOS -VM
Nota
La variable %WSKWorkspaceRoot% que verá en este laboratorio se establece automáticamente al ejecutar
prepwskworkspace
. Si cierra y vuelve a abrir el entorno del Kit de sistema de Windows, puede establecer la raíz del área de trabajo; para ello, vaya a la carpeta del área de trabajo y ejecuteSetWSKWorkspaceRoot.cmd
.Agregar un controlador a la imagen (opcional)
Al crear el área de trabajo, el Kit de sistema de Windows creó un archivo denominado
OEMDriversFM.xml
. Este archivo le permite definir los controladores que desea incluir en la imagen. ElOEMDrivers.xml
archivo generado por el Kit de sistema de Windows no contiene información sobre controladores adicionales. Si tiene un controlador de ejemplo que le gustaría agregar:Copie los archivos .inf del controlador y todos sus archivos de soporte técnico asociados (.cab, .sys, etc.) en
C:\Workspace\DCHUDrivers
.Ejecute un script para actualizar automáticamente el OEMDriversFM.xml:
UpdateWSKDriversFM
Consulte Manifiesto de características del controlador para obtener más información sobre cómo agregar controladores, incluido cómo marcar controladores como opcionales y cómo generar un nuevo fm de aplicaciones.
Adición de una aplicación a la imagen
Al crear el área de trabajo, el Kit de sistema de Windows creó un archivo denominado
OEMAppsFM.xml
. Este archivo define lo necesario para agregar una aplicación determinada a la imagen. El archivo de ejemplo está configurado para agregar la aplicación Calculadora como una característica opcional a la imagen. El archivo de configuración de imagen ya tiene incluida la aplicación Calculator, así como sus dependencias. A continuación se muestra cómo agregar una aplicación adicional:Copie un paquete .appx, su archivo de licencia y las dependencias en
%WSKWorkspaceRoot%\Apps
la carpeta .En el entorno de compilación, ejecute:
UpdateWSKAppsFM
Tendrá un archivo OEMAppsFM.xml actualizado que incluye las aplicaciones que se encuentran en la
Apps
carpeta . Cuando ejecutóUpdateWSKAppsFM
, las aplicaciones agregadas no se marcan como opcionales. Si quiere que sean opcionales, edite el archivo XML y establezcaOptional = True
para las aplicaciones que desee opcionales.Las aplicaciones que no están establecidas como opcionales se incluirán en la imagen (siempre que el archivo FM se incluya en el archivo de configuración de imagen). Si ha establecido una aplicación como opcional y quiere agregarla al archivo de configuración de imagen, debe agregarlo a la
AppXOptionalPackages
sección. Aquí se muestra cómo se ve la adición de la aplicación Calculator (ya que se estableció como opcional al compilar el área de trabajo).Examine la entrada en
OEMAppsFM.xml
:<PackageFile Optional="true" ID="Microsoft.WindowsCalculator_8wekyb3d8bbwe" LicenseFile="Microsoft.WindowsCalculator_8wekyb3d8bbwe.xml" Name="Microsoft.WindowsCalculator_8wekyb3d8bbwe.appxbundle" Path="$(mspackageroot)\Appx\Calculator"/>
Anote (
ID
Microsoft.WindowsCalculator_8wekyb3d8bbwe
), lo usaremos para agregar la aplicación.Copie y
ID
péguelo en el archivo de configuración de imagen. Tendrá este aspecto:<AppXOptionalPackages> <!-- Add optional APPX packages here. --> <AppXID>Microsoft.WindowsCalculator_8wekyb3d8bbwe</AppXID> </AppXOptionalPackages>
Guarde el archivo de configuración de imagen.
Si quiere que haya más aplicaciones disponibles en la imagen, consulte Manifiesto de características de la aplicación.
Incluir manifiestos de características en el archivo de configuración de imagen
Al crear el área de trabajo, el Kit de sistema de Windows creó un archivo de configuración de imagen que incluye
OEMAppsFM.xml
automáticamente y .OEMDriversFM.xml
Si crea manifiestos de características adicionales, debe agregarlos en elAdditionalFMs
elemento del archivo de configuración de imagen. Esto hace que las características definidas en los manifiestos de característica estén disponibles para agregar a la imagen. Todas las características que se encuentran en el archivo de configuración de imagen se definen en los manifiestos de características. Agregar un manifiesto de característica al archivo de configuración de imagen hace que todas las características definidas en ese manifiesto de característica estén disponibles para agregar a la imagen.Abra el archivo de configuración de imágenes en un editor XML y compruebe que
OEMAppsFM.xml
yOEMDriversFM.xml
se muestran. Las aplicaciones y los controladores incluidos en estas máquinas virtuales se incluirán automáticamente en la imagen, a menos que se especifique comooptional
. Puede obtener más información sobre cómo marcar una característica como opcional en Manifiestos de características.Abra el archivo de configuración de imagen. Debería ver las siguientes máquinas virtuales enumeradas en el archivo. Si los manifiestos de características de las aplicaciones y los controladores no aparecen en la lista, agréguelos para que tenga este aspecto:
<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>
Crear una imagen
Ejecute el siguiente comando para compilar la imagen. Al configurar el área de trabajo, establecemos la imagen como una máquina virtual. Esto compilará una máquina virtual en una carpeta denominada Workspace.Output.
BuildWSKImage %WSKWorkspaceRoot%\FactoryOS_Development_AMD64_UEFI_SpacesGPT_VM.xml
Nota
El archivo xml al que se hace referencia aquí puede ser diferente en función de las opciones que eligió al crear el área de trabajo. Si recibe un error al ejecutar este comando, asegúrese de que el nombre de archivo es correcto.
Importante
Si intenta generar una imagen en la carpeta de destino que ya incluye . Las imágenes FFU o los discos duros virtuales con el mismo nombre producirán el siguiente error:
imageapp : ERROR : ThreadId18164 OutputFile C:\FactoryOS.Output\FactoryOS_Development_AMD64_UEFI_SpacesGPT_Hardware.ffu already exists.
Antes de generar una imagen, asegúrese de que la carpeta de salida aún no contiene una imagen generada con el mismo nombre.
Cree una máquina virtual que use la unidad de disco duro virtual que ha creado. Una vez iniciado, puede conectarse al dispositivo mediante Device Portal, SSH o TShell.