实验室 1b:在审核模式下自定义参考设备

实验室 1a 中,已将 Windows IoT 企业版安装到 IoT 设备上并启动到审核模式。 在此实验室中,我们展示如何从审核模式自定义设备。

提示

此实验室中的大多数自定义操作都可以在脱机装载的 Windows 映像以及审核模式下进行。 有关详细信息,请参阅使用 DISM 修改 Windows 映像

什么是审核模式?

我们的大多数解决方案都是由 OEM 合作伙伴自定义的。 OEM 软件在 IoT 设备的功能中扮演着重要角色。 Windows IoT 企业版支持 OEM 自定义,并允许在操作系统上运行自定义生成的设备。

为了帮助 OEM 客户,我们提供了审核模式,允许管理员在进入 Windows 欢迎屏幕之前直接启动到桌面,让他们有机会根据需要安装 Windows 更新、驱动程序和其他软件。

使用审核模式的优点

Windows 启动时,它将在开箱即用体验 (OOBE) 模式或审核模式下启动。 OOBE 是默认的开箱即用体验,最终用户可以在其中输入帐户信息、选择语言、接受 Microsoft 服务条款并设置网络。 在审核模式下,可以:

  • 绕过 OOBE。 可以尽快访问桌面。 不必配置默认设置,例如用户帐户、位置和时区。
  • 安装应用程序、添加设备驱动程序以及运行脚本。 可以连接到网络并访问更多安装文件和脚本。 还可以安装更多语言包和设备驱动程序。
  • 测试 Windows 安装的有效性。 在将系统部署到最终用户之前,可以对系统执行测试,而无需创建用户帐户。 然后,可以在下一次启动时准备要在 OOBE 模式下启动的系统。
  • 向引用映像添加更多自定义项。 这可以减少需要管理的映像数。 例如,可以创建一个单独的参考映像,其中包含要应用到所有 Windows 映像的基本自定义项。 然后,可以将该参考映像启动到审核模式,并针对计算机进行更多更改。 这些更改可以是用户请求的应用程序,也可以是特定的设备驱动程序。

有关详细信息,请参阅审核模式概述

先决条件

已在 IoT 设备上安装实验室 1a:创建基本映像中创建的映像。

自定义设备

本实验室中的步骤是可选的。 大多数 OEM 设备至少需要此实验室中的一个自定义项,但这不是必需的。

本部分介绍如何添加以下内容:

在审核模式下添加按需功能 (FOD)

按需功能 (FOD) 是随时可以添加的 Windows 功能包。 常用功能包括手写识别等语言资源,或 .NET Framework (NetFx3) 等其他功能。

设备合作伙伴通常会在 Windows 映像中包括 FOD。 .NET Framework 3.5 是一项经常添加的功能,用于支持设备运行 OEM 应用程序且需要 .NET Framework 3.5 支持的场景。

若要在审核模式下添加按需功能,需要将 FOD ISO 保存在 USB 盘上或者复制到 IoT 设备上。 安装完 FOD 后,可以从 IoT 设备中移除 ISO 或移除 USB 盘。

  1. 在技术人员电脑上装载按需功能 (FOD) ISO。

  2. 找到要安装的 FOD 的 cab 文件。 本示例将使用 .NET Framework 3.5。 CAB 文件命名为:Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cab。 可以在“可用的按需功能”中查看所有 FOD .cab 名称。

  3. 将 CAB 文件复制到 IoT 设备中名为 C:\FOD 的文件夹。

  4. 从管理命令提示符中添加 FOD:

    Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cab 
    
  5. 验证 FOD 是否包含在映像中:

     Dism /online /get-capabilities /format:table
    

    输出指示所有 FOD 的安装状态。 验证已安装的 FOD 是否显示为“已安装”。

    -------------------------------------------------------- | -----------
    Capability Identity                                      | State
    -------------------------------------------------------- | -----------
    ...                                                      |
    NetFX3~~~~                                               | Installed
    ...                                                      |
    

有关按需功能(包括如何将它们添加到脱机装载的映像)的详细信息,请参阅按需功能

在审核模式下安装驱动程序

设备合作伙伴可能需要为 Windows 安装更多驱动程序,以支持 IoT 设备的硬件。 安装驱动程序的方法有很多种。 以下两个选项显示了如何使用驱动程序供应商提供的安装包进行安装,以及如何使用 DISM 添加驱动程序。

若要添加驱动程序,必须拥有硬件供应商提供的驱动程序。 驱动程序包可以通过 .msi、.exe 或 .inf 文件进行分发。 添加驱动程序的过程取决于驱动程序的分发方式。

使用供应商提供的安装包添加驱动程序

如果独立硬件供应商 (IHV) 提供的驱动程序是简单的 MSI 或 EXE 包,请使用此方法。 如果希望自动安装驱动程序,可以使用无人参与文件或脚本。 以下步骤概述了安装过程。

  1. 收集 IHV 提供的驱动程序安装程序包。 驱动程序安装包通常是 MSI 或 EXE 包。
  2. 将包复制到 IoT 设备上的临时位置。 在审核模式下,系统以本地管理员帐户身份进行本地登录。 运行安装 MSI 或 EXE 并按照提示操作。
  3. 可选:从临时位置删除安装包。

使用 DISM 添加驱动程序

