App Layering

在 Google Cloud 上准备用于分层的操作系统映像

本主题介绍如何准备一个干净的操作系统映像,以将其导入新的操作系统层。开始之前,请确保满足要求。在准备映像时,如果您认为操作时间过长,可以加快 Microsoft Ngen.exe 操作

如果使用 Windows 10 并且运行 Citrix Provisioning、Citrix Machine Creation 或 View,可以通过移除 Windows 10 内置应用程序来加快桌面启动时间。但是,我们建议在操作系统层的新版本上移除应用程序,而不是在操作系统映像本身中。

在虚拟机上安装操作系统

  1. 熟悉准备操作系统层的准则,包括要求和建议。务必阅读有关操作系统层中应包含和不应包含内容的章节。

  2. 导航到 Google Cloud 门户

  3. 在左侧列中选择 Marketplace,并部署新的虚拟机。

    注意:

    配置新实例网络时,请确保虚拟机位于可供设备访问的网络上。

  4. 如果您使用的是 Windows Server 操作系统,请滚动到 Operating systems,并选择 Windows Server 2019Windows Server 2016 操作系统。

  5. 如果您从其他平台引入 Windows 10(它在 Marketplace 中不可用),请按照引入您自己的许可证教程中的步骤操作。

  6. 配置新实例:

    • 为新实例选择网络时,请确保虚拟机位于可供设备访问的网络上。

    • 选择存储时,任何类型的存储都可以。

在映像上运行 App Layering 操作系统计算机工具

  1. 在新计算机上,打开 Web 浏览器,导航到下载中心并下载 OS Machine Tools

  2. 将以下 zip 文件下载到操作系统映像中:

    Citrix_App_Layering_OS_Machine_Tools_20.x.x.exe
    <!--NeedCopy-->
    
  3. 运行该文件,它会将文件复制到:

    c:\windows\setup\scripts
    <!--NeedCopy-->
    

    注意:

    文件必须解压到上述目录中。请勿更改目录。

如果使用密钥管理服务,请配置许可证激活

脚本提取后,SetKMSVersion 实用程序会要求您选择是否使用密钥管理服务 (KMS) 许可。

注意:

将映像发布到同时使用 KMS 和基于 Active Directory 的激活 (ADBA) 的环境中会导致激活问题。

  1. 在以下对话框中,选择是否使用密钥管理服务 (KMS) 许可。

    设置 KMS 版本映像

要为 KMS 配置脚本,请执行以下操作。

  1. 导航到:

    c:\windows\setup\scripts
    <!--NeedCopy-->
    
  2. 以管理员身份运行 SetKMSVersion.exe,以在 c:\windows\setup\scripts\kmsdir 文件夹中创建脚本文件。

操作系统启动时,将运行相应的 KMS 激活脚本。

安装 App Layering 服务

  1. 在新计算机上,导航到 C:\Windows\Setup\scripts 并运行 setup_x64.exe,以在操作系统计算机上安装 App Layering 驱动程序。
  2. 安装程序会提示您输入 Unattend.xml 文件的位置(默认位置为“C:\windows\panther”)。
  3. 确保此计算机未加入域。
  4. 在操作系统计算机上执行挂起的重新启动,以便可以将此映像导入层中。
  5. 在继续操作之前,请确保新的操作系统计算机处于以下状态之一。
    • 正在运行
    • 已停止
    • 已停止(已解除分配)

如有必要,加快 Microsoft Ngen.exe 操作

安装所有软件更新后,必须允许 Ngen.exe.NET 字节代码重新编译为本机映像,并构建用于管理它们的注册表项。

Ngen.exe 是 Microsoft 本机映像生成器,它是 .NET 系统的一部分。Windows 根据正在安装的软件以及 Windows 在配置中检测到的内容来确定何时运行 Ngen.exe

重要提示:

Ngen.exe 运行时,必须让它完成。中断的 Ngen.exe 操作可能会导致 .NET 程序集无法正常运行或 .NET 系统中出现其他问题。

通常,Ngen.exe 是一个后台操作,当前台有活动时会暂停。如果要加快 Ngen.exe 操作,可以将其任务置于前台,以尽快完成。

要将任务置于前台:

  1. 以管理员身份打开命令提示符。
  2. 转到当前使用的 Microsoft.NET\Framework 目录:

    cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX
    <!--NeedCopy-->
    
  3. 输入以下 Ngen.exe 命令以运行所有排队的项目。此命令在构建程序集之前处理排队的组件安装。

    ngen eqi 3
    <!--NeedCopy-->
    

    Ngen.exe 任务会移到命令提示符的前台,并列出正在编译的程序集。如果看到编译消息,则表示正常。

    可以使用 Task Manager 查看 MSCORSVW.EXE 实例是否正在运行。如果正在运行,请允许其完成,或者运行 ngen update eqi 3

    注意:

    请勿重新启动以停止任务。请允许任务完成!

  4. 确保所有 Ngen.exe 进程都已运行完成。
在 Google Cloud 上准备用于分层的操作系统映像