升级 Windows 10 BYOL WorkSpaces - 亚马逊 WorkSpaces

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

升级 Windows 10 BYOL WorkSpaces

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

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

重要

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

先决条件

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

  • 如果 WorkSpace 是 AutoStop WorkSpace,则在就地升级过程 AlwaysOn WorkSpace之前将其更改为 a,这样在应用更新时它不会自动停止。有关更多信息,请参阅修改运行模式:如果您希望将 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,如本主题稍后所述。

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

已知的限制

  • 在 WorkSpace 重建或迁移期间,不会发生用户配置文件位置从驱动器 D 更改到驱动器 C。如果您在 Windows 10 BYOL 上执行就地升级, WorkSpace 然后对其进行重建或迁移,则新版本的用户配置文件 WorkSpace 将位于驱动器 D 上。

    警告

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

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

注册表项设置摘要

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

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

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

1 — 启用就地升级

PostUpgradeRestoreProfileOnD DWORD

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

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

UserShellFoldersRedirection DWORD

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

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

NoReboot DWORD

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

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

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

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

1 — 启用AWS 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\ 软件\ 亚马逊WorkSpacesConfig\\enable-inplace-upgrade .ps1

    • HKEY_LOCAL_MACHINE\ SOFTWAREWorkSpacesConfig\ Amazon\ update-pvdriver

    注意

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

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

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

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

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

      HKEY_LOCAL_MACHINE\ 软件\ 亚马逊WorkSpacesConfig\\enable-inplace-upgrade .ps1

      密钥名称:PostUpgradeRestoreProfileOnD

      键值:0

      密钥名称:UserShellFoldersRedirection

      键值:1

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

      HKEY_LOCAL_MACHINE\ 软件\ 亚马逊WorkSpacesConfig\\enable-inplace-upgrade .ps1

      密钥名称:PostUpgradeRestoreProfileOnD

      键值:1

      密钥名称:UserShellFoldersRedirection

      键值:0

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

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

    • 等待 10 分钟,确保解除阻塞。 WorkSpace

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

    HKEY_LOCAL_MACHINE\ SOFenable-inplace-upgrade TWWorkSpacesConfig ARE\\ .ps1\profileImagePath 已删除

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

    注意

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

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

    注意

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

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

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

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

如果您尚未将 PostUpgradeRestoreProfileOnD 注册表项设置为 1,则用户配置文件将由 Windows 重新生成并在就地升级C:\Users\%USERNAME%后放入,这样您就不必在future 来的 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 } }