若要使用此方法,IHV 提供的驱动程序必须已经提取为 INF、SYS、CAT 等文件,或者是可以被提取的 MSI 或 EXE 包。 此方法还可用于将驱动程序添加到脱机装载的映像

  1. 如果驱动程序以 MSI 或 EXE 形式分发,请将 IHV 提供的驱动程序包复制到 IoT 设备上的文件夹中(本示例中我们使用 C:\Drivers)。 如果驱动程序包是 .msi* 或 .exe 文件,请将内容提取到文件夹中。

  2. 打开管理命令提示符,使用 DISM 添加文件夹中的所有驱动程序。

    Dism /online /add-driver /driver:C:\Drivers /recurse
    

    /recurse 选项将添加位于 C:\Drivers 文件夹及其子文件夹中的所有驱动程序。

  3. 如果出现提示,请重新启动设备。 电脑重新启动时,请确保它重新启动进入审核模式。

在审核模式下添加语言

设备合作伙伴可能需要向映像添加更多语言,以使用户能够更改语言。 在审核模式下添加语言对于没有持续网络连接的设备尤其重要,因为这些设备无法通过“设置”应用下载和安装语言。

可以使用 DISM 安装语言包和相关的按需功能,将更多语言添加到自定义映像。 可以在审核模式下添加语言,也可以向脱机装载的映像添加语言。 有关详细信息,请参阅语言概述

  1. 在技术人员电脑上安装 FOD ISO。 如果之前在实验室中添加了 FOD,ISO 可能仍处于已安装状态。

  2. 找到要安装的语言包的 CAB 文件。 在本示例中,我们使用法语 (fr-FR)。 CAB 文件命名为 Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab

  3. 将 CAB 文件复制到 IoT 设备中名为 C:\FOD 的文件夹。

  4. 从管理命令提示符中添加语言包:

    Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab
    
  5. (可选)找到语言包的支持语言组件,并将其复制到 C:\FOD。 此示例中的 cab 文件是:

    • Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
    • Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
    • Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
    • Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
    • Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
    1. 为语言包添加 FOD:
    • Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package~31bf3856ad364e35~amd64~~.cab

      Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
      
    • Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package~31bf3856ad364e35~amd64~~.cab

      Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
      
    • Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package~31bf3856ad364e35~amd64~~.cab

      Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
      
    • Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab

      Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
      
    • Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab

      Dism /online /add-package /packagepath:C:\FOD\Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
      
  6. 从管理 Windows PowerShell 提示符将新语言添加到 Windows 中的语言列表中:

    $OldList = Get-WinUserLanguageList
    $OldList.Add("fr-FR")
    Set-WinUserLanguageList -LanguageList $OldList   
    

    有关详细信息,请参阅 Set-WinUserLanguageList

在审核模式下添加累积更新

作为初始映像构建过程的一部分,设备合作伙伴可能需要使用最新的累积更新 (LCU) 更新操作系统映像。 可以使用 DISM 脱机或联机应用更新,或者直接运行 MSU 包。

下载更新

若要添加更新,请首先从 Microsoft 更新目录中下载最新 LCU。 如果 IoT 设备没有 Internet 连接,或者设备场景要求从不连接到 Internet,则可以在技术人员电脑上执行这些步骤。

  1. 请访问 Windows 11 更新历史记录,查看哪些更新可用于 Windows 映像。
  2. 在页面左上角,选择“Windows 版本”。
  3. 左侧导航显示最近 LCU 的知识库(KB) 编号。 选择“最新的知识库 (KB) 名称”,会跳转到一篇知识库文章,其中包含有关该版本的一些信息。
  4. 在“知识库文章”页上,找到“Microsoft 更新目录”的链接,然后选择该链接以打开目录中的下载页面。
  5. 从目录中下载 MSU 包,并将其保存到 IoT 设备上的 C:\Packages

使用 GUI 安装更新

在 IoT 设备上,选择文件资源管理器中的"Microsoft 服务更新 (MSU) 包"以启动安装,并按照 GUI 上提供的步骤进行操作。

使用 DISM 安装更新

可以使用 DISM 安装 LCU,如果在编写更新的安装脚本,这非常有用。 还可以使用此方法将更新添加到脱机装载的映像。 有关详细信息,请参阅向 Windows 映像添加更新

  1. 使用 DISM 从管理命令提示符在 IoT 设备上安装 LCU:

    Dism /online /add-package /packagepath:C:\Packages\<package.msu>
    

在审核模式下安装 OEM 软件

设备合作伙伴可能需要在审核模式下安装软件。 这些软件可能是业务线应用程序、工具、实用程序,或交付前需要在设备上安装的任何类型的软件。 可以使用审核模式通过 Windows 桌面中提供的方法安装软件,并且设备合作伙伴应使用最适合工作流的方法。

应考虑的一些事项:

  • 如果已安装的应用程序将成为设备的 shell 体验,请按照实验室 5 中的步骤设置 Shell 启动程序或分配的访问权限。 使用的功能取决于 shell 使用的应用程序类型。
    • 如果将 Win32 或 .NET 应用程序用作 shell,则使用“Shell 启动程序”。
    • 如果将 UWP 应用程序用作 shell,则使用“分配的访问权限”。
  • 如果设备体验更像自定义桌面体验(例如酒店展台,用户可以访问桌面),则可以通过自定义步骤更轻松地确保保留设备布局。 例如,可以在 Sysprep 过程中保留桌面上的图标布局和开始菜单。

后续步骤

在审核模式中自定义映像后,可以进一步自定义设备体验。 实验室 2 介绍如何启用设备锁定功能。