升级 Windows BYOL WorkSpaces - 亚马逊 WorkSpaces
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

升级 Windows BYOL WorkSpaces

在 Windows 自带许可证 (BYOL) 上 WorkSpaces,你可以使用就地升级过程升级到较新版本的 Windows。为此,请按照本主题中的说明操作。

就地升级过程仅适用于 Windows 10 BY WorkSpaces OL。

重要

不要在升级后的版本上运行 Sysprep。 WorkSpace如果这样做,可能会发生阻止 Sysprep 完成的错误。如果您计划运行 Sysprep,请仅在尚未升级的上执行 WorkSpace 此操作。

先决条件

  • 如果你使用组策略或系统中心配置管理器 (SCCM) 推迟或暂停 Windows 10 升级,请为 Windows 10 启用操作系统升级。 WorkSpaces

  • 如果 WorkSpace 是 AutoStop WorkSpace,则将其更改为就地升级过程 AlwaysOn WorkSpace之前的,这样在应用更新时它就不会自动停止。有关更多信息,请参阅修改运行模式:如果您希望将 WorkSpace 设置保留为 AutoStop,请在升级进行 AutoStop 时将时间更改为三小时或更长时间。

  • 就地升级过程通过制作名为 Default User (C:\Users\Default) 的特殊配置文件的副本来重新创建用户配置文件。请勿使用此默认用户配置文件进行自定义。而是建议通过组策略对象 (GPO) 对用户配置文件进行任何自定义。通过 GPO 进行的自定义设置可以很容易地进行修改或回滚,并且不易出错。

  • 就地升级过程只能备份和重新创建一个用户配置文件。如果您在驱动器 D 上有多个用户配置文件,请删除除所需配置文件之外的所有用户配置文件。

注意事项

就地升级过程使用两个注册表脚本(enable-inplace-upgrade.ps1update-pvdrivers.ps1)对您的注册表脚本进行必要的更改 WorkSpaces ,从而使 Windows 更新进程能够运行。这些更改涉及在驱动器 C 而不是驱动器 D 上创建(临时)用户配置文件。如果驱动器 D 上已存在用户配置文件,则该原始用户配置文件中的数据保留在驱动器 D 上。

默认情况下,在中 WorkSpaces 创建用户配置文件D:\Users\%USERNAME%enable-inplace-upgrade.ps1 脚本会将 Windows 配置为在 C:\Users\%USERNAME% 中创建新的用户配置文件,并将用户 Shell 文件夹重定向到 D:\Users\%USERNAME%。这个新的用户配置文件是在用户首次登录时创建的。

就地升级后,您可以选择将用户配置文件保留在驱动器 C 上,以允许用户在将来使用 Windows 更新进程升级其计算机。但是,请注意 WorkSpaces ,如果配置文件存储在驱动器 C 上,则无法在不丢失用户配置文件中的所有数据的情况下重建或迁移,除非您自己备份和恢复这些数据。如果您决定将配置文件保留在驱动器 C 上,则可以使用UserShellFoldersRedirection注册表项将用户 shell 文件夹重定向到驱动器 D,如本主题后面所述。

为确保您可以重建或迁移您的 shell, WorkSpaces 并避免用户 shell 文件夹重定向出现任何潜在问题,我们建议您在就地升级后选择将用户配置文件还原到驱动器 D。您可以使用 PostUpgradeRestoreProfileOnD 注册表项来执行此操作,如本主题后面所述。

已知限制

  • 在 WorkSpace 重建或迁移过程中,用户配置文件位置不会从驱动器 D 更改为驱动器 C。如果您在 Windows 10 BYOL 上执行就地升级, WorkSpace 然后对其进行重建或迁移,则新版本 WorkSpace 将在驱动器 D 上保存用户配置文件。

    警告

    如果在就地升级后将用户配置文件保留在驱动器 C 上,则在重建或迁移过程中存储在驱动器 C 上的用户配置文件数据将丢失,除非您在重建或迁移之前手动备份用户配置文件数据,并在运行重建或迁移过程后手动还原用户配置文件数据。

  • 如果您的默认 BYOL 包包含基于 Windows 10 早期版本的映像,则必须在重建或迁移后再次执行就 WorkSpace 地升级。

注册表项设置摘要

要启用就地升级过程并指定升级后用户配置文件的位置,必须设置多个注册表项。

