はじめに
Windows10からWindows11にアップグレードする際、アップグレードできずに失敗したので対処方法を紹介する。
前提条件
- Windows10 22H2からWindows11 23H2へのアップグレード
方法
エラー内容確認方法
まず、ログから詳細なエラーの内容を確認する。
アップグレードに関するログは、C:\WINDOWS\Panther\NewOs\Panther
フォルダ以下に格納されている以下の2つのファイルである。
- setuppack.log
- setuperr.log
直接上記ファイルを参照しても良いが、ログ解析できるツール「SetupDiag.exe」がMicrosoftから提供されているので、SetupDiag.exeを使って上記ログを解析する。
SetupDiagログの解析方法
SetupDiag.exeを使う。
-
SetupDiag.exeを、以下からダウンロードする
-
C:/SetupDiag
などに、SetupDiag.exeをコピーする -
管理者権限でコマンドプロンプトを開いてSetupDiag.exeを実行する
SetupDiag.exe /Output:<出力ファイルパス> /Format:<フォーマット>
例:XMLフォーマットで
SetupDiag.exe /Output:C:\SetupDiag\Results.xml /Format:xml
- 参考:下記のように引数指定なしだと上手く実行できなかったので、上記の方法を推奨
SetupDiag.exe
- 参考:下記のように引数指定なしだと上手く実行できなかったので、上記の方法を推奨
-
上記コマンドで出力されたファイルの中身を確認する
XML形式の場合、以下のようなエラーが確認できる。LogErrorLine
にログの概要が記載されるので、確認して対処する。<LogErrorLine>2025-01-22 07:22:07, Error SP Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F[gle=0x000000b7]</LogErrorLine> <FailureData>Error: SetupDiag reports abrupt down-level failure.Last Operation: Gather data, scope: EVERYTHINGError: 0x8007001F - 0x50016</FailureData> <FailureData>LogEntry: 2025-01-22 07:22:07, Error SP Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F[gle=0x000000b7]</FailureData> <FailureData>Refer to "https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes" for error information.</FailureData> <FailureDetails>ErrorCode = 0x8007001F, ExCode = 0x50016, LastOperation = Gather data, scope: EVERYTHING</FailureDetails>
以下は私の環境で起こったエラーとその対策について参考までに記載する。
エラー内容と対策
エラー内容
SetupDiag.exeから以下のエラーとなっていた。
Error SP Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F[gle=0x000000b7]
ただ、上記だとエラーの詳細がわからなかったので、エラーログを以下から確認する。
C:\WINDOWS\Panther\NewOs\Panther/setuperr.log
...
2025-01-21 23:08:24, Error SP pSPRemoveUpgradeRegTree: failed to delete reg tree HKLM\SYSTEM\Setup\Upgrade[gle=0x00000005]
2025-01-21 23:08:36, Error MigPlatformStartupOnline caught exception: Win32Exception: Duplicate profile detected for S-1-5-21-2190579883-2944289640-774129622-448449. Abandoning.: 指定されたユーザーには有効なプロファイルがありません。 [0x000004E5] class Mig::CUserContext *__cdecl Mig::COnlineWinNTPlatform::AddUserContext(class Mig::CRegistryDataStore *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::Array<class UnBCL::String *> *,int,struct _FILETIME,int,int,int,class UnBCL::String *,class UnBCL::String *)
2025-01-21 23:08:36, Error SP pSPDoMainGather: Engine initialization failed with error: 0x00000004
2025-01-21 23:08:36, Error SP CGatherData: Migration phase failed. Status: 4
2025-01-21 23:08:36, Error SP Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F[gle=0x000000b7]
...
上記から、MigPlatformStartupOnline caught exception: Win32Exception: Duplicate profile detected for S-1-5-21-2190579883-2944289640-774129622-448449. Abandoning.: 指定されたユーザーには有効なプロファイルがありません。
とあるので、Windowsのユーザープロファイルが重複しているためエラーとなっているのがわかる。
対策
重複しているユーザープロファイルを、レジストリから削除する。こちらの記事を参考にした。
注意
レジストリを操作するので、最悪Windowsが起動しなくなる可能性がある。重要なデータはバックアップして自己責任で実施すること。
-
Windows + Rキーで、
regedit
と入力して、レジストリエディターを起動する -
実行前にレジストリをバックアップしておく
「ファイル」-「エクスポート」で任意の場所にバックアップファイルを保存する。詳細はこちらを参照 -
エラーになっていたユーザープロファイルを削除する
ユーザープロファイルは以下に設定されている。
コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
重複していたユーザを削除する。
例:S-1-5-21-2190579883-2944289640-774129622-448449の場合
-
PCを再起動する
-
Windows10の起動を確認し、Windows11へのアップグレードを実施してアップグレードできれば成功
まとめ
Windows10からWindows11にアップグレードする際、アップグレードできずに失敗したので対処方法を紹介した。エラーログからアップグレードできない原因がわかるのでそこから対策すると良いことがわかった。
参考