通过


使用验证 OS 映像生成器进行验证 OS 自定义

可以添加驱动程序包和验证 OS 自定义包,以确保验证 OS 可以启动和支持方案的应用。 可以使用自定义包添加对文档中稍后介绍的多个按需功能的支持。

验证 OS 不随收件箱驱动程序一起提供,因此你必须确保先添加驱动程序,然后才能将映像应用到电脑。

整个过程

使用验证 OS 映像生成器创建验证 OS 映像的整个过程如下:

  1. 将验证 OS ISO 文件装载到技术人员电脑文件系统上的特定位置;

  2. 根据技术员电脑的本机体系结构(x64 或 arm64),启动适当的 ValidationOSImageBuilder.exe。

  3. 按照 Validation OS ImageBuilder 中的步骤进行操作

    1. [可选] 选择生成的验证 OS 映像的位置;

    2. [可选] 将驱动程序添加到装载的验证 OS 映像;

    3. [可选] 添加一个或多个所需的按需功能;

    4. [可选] 在验证 OS 映像中设置/替代注册表项;

    5. [可选] 在验证 OS 映像中包含自定义二进制文件/应用程序;

    6. [可选] 创建一个 Visual Studio 解决方案,其中包含与生成的验证 OS 映像匹配的 SDK 的引用。

验证操作系统映像构建器入门

验证 OS 映像生成器是一种 GUI 工具,可用于为特定方案轻松生成自定义验证 OS 映像。 它允许你添加

  • 可选包,如音频、蓝牙、相机、多媒体、USB 等。
  • 特定硬件的驱动程序
  • 要包含在验证 OS 映像中的其他软件应用程序
  • 在启动时要在验证操作系统映像中启用的注册表项
  • 要在 OS 启动时运行的启动命令

它还允许生成可用于所生成的特定验证 OS 映像的 SDK。

可在此处找到可用的可选功能包列表:功能包

验证操作系统映像构建器的使用