注册表路径:HKL M:\Software\Amazon\WorkSpacesConfig\ .ps1 enable-inplace-upgrade
注册表项 类型
Enabled (已启用) DWORD

0 —(默认)禁用就地升级

1 — 启用就地升级

PostUpgradeRestoreProfileOnD DWORD

0 —(默认)就地升级后不尝试恢复用户配置文件路径

1-就地升级后恢复用户配置文件路径 (ProfileImagePath)

UserShellFoldersRedirection DWORD

0-不启用重定向用户 shell 文件夹

1 —(默认)允许将用户 shell 文件夹重定向到重新生成用户配置文件D:\Users\%USERNAME%之后 C:\Users\%USERNAME%

NoReboot DWORD

0 —(默认)允许您在修改用户配置文件的注册表后控制何时重新启动

1 — 不允许脚本 WorkSpace 在修改用户配置文件的注册表后重新启动

注册表路径:HKL M:\Software\Amazon\WorkSpacesConfig\ up date-pvdrivers.ps1
注册表项 类型
Enabled (已启用) DWORD

0 —(默认)禁用 Amazon PV 驱动程序更新

1 — 启用 Amazon PV 驱动程序更新

执行就地升级

要在 BYOL 上启用就地升级 Windows WorkSpaces,必须设置某些注册表项,如以下过程所述。您还必须设置某些注册表项,以指示在就地升级完成后您希望用户配置文件所在的驱动器(C 或 D)。

您可以手动进行这些注册表更改。如果您有多个 WorkSpaces 要更新,则可以使用组策略或 SCCM 来推送脚本。 PowerShell 有关示例 PowerShell脚本,请参阅使用 PowerShell 脚本更新您的 WorkSpace 注册表

执行 Windows 10 就地升级
  1. 记下你正在更新的 Windows 10 BYOL 上当前运行 WorkSpaces 的是哪个版本的 Windows,然后重新启动它们。

  2. 更新以下 Windows 系统注册表项,将 Enabled (启用) 的数值数据从 0 更改为 1。这些注册表更改允许就地升级。 WorkSpace

    • HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .PS1 WorkSpacesConfig enable-inplace-upgrade

    • HKEY_LOCAL_MACHINE\ 软件\ 亚马逊\\ update-pvdrivers.ps1 WorkSpacesConfig

    注意

    如果这些密钥不存在,请重新启动 WorkSpace。重新启动系统时,应该会添加这些键。

    (可选)如果您使用诸如 SCCM 任务序列之类的托管工作流来执行升级,请将以下键值设置为 1 以防止计算机重新启动:

    HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .ps1\ WorkSpacesConfig enable-inplace-upgrade NoReboot

  3. 在就地升级过程之后,决定要将用户配置文件放在哪个驱动器上(有关更多信息,请参阅注意事项),并按如下方式设置注册表项:

    • 如果您希望在升级后用户配置文件位于驱动器 C 上,请设置:

      HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .PS1 WorkSpacesConfig enable-inplace-upgrade

      密钥名称:PostUpgradeRestoreProfileOnD

      键值:0

      密钥名称:UserShellFoldersRedirection

      键值:1

    • 如果您希望在升级后用户配置文件位于驱动器 D 上,请设置:

      HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .PS1 WorkSpacesConfig enable-inplace-upgrade

      密钥名称:PostUpgradeRestoreProfileOnD

      键值:1

      密钥名称:UserShellFoldersRedirection

      键值:0

  4. 将更改保存到注册表后, WorkSpace 再次重新启动以应用更改。

    注意
    • 重新启动后,登录到会 WorkSpace 创建新的用户配置文件。您可能会在开始菜单中看到占位符图标。此问题在就地升级完成后会自动解决。

    • 等待 10 分钟以确保畅通 WorkSpace 无阻。

    (可选)确认将以下密钥值设置为 1,这将解除 WorkSpace 对更新的阻止:

    HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .ps1\ 已删除 WorkSpacesConfig enable-inplace-upgrade profileImagePath

  5. 执行就地升级。您可以使用任何您喜欢的方法,例如 SCCM、ISO 或 Windows Update (WU)。根据您的原始 Windows 10 版本和安装的应用程序数量,此过程可能需要 40-120 分钟。

    注意

    就地升级过程可能至少需要一个小时。 WorkSpace 实例状态可能显示为升级UNHEALTHY期间。

  6. 更新过程结束后,请确认 Windows 版本已更新。

    注意

    如果就地升级失败,Windows 会自动回滚以使用开始升级之前已安装的 Windows 10 版本。有关疑难解答的更多信息,请参阅 Microsoft 文档

    (可选)要确认更新脚本已成功运行,请验证以下键值是否设置为 1

    HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .ps1\ WorkSpacesConfig enable-inplace-upgrade scriptExecutionComplete

  7. 如果您 WorkSpace 通过将运行模式设置为 AlwaysOn 或更改 AutoStop 时间段来修改运行模式,以便就地升级过程可以不间断地运行,请将运行模式重新设置为原始设置。有关更多信息,请参阅修改运行模式

