WorkSpaces Personal で Windows BYOL WorkSpaces をアップグレードする
Windows Bring-Your-Own-License (BYOL) WorkSpaces では、インプレースアップグレードプロセスを使用して新しいバージョンの Windows にアップグレードできます。アップグレードするには、このトピックの手順に従います。
インプレースアップグレードプロセスは、Windows 10 および 11 の BYOL WorkSpaces にのみ適用されます。
重要
アップグレード済みの WorkSpace で Sysprep を実行しないでください。その場合、Sysprep が終了できないエラーが発生することがあります。Sysprep を実行する予定の場合は、アップグレードされていない WorkSpace のみで使用してください。
注記
このプロセスを使用して Windows 10 および 11 の WorkSpaces を新しいバージョンにアップグレードできます。ただし、このプロセスを使用して Windows 10 WorkSpaces を Windows 11 にアップグレードすることはできません。
前提条件
-
グループポリシーや System Center Configuration Manager (SCCM) を使用して Windows 10 および 11 のアップグレードを延期または一時停止した場合は、Windows 10 および 11 の WorkSpaces に対してオペレーティングシステムのアップグレードを有効にします。
-
WorkSpace が自動停止 WorkSpace である場合は、AlwaysOn WorkSpace に変更してからインプレースアップグレードプロセスを開始し、更新の適用中に自動停止しないようにします。詳細については、「実行モードを変更する」を参照してください。WorkSpace を AutoStop に設定したままにする場合は、アップグレードの実行中に自動停止時間を 3 時間以上に変更します。
-
インプレースアップグレードプロセスでは、Default User (
C:\Users\Default
) という名前の特別なプロファイルのコピーを作成することで、ユーザープロファイルを再作成します。このデフォルトのユーザープロファイルを使用してカスタマイズを行わないでください。代わりに、グループポリシーオブジェクト (GPO) を使用してユーザープロファイルをカスタマイズすることをお勧めします。GPO を使用して行ったカスタマイズは変更やロールバックが容易なため、エラーが発生しにくくなります。 -
インプレースアップグレードプロセスでは、1 つのユーザープロファイルだけをバックアップおよび再作成できます。ドライブ D に複数のユーザープロファイルがある場合は、必要なプロファイルを除くすべてのプロファイルを削除します。
考慮事項
インプレースアップグレードプロセスでは、2 つのレジストリスクリプト (enable-inplace-upgrade.ps1
および update-pvdrivers.ps1
) を使用して、Windows Update プロセスの実行に必要な変更を WorkSpaces に加えます。これらの変更には、ドライブ D ではなくドライブ C に (一時的な) ユーザープロファイルを作成することが含まれます。ユーザープロファイルがドライブ D にすでに存在する場合、その元のユーザープロファイルのデータはドライブ D に残ります。
デフォルトでは、WorkSpaces は D:\Users\%USERNAME%
にユーザープロファイルを作成します。enable-inplace-upgrade.ps1
スクリプトは、C:\Users\%USERNAME%
に新しいユーザープロファイルを作成するように Windows を設定し、ユーザーシェルフォルダを D:\Users\%USERNAME%
にリダイレクトします。この新しいユーザープロファイルは、ユーザーが初めてログオンしたときに作成されます。
インプレースアップグレード後、ユーザープロファイルをドライブ C に残して、ユーザーが今後に Windows Update プロセスを使用してマシンをアップグレードできるようにすることが可能です。ただし、ドライブ C にプロファイルが保存されている WorkSpaces は、再構築または移行すると、自分でデータをバックアップして復元しない限り、ユーザープロファイルのすべてのデータは失われます。ドライブ C にプロファイルを残す場合は、このトピックで後述するように、UserShellFoldersRedirection レジストリキーを使用して、ユーザーシェルフォルダをドライブ D にリダイレクトできます。
WorkSpaces を確実に再構築または移行できるようにしたり、ユーザーシェルフォルダのリダイレクトに関する起こり得る問題を回避したりするには、インプレースアップグレード後にユーザープロファイルをドライブ D に復元することをお勧めします。そのためには、このトピックで後述するように、PostUpgradeRestoreProfileOnD レジストリキーを使用します。
既知の制限事項
-
ドライブ D からドライブ C へのユーザープロファイルの場所の変更は、WorkSpace の再構築または移行中には行われません。Windows 10 および 11 の BYOL WorkSpace でインプレースアップグレードを実行してから、その WorkSpace を再構築または移行すると、新しい WorkSpace のドライブ D にユーザープロファイルが作成されます。
警告
インプレースアップグレード後にユーザープロファイルをドライブ C に残しておくと、ドライブ C に保存されているユーザープロファイルデータは、再構築または移行前にユーザープロファイルデータを手動でバックアップし、再構築または移行後に手動で復元しない限り、再構築または移行中に失われます。
-
また、デフォルトの BYOL バンドル内のイメージが旧リリースの Windows 10 および 11 に基づいている場合は、WorkSpace の再構築または移行後に再度インプレースアップグレードを実行する必要があります。
レジストリキー設定の概要
インプレースアップグレードプロセスを有効にして、アップグレード後にユーザープロファイルを配置する場所を指定するには、複数のレジストリキーを設定する必要があります。
レジストリキー | タイプ | 値 |
---|---|---|
[Enabled] (有効) | DWORD |
0 – (デフォルト) インプレースアップグレードを無効にする 1 – インプレースアップグレードを有効にする |
PostUpgradeRestoreProfileOnD | DWORD |
0 – (デフォルト) インプレースアップグレード後にユーザープロファイルパスの復元を試みない 1 – インプレースアップグレード後にユーザープロファイルパス (ProfileImagePath) を復元する |
UserShellFoldersRedirection | DWORD |
0 – ユーザーシェルフォルダのリダイレクトを有効にしない 1 – (デフォルト) ユーザープロファイルが |
NoReboot | DWORD |
0 – (デフォルト) ユーザープロファイルのレジストリを変更した後、再起動するタイミングを制御することを許可する 1 – ユーザープロファイルのレジストリを変更した後、スクリプトが WorkSpace を再起動することを許可しない |
レジストリキー | タイプ | 値 |
---|---|---|
[Enabled] (有効) | DWORD |
0 – (デフォルト) AWS PV ドライバーの更新を無効にする 1 – AWS PV ドライバーの更新を有効にする |
インプレースアップグレードの実行
BYOL WorkSpaces でインプレース Windows アップグレードを有効にするには、以下の手順で説明するように、特定のレジストリキーを設定する必要があります。また、特定のレジストリキーを設定して、インプレースアップグレードの完了後にユーザープロファイルを配置するドライブ (C または D) を指定する必要があります。
これらのレジストリの変更は手動で行うことができます。複数の WorkSpaces を更新する場合は、グループポリシーまたは SCCM を使用して PowerShell スクリプトをプッシュできます。サンプルの PowerShell スクリプトについては、PowerShell スクリプトを使用して WorkSpace レジストリを更新する を参照してください。
Windows 10 および 11 のインプレースアップグレードを実行するには
-
更新する Windows 10 および 11 の BYOL WorkSpaces で現在実行されている Windows のバージョンを確認し、システムを再起動します。
-
以下の Windows システムレジストリキーを更新し、[有効] の値データを 0 から 1 に変更します。これらのレジストリ変更により、WorkSpace のインプレースアップグレードが有効になります。
-
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1
-
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\update-pvdrivers.ps1
注記
これらのキーが存在しない場合は、WorkSpace を再起動します。システムを再起動すると、キーが追加されます。
(オプション) SCCM Task Sequences などのマネージド型ワークフローを使用してアップグレードを実行する場合は、次のキー値を 1 に設定してコンピュータが再起動しないようにします。
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\NoReboot
-
-
インプレースアップグレードプロセス後にユーザープロファイルを配置するドライブを決定し (詳細については「考慮事項」を参照)、以下のようにレジストリキーを設定します。
-
アップグレード後にドライブ C にユーザープロファイルが必要な場合の設定:
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1
キー名: PostUpgradeRestoreProfileOnD
キー値: 0
キー名: UserShellFoldersRedirection
キー値: 1
-
アップグレード後にドライブ D にユーザープロファイルが必要な場合の設定:
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1
キー名: PostUpgradeRestoreProfileOnD
キー値: 1
キー名: UserShellFoldersRedirection
キー値: 0
-
-
レジストリに変更を保存したら、再び WorkSpace を再起動して変更を適用します。
注記
-
再起動後に WorkSpace にログインすると、新しいユーザープロファイルが作成されます。[スタート] メニューにプレースホルダーアイコンが表示される場合があります。この動作は、インプレースアップグレードが完了すると自動的に解決されます。
-
WorkSpace のブロックが解除されるまで約 10 分かかります。
(オプション) 次のキー値が 1 に設定されていることを確認します。この設定で、WorkSpace がブロック解除され、更新可能になります。
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\profileImagePathDeleted
-
-
インプレースアップグレードを実行します。必要に応じて、SCCM、ISO、Windows Update (WU) のいずれの方法も使用できます。元の Windows 10 および 11 バージョンとインストール済みのアプリ数に応じて、このプロセスの所要時間は 40 〜 120 分です。
注記
インプレースアップグレードプロセスには、最低 1 時間かかる可能性があります。WorkSpace インスタンスの状態は、アップグレード中に
UNHEALTHY
として表示されることがあります。 -
更新プロセスが完了したら、Windows のバージョンが更新されていることを確認します。
注記
インプレースアップグレードが失敗すると、Windows は自動的にロールバックし、アップグレードを開始する前に存在していた Windows 10 および 11 バージョンを使用します。トラブルシューティングの詳細については、Microsoft の関連ドキュメント
を参照してください。 (オプション) 更新スクリプトが正常に実行されたことを確認するには、次のキー値が 1 に設定されていることを確認します。
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\scriptExecutionComplete
-
AlwaysOn に設定するか、自動停止時間を変更することで WorkSpace の実行モードを変更し、インプレースアップグレードプロセスを中断することなく実行できるようにした場合は、実行モードを元の設定に戻します。詳細については、「実行モードを変更する」を参照してください。
PostUpgradeRestoreProfileOnD レジストリキーを 1 に設定していない場合、ユーザープロファイルは Windows によって再生成され、インプレースアップグレード後に C:\Users\%USERNAME%
に配置されるため、今後の Windows 10 および 11 のインプレースアップグレードで上記の手順を再度実行する必要はありません。デフォルトでは、enable-inplace-upgrade.ps1
スクリプトは以下のシェルフォルダをドライブ 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
シェルフォルダを WorkSpaces の他の場所にリダイレクトする場合は、インプレースアップグレード後に WorkSpaces で必要な操作を実行してください。
トラブルシューティング
更新中に問題が発生した場合は、以下の項目をチェックしてトラブルシューティングに役立てます。
-
Windows ログ。デフォルトでは、以下の場所にあります。
C:\Program Files\Amazon\WorkSpacesConfig\Logs\
C:\Program Files\Amazon\WorkSpacesConfig\Logs\TRANSMITTED
-
Windows イベントビューア。
Windows ログ > Application > Source: Amazon 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 } }