下面是验证 OS ISO 包中验证 OS 映像生成器的基本流程的分步使用指南。

  1. 装载验证 OS ISO 包,并导航到 <ISO_ROOT>:\ImageBuilder 装载 ISO 的驱动器所在的文件夹 <ISO_ROOT>:

  2. 运行 ValidationOSImageBuilder.exe 以启动验证 OS 映像生成器,并接受系统要求你使用管理员权限运行程序的提示

  3. 单击“开始”转到“功能”屏幕

  4. 在“功能”屏幕中,选择要添加到验证 OS 映像的功能,然后单击“下一步”转到“驱动程序”屏幕(请参阅上一部分的可用功能列表)

  5. 在“可选驱动程序”屏幕中,选择设备驱动程序所在的文件夹

  6. 在此屏幕中,还可以选择将以下组件添加到映像

    1. 可选软件文件夹:这允许你包括包含可选.EXE文件的文件夹,该文件将包含在验证 OS 映像中

    2. 注册表文件:这允许您上传一个 .REG 文件,其中包含将在启动时包含到验证 OS 映像中的注册表项。

      驱动程序开发人员:
      可以将驱动程序证书作为.reg文件添加到验证操作系统中。 我们提供了一个脚本,用于为给定证书生成此 .reg 文件,然后你可以在验证 OS 映像生成器应用中上传该文件。

      请参阅: 将证书转换为验证 OS 的注册表文件

    3. 启动命令:这允许将.EXE文件添加到将在启动时执行的验证 OS 映像

  7. 单击“下一步”转到“输出”屏幕

  8. 在“输出”屏幕中,可以

    1. 选择将生成输出 WIM 文件和其他组件的文件夹(默认值为 C:\ValidationOS

    2. 指定验证 OS 映像(WIM)是从 U 盘还是硬盘驱动器启动(默认值为 USB)

    3. 选择验证 OS 映像生成器是否应为生成的自定义验证 OS 映像生成一个关联的 SDK。

    4. 将最近使用的验证 OS 映像生成器设置保存到模板文件以供将来使用

  9. 单击“下一步”转到“审阅”和“完成”屏幕,其中将显示选择最后一次的所有功能、驱动程序和输出设置。

  10. 单击“创建”以生成验证 OS 映像。

  11. 生成验证 OS 映像后,会看到一个选项,用于导航到输出文件夹,你将在其中看到新生成的 ValidationOS.wim。

注释

ValidationOS-2.wim 也在 GenImageOutput 文件夹中生成。 这是一个优化映像,仅包含与在“驱动程序”屏幕中选择的启动类型相关的分区

使用验证操作系统映像构建器命令行

验证 OS 映像生成器 GUI 中提供的所有功能也通过验证 OS 映像生成器命令行提供。 若要使用验证 OS 映像生成器命令 ine,请导航到 <ISO_ROOT>:\IBCLI 装载 ISO 的驱动器所在的文件夹 <ISO_ROOT>:

验证 OS 映像生成器命令行实用工具称为ValidationOSImageBuilderCLI.exe

下面是可用的命令行选项列表:

-l, --list List all features included in the ISO

-i, --info <info> Get the description of a specific feature

-rp, --resolve <resolve> List all packages included by a set of features

-f, --features <features> Specify features to include

-d, --drivers <drivers> Specify the driver folder path

-s, --software <software> Specify the software folder path

-r, --registry <registry> Specify the registry file path

-sc, --startup-command <startup-command> Specify the startup command file path

-o, --output <output> Specify the output folder path

-sdk, --generate-sdk Generate SDK solution

-st, --save-template Save settings to a template

-g, --generate-image Trigger image generation

-api, --generate-api Generate API Surface from features

-lt, --load-template <load-template> Load a template file

-bt, --boottype <boottype> Specify the boot type (USB/InternalDisk).
        Default is USB

--version Show version information

-?, -h, --help Show help and usage information

当您运行 ValidationOSImageBuilderCLI -h 时,会显示命令行选项的使用示例。

使用生成的 SDK

若要使用生成的 SDK,需要Microsoft计算机上安装 Visual Studio。

在资源管理器中,导航到输出文件夹(通常命名 C:\ValdationOS<Date-Time of image creation>),你将在其中看到名为 sdk 的文件夹。 在此文件夹中,你将看到一个 .sln 文件。 双击此文件,在 Visual Studio 中将其打开。

在 Visual Studio 的解决方案 资源管理器 视图中,你将看到 一个.cpp 文件。 可以使用代码编辑此文件,或者将自己的代码文件添加到此项目。 若要查看项目引用的 Nuget 包,可以在解决方案资源管理器视图中右键单击“引用”,然后选择“管理 Nuget 包

若要生成解决方案,请从主菜单中选择“ 生成 ”,然后选择“ 生成解决方案 ”,这将从此代码中为自定义验证 OS 映像生成 .exe 文件。

将 APIValidator 与 apisurface.xml 配合使用

除了 ValidationOS.wim 映像,映像生成器还会在 api 文件夹中生成 apisurface.xml 文件。 此文件包含自定义 ValidationOS.wim 映像支持的所有 API 函数的引用列表。

可以将名为 APIValidator.exe 的工具与任何 .exe 文件一起使用,此 apisurface.xml 文件作为输入来确定 .exe 文件和自定义 ValidationOS.wim 映像之间是否存在不兼容。

若要安装 APIValidator.exe,请参阅文件中 <ISO_ROOT>:\SDK\ValidationOS_System_Kit-APIValidator_Usage.txt的说明。 首先必须安装 WDK。 安装后,针对 API 图面文件分析 .exe 文件的典型命令如下所示:

Apivalidator.exe -BinaryPath:"<Path to .exe file>" -SupportedApiXmlFiles:"<Path to apisurface.xml file>"

在输出中,你将看到错误列表(如果有)以及不兼容依赖项的详细信息。

验证 OS 映像生成器 SDK 示例

可在此处查看使用验证 OS 映像生成器提供的各种功能的代码示例: https://github.com/microsoft/validation-OS