如果您尚未将 PostUpgradeRestoreProfileOnD 注册表项设置为 1,则用户配置文件将由 Windows 重新生成并在就地升级C:\Users\%USERNAME%后放入,这样将来的 Windows 10 就地升级就不必再次执行上述步骤。默认情况下,enable-inplace-upgrade.ps1 脚本将以下 Shell 文件夹重定向到驱动器 D:

  • D:\Users\%USERNAME%\Downloads

  • D:\Users\%USERNAME%\Desktop

  • D:\Users\%USERNAME%\Favorites

  • D:\Users\%USERNAME%\Music

  • D:\Users\%USERNAME%\Pictures

  • D:\Users\%USERNAME%\Videos

  • D:\Users\%USERNAME%\Documents

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Network Shortcuts

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Recent

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\SendTo

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

  • D:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Templates

如果您将 shell 文件夹重定向到您的其他位置 WorkSpaces,请在就地升级 WorkSpaces 之后对执行必要的操作。

问题排查

如果您在更新过程中遇到任何问题,可以查看以下各项以帮助排除故障:

  • Windows 日志,默认情况下位于以下位置:

    C:\Program Files\Amazon\WorkSpacesConfig\Logs\

    C:\Program Files\Amazon\WorkSpacesConfig\Logs\TRANSMITTED

  • Windows 事件查看器

    Windows 日志 > 应用程序 > 来源:亚马逊 WorkSpaces

提示

在就地升级过程中,如果您看到桌面上的某些图标快捷方式不再起作用,那是因为 WorkSpaces 将驱动器 D 上的所有用户配置文件移至驱动器 C 以准备升级。升级完成后,快捷方式将正常工作。

使用 PowerShell 脚本更新您的 WorkSpace 注册表

您可以使用以下示例 PowerShell 脚本更新您的注册表 WorkSpaces 以启用就地升级。请按照执行就地升级,但使用此脚本更新每个注册表 WorkSpace。

# AWS WorkSpaces 1.28.20 # Enable In-Place Update Sample Scripts # These registry keys and values will enable scripts to run on the next reboot of the WorkSpace. $scriptlist = ("update-pvdrivers.ps1","enable-inplace-upgrade.ps1") $wsConfigRegistryRoot="HKLM:\Software\Amazon\WorkSpacesConfig" $Enabled = 1 $script:ErrorActionPreference = "Stop" foreach ($scriptName in $scriptlist) { $scriptRegKey = "$wsConfigRegistryRoot\$scriptName" try { if (-not(Test-Path $scriptRegKey)) { Write-Host "Registry key not found. Creating registry key '$scriptRegKey' with 'Update' enabled." New-Item -Path $wsConfigRegistryRoot -Name $scriptName | Out-Null New-ItemProperty -Path $scriptRegKey -Name Enabled -PropertyType DWord -Value $Enabled | Out-Null Write-Host "Value created. '$scriptRegKey' Enabled='$((Get-ItemProperty -Path $scriptRegKey).Enabled)'" } else { Write-Host "Registry key is already present with value '$scriptRegKey' Enabled='$((Get-ItemProperty -Path $scriptRegKey).Enabled)'" if((Get-ItemProperty -Path $scriptRegKey).Enabled -ne $Enabled) { Set-ItemProperty -Path $scriptRegKey -Name Enabled -Value $Enabled Write-Host "Value updated. '$scriptRegKey' Enabled='$((Get-ItemProperty -Path $scriptRegKey).Enabled)'" } } } catch { write-host "Stopping script, the following error was encountered:" `r`n$_ -ForegroundColor Red break } }