App Layering

层是包含操作系统、平台工具、应用程序或用户数据和设置的软件的虚拟磁盘。

创建层时,设备会将新层保存为虚拟机管理程序环境中的虚拟磁盘,然后将磁盘连接到打包计算机。

创建后,每个层都将作为虚拟磁盘存储在存储库中。

层的类型

您可以使用以下类型的层:

  • 在虚拟机管理程序中创建并包含在用于发布分层图像的图像模板中的层。
  • 您在图像模板上启用的层,因此也可以在您发布的分层图像上启用。

要包含在图像模板和分层图像中的层

您可以为操作系统、平台工具和要交付给用户的应用程序创建层。

  • 操作系统层: 从 ISO 安装 Windows 操作系统的层。您可以使用所有兼容的平台和应用程序层重复使用相同的操作系统层。我们建议为每个主要 Windows 版本仅创建一个操作系统层,例如,一个用于 Windows 10,另一个用于 Windows 服务器 2016。您可以为每个后续版本添加层的新版本。例如,如果您有 Windows 10 版本 1709 层,则为版本 1809 添加一个版本,为 1903 添加一个版本。当您更新操作系统层时,不需要更新应用程序层,但需 更新平台层。有关创建操作系统层的详细信息,请参阅 创建操作系统层

  • 平台层: 您可以在其中为特定的本地环境或云环境安装和配置软件的层。将基础架构软件隔离到平台层时,可以在多个虚拟机管理程序上重复使用相同的操作系统层和应用程序层。例如,如果您使用多个 Hypervisor,则可以为基础架构的每个部分创建平台层。

    如果您在基础架构中使用以下任何一种软件,则通常将它们安装在平台层:

    • 连接代理软件
    • 配置软件
    • System Center Configuration Manager (SCCM)

    虽然看起来可能不直观,但为 操作系统层 支持的第一个 虚拟机管理程序安装软件至关重要。

    如果您支持多个 Hypervisor,则可以为其他 Hypervisor 创建另一个平台层。其他 Hypervisor 的平台层必须包括 Hypervisor 软件以及 Provisioning、连接代理和 SCCM 软件。创建此附加平台层时,请确保选中您支持的新 Hypervisor 的复选框。这可确保 App Layering 设备从操作系统层中删除原始 Hypervisor 文件和设置,以便它们不会影响性能。

    有关创建操作系统层的详细信息,请参阅 创建平台层

  • 应用层: 安装应用程序的层。通常,我们建议在每个层上安装一个应用程序,但你可以包含更多应用程序为了便于维护,请包括同一更新计划中的应用程序。如果应用程序需要其他应用程序,请先为所需应用程序创建层。有关创建应用程序层的更多信息,请参阅 创建或克隆应用程序层。有关分层特定应用程序的提示,请参阅 App Layering 窍门

您可以在分层图像上启用的层

除了分层图像中包含的层之外,还可以通过图像模板中的设置在其上启用弹性层和用户层:

  • 弹性层: 分配给特定用户并在用户登录时交付的应用层。弹性应用程序层不包括在基础图像中,但会在其上传送。弹性应用程序将显示在用户的桌面上。

    重要提示:

    应用层可以作为分层图像的一部分或作为弹性层交付给用户。

    有一些应用程序不能用作弹性层,例如,微软 Office。要了解应用程序是否有此限制,请查看 App Layering 窍门 此处 和有关分层应用程序的说明的 App Layering 论坛。如果未为应用指定限制,则可将其分配为弹性层。有关在分层图像上启用和分配弹性层的详细信息,请参阅 将应用层部署为弹性层

  • 用户层: 在分层图像上启用用户层允许您保留用户的数据和设置以及他们自己安装的任何应用程序。启用后,将在每个用户首次登录图像时为其创建一个用户层。要启用此功能,请在用于发布分 层图像的图像模板中选择 “用户 层”设置。有关在分层图像上启用弹性层的详细信息,请参阅部署用户层创建或克隆映像模板

    当用户登录使用完整用户层的图像时,不要将具有 Chrome 或 Firefox 等浏览器的应用程序层分配给用户。浏览器频繁更新,这可能会导致用户的可写层与可引导映像上的修订版本之间的修订冲突。但是,如果用户要登录到作为会话主机的图像,则可以将这些层分配给他们。

需要本地用户或管理员的应用程序

操作系统层会保留您添加的所有本地用户或组,但应用程序层、平台层和用户层不会保留。例如,在应用程序层、平台层或用户层上安装应用程序时添加或更改的用户和组不会保留。您可以执行下列操作之一:

  • 在安装应用程序之前,请将本地用户或管理员添加到操作系统层。
  • 在操作系统层上安装应用程序。

层完整性概述

创建操作系统、应用程序或平台层时,您可以在应用程序层管理控制台中开始创建层,然后在虚拟机管理程序的指定 VM 中安装软件。当层处于用户启动桌面时您希望其处于的状态时,您可以关闭计算机并完成该层。

当你关闭层以完成它时,Windows Ngen.exe 操作会显示有关在关闭之前必须完成的待处理任务的消息。让这些作业完成至关重要,但如有必要,您可以加快 Ngen.exe 运营速度。每篇相关的分层文章都包含有关于 Ngen.exe 消息以及如何加快操作的详细信息:

层优先级

层优先级定义创建 Windows 文件系统和注册表时的层顺序。以下情况下,层优先级很重要

  • 合成层作为发布分层图像的一部分。
  • 在层中搜索文件和注册表设置。
  • 向用户的桌面交付弹性层和用户层。

App Layering 软件为每个层分配优先级,并按顺序应用层,从最低优先级到最高。

在 Windows 中,优先级最高的层优先级。如果文件或注册表项存在于两个层中,Windows 将使用该层中具有最高优先级的文件或注册表项。

如何确定层优先级

层的优先级取决于层类型,对于应用程序层,则取决于创建层的顺序。

基本图像中的层

作为分层图像一部分的层将按顺序应用,平台层始终最后应用,作为最高优先级的层。

如下表所示,分配给应用程序层的优先级取决于创建层的顺序。最新的应用程序层的优先级高于较旧的层。

优先级 层类型
平台层
  上次创建的应用层
应用程序层按创建日期排列
  首先创建应用程序层
操作系统层

如果层有共同的文件或注册表项,则使用优先级较高层中的文件或注册表条目。

在基础图像上启用层

启动已发布的图像时,如果在分层图像的图像模板中启用了层,则可以应用更多层:

  • 弹性层(作为弹性层分配给用户的应用层)
  • 用户层

将层合并到图像上时,用户层始终是最高优先级。下一个是弹性层,基础图像中的层最后一个。

如下表所示,弹性层的优先级与原始应用程序层的优先级相同,但应用于基础映像。弹性层优先级 取决于层附加到已发布图像的顺序。

优先级 层类型
用户层
  弹性层-上次创建的应用程序层
弹性层-按创建顺序排列的应用层
  弹性应用程序-首先创建应用程序层
分层图像-基本图像中的所有层

层优先级冲突

大多数应用程序层工作,但在某些情况下,安装应用程序的顺序可能会导致桌面上的冲突。

如果必须在另一个应用之前安装一个应用程序,请按所需顺序创建层。App Layering 软件以相同的顺序应用层。

如果两个层发生冲突,并且您怀疑这是由于它们合并到图像中的顺序造成的,您有两种选择:

  • 重新创建要上次安装的层,以便按正确的顺序合并该层。
  • 请求技术支持人员提供帮助。