使用验证 OS 映像生成器进行验证 OS 自定义
可以添加驱动程序包和验证 OS 自定义包,以确保验证 OS 可以启动并支持适用于方案的应用。 可以使用自定义包来添加对本文档后面介绍的几个按需功能的支持。
验证 OS 不会随自带驱动程序一起提供,因此必须确保先添加驱动程序,然后才能将映像应用到电脑。
整体进程
使用验证 OS 映像生成器创建验证 OS 映像的整个过程如下:
将验证 OS ISO 文件装载到技术人员电脑文件系统上的特定位置;
根据技术人员电脑的本机体系结构(x64 或 arm64)启动适当的 ValidationOSImageBuilder.exe;
按照验证 OS 映像生成器中的步骤操作
[可选] 选择生成的验证 OS 映像的位置;
[可选] 将驱动程序添加到装载的验证 OS 映像;
[可选] 添加一个或多个所需的按需功能;
[可选] 在验证 OS 映像中设置/替代注册表项;
[可选] 在验证 OS 映像中包含自定义二进制文件/应用程序;
[可选] 创建一个 Visual Studio 解决方案,其中包含与生成的验证 OS 映像匹配的 SDK 的引用。
验证 OS 映像生成器入门
验证 OS 映像生成器是一种 GUI 工具,可用于为特定方案轻松生成自定义验证 OS 映像。 该功能允许添加
- 可选包,例如音频、蓝牙、相机、多媒体、USB 等。
- 特定硬件的驱动程序
- 要包含在验证 OS 映像中的其他软件应用程序
- 启动时要在验证 OS 映像中启用的注册表项
- 要在 OS 启动时运行的启动命令
它还允许生成可用于所生成的特定验证 OS 映像的 SDK。
可用的可选功能包的列表可以在此处找到:功能包
使用验证 OS 映像生成器
下面是验证 OS ISO 包中验证 OS 映像生成器的基本流程的分步使用指南。
装载验证 OS ISO 包,并导航到
<ISO_ROOT>:\ImageBuilder
文件夹,其中<ISO_ROOT>:
是装载 ISO 的驱动器。运行 ValidationOSImageBuilder.exe 以启动验证 OS 映像生成器,并接受要求你以管理员权限运行程序的提示
单击“开始”转到“功能”屏幕
在“功能”屏幕中,选择要添加到验证 OS 映像的功能,然后单击“下一步”转到“驱动程序”屏幕(请参阅上一节中的可用功能列表)
在“可选驱动程序”屏幕中,选择设备驱动程序所在的文件夹
在此屏幕中,还可以选择将以下组件添加到映像
可选软件文件夹:这允许包括一个包含可选 .EXE 文件的文件夹,这些文件将包含在验证 OS 映像中
注册表文件:这允许上传包含注册表项的 .REG 文件,这些注册表项将在启动时包含在验证 OS 映像中
启动命令:这允许在启动时执行的验证 OS 映像中添加 .EXE 文件
单击“下一步”转到“输出”屏幕
在“输出”屏幕中,可以
选择将生成输出 WIM 文件和其他组件的文件夹(默认值为
C:\ValidationOS
)指定验证 OS 映像 (WIM) 是从 U 盘还是硬盘驱动器启动(默认值为 U 盘)
选择验证 OS 映像生成器是否应为生成的自定义验证 OS 映像生成关联的 SDK
将最近使用的验证 OS 映像生成器设置保存到模板文件,以供将来使用
单击“下一步”转到“查看并完成“屏幕,该屏幕将显示最后一次选择的所有功能、驱动程序和输出设置。
单击“创建”以生成验证 OS 映像。
生成验证 OS 映像后,将看到一个导航到输出文件夹的选项,在那里将看到新生成的 ValidationOS.wim。
注意
ValidationOS-2.wim 也在 GenImageOutput 文件夹中生成。 这是一个已优化映像,仅包含与在“驱动程序”屏幕中选择的启动类型相关的分区
使用验证 OS 映像生成器命令行
验证 OS 映像生成器 GUI 中提供的所有功能也可以通过验证 OS 映像生成器命令行使用。 若要使用验证 OS 映像生成器命令行,请导航到 <ISO_ROOT>:\IBCLI
文件夹,其中 <ISO_ROOT>:
是装载 ISO 的驱动器。
验证 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