Windows 10 22H2 から Windows 11 24H2 へのインプレースアップグレード中に、「0x8007001F」エラーで毎回ロールバックしてしまうケースがあります。この記事では、Dell ワークステーション環境で実際に発生した事例をもとに、原因となったレジストリの不要 SID を特定し、削除して解決するまでの手順を詳しく解説します。
Windows 10 22H2 → Windows 11 24H2 アップグレードで発生した事象
まずは、実際に問題が発生した環境と症状を整理します。同じような条件の PC では、かなり高い確率で同様のトラブルが起こり得ます。
| 項目 | 内容 |
|---|---|
| PC メーカー / 種別 | Dell 製ワークステーション(法人向け機種) |
| 現在の OS | Windows 10 Pro / Enterprise 22H2 |
| アップグレード先 | Windows 11 24H2(ISO / Windows Update どちらも失敗) |
| アップグレード方式 | インプレースアップグレード(上書きインストール) |
| エラー内容 | セットアップが途中で失敗し、ロールバック後に「0x8007001F」を表示 |
| 事前に実施した対処 | sfc /scannow、更新コンポーネントリセット、DISM、周辺機器取り外しなどを実施済み |
いわゆる「お作法通り」の一般的な対処は一通り済ませてもなお、アップグレードが失敗していました。セットアップログを確認しても原因が特定しづらく、「ハードウェアなのか OS 側なのか切り分けが進まない」という状態に陥りがちなケースです。
0x8007001F エラーのイメージと、今回の特徴
0x8007001F は Windows Update や機能更新プログラムの失敗でよく見かける汎用エラーコードです。一般的には「デバイス I/O 関連」「ドライバー」「オーディオサービス」などを疑うことが多く、検索するとドライバー更新やクリーンブートを勧める記事が大量にヒットします。
しかし今回のケースでは、以下のような特徴がありました。
- デバイスマネージャー上の不明なデバイスはなし
- ハードウェア診断ツールでも異常なし
- ウイルス対策ソフトを一時的にアンインストールしても改善なし
- sfc /scannow や DISM によるイメージ修復も途中エラーなし
つまり「よくある 0x8007001F の表面的なパターン」ではなく、別の要因を疑う必要がありました。そこで深堀りした結果、原因は レジストリの ProfileList に残っていた不要なユーザープロファイル SID だと判明しました。
結論:ProfileList に残った「孤立/重複 SID」が原因だった
今回の環境では、以下の状態が確認されました。
- Windows 上には既に存在しないローカルユーザーのフォルダーが、レジストリ上には SID として残っていた
- また、WMIC(または PowerShell)で列挙されない SID が、ProfileList にだけ存在していた
- これらの「孤立」「重複」した SID を削除すると、Windows 11 24H2 へのアップグレードが一度で成功
つまり、セットアッププロセスがユーザープロファイル情報を参照する際に、実体のない SID エントリが邪魔をしてロールバックしたと考えられます。公式ドキュメントに明示されているわけではありませんが、現場での再現性を踏まえると、十分に筋の通った原因といえます。
| 状態 | ProfileList の内容 | アップグレード結果 |
|---|---|---|
| 対処前 | 実在しないユーザーフォルダーへのパスを持つ SID が複数存在 | 0x8007001F でロールバック |
| 対処後 | 孤立/重複した SID を削除し、実在するユーザーのみが残った状態 | Windows 11 24H2 へのアップグレードが正常完了 |
実際に行った解決手順(安全に実施する順番)
ここからは、実際に行った手順を「安全に実行できる順番」で解説します。特にレジストリ操作を行う部分は、必ずバックアップを取ったうえで慎重に進めてください。
1. レジストリの事前バックアップを取得する
まずは、問題となりうる ProfileList キーを丸ごとバックアップします。管理者権限のコマンドプロンプトを開き、次のコマンドを実行します。
reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" C:\ProfileListBackup.reg /y
上記コマンドのポイントは次の通りです。
| 要素 | 意味 |
|---|---|
| HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList | ユーザープロファイルの SID と、対応するフォルダパスなどを保持するキー |
| C:\ProfileListBackup.reg | エクスポート先のレジストリファイル(任意のパスでよいが、分かりやすい場所を推奨) |
| /y | 同名ファイルが存在する場合に上書き許可 |
このバックアップがあれば、万が一誤って SID を削除してしまっても、ダブルクリックでレジストリを元に戻すことができます。
2. 現在のローカルユーザーと SID を確認する
次に、「本当に存在するユーザー」 を一覧にしておきます。これが、後で不要 SID を見分けるための基準になります。
すべてのローカルアカウントと SID を一覧表示
管理者のコマンドプロンプトで、次のコマンドを実行します。
wmic useraccount get name,sid
これにより、ローカルに存在するユーザー名と SID の一覧が表示されます。ドメイン参加している PC では、ドメインユーザーの SID は別の扱いになりますが、今回はローカルユーザーに着目します。
現在ログオンしているユーザーの SID を確認
誤って現在使用中の SID を削除しないように、ログオン中ユーザーの SID も確認しておきます。
whoami /user
表示された SID は、後ほど削除対象から必ず外します。
| コマンド | 目的 | 備考 |
|---|---|---|
wmic useraccount get name,sid | ローカルユーザーの一覧と SID を把握する | 削除してよい SID とダメな SID を見分けるための基準になる |
whoami /user | 現在ログオンしているユーザーの SID を確認する | この SID は絶対に削除しない |
PowerShell に慣れている場合は、次のようにしても同様の情報を取得できます。
powershell -command "Get-LocalUser | Select Name, SID"
3. レジストリの ProfileList キーを確認する
次に、レジストリエディタで問題のキーを確認します。
- Win + R キーを押して「ファイル名を指定して実行」を開く
regeditと入力して Enter- 以下のキーへ移動
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
このキーの下には、S-1-5-21-…-XXXX のような形式のサブキーが多数並んでいます。それぞれがユーザープロファイルを表し、中には ProfileImagePath という値が含まれます。
ここで確認すべきポイントは次の通りです。
- WMIC で表示された SID と一致するかどうか
ProfileImagePathに記載されたフォルダーが実際に存在するか(例:C:\Users\olduser等)- 明らかにもう使っていないユーザー名や、意味の分からないフォルダー名がないか
| パターン | 具体例 | 判定 |
|---|---|---|
| 正常なエントリ | WMIC の SID 一覧に存在し、ProfileImagePath のフォルダも C:\Users\<ユーザー> として存在する | 削除しない |
| 孤立した SID | WMIC の SID 一覧に出てこないが、ProfileList にだけ残っている | 削除候補 |
| フォルダー無し | ProfileImagePath のパス先(例 C:\Users\olduser)が存在しない | 削除候補 |
特に、かつてローカルユーザーを作成して削除したり、マシンを別ユーザーに引き継いだりした履歴がある PC ほど、孤立 SID が残りやすい傾向があります。
4. 不要な SID キーを削除する
ここからは、実際にレジストリから不要な SID を削除していきます。事前にバックアップを取っていることを必ず確認してください。
削除してよい SID の条件
次のすべてに当てはまる SID は、削除候補となります。
- WMIC(または PowerShell)の SID 一覧に表示されない
ProfileImagePathのフォルダーが存在しない、または明らかに不要なユーザーである- 現在ログオンしているユーザーの SID ではない
特に注意したいのは、システムアカウントの SID を触らないことです。例えば S-1-5-18 や S-1-5-19 など、Windows が内部的に使用する SID は削除してはいけません。通常、ProfileList で問題になるのは S-1-5-21-…… から始まる「ドメインまたはローカルユーザー」の SID です。
レジストリエディタからの削除手順
ProfileListの下から削除候補 SID のサブキーを右クリック- [削除] を選択
- 確認メッセージが出たら [はい] をクリック
複数存在する場合は、1 つずつ慎重に確認しながら削除します。不安な場合は、まず 1~2 個だけ削除して挙動を確認し、それでも問題なければ残りを削除する方法もあります。
必要に応じて、レジストリのバックアップファイル(C:\ProfileListBackup.reg)をダブルクリックして取り込み、元に戻すことも可能です。
5. PC を再起動し、Windows 11 アップグレードを再実行
不要な SID を削除したら、必ず PC を再起動してレジストリの状態を確定させます。そのうえで、次のいずれかの方法で Windows 11 24H2 へのアップグレードを再実行します。
- Windows 11 24H2 の ISO をマウントし、
setup.exeを実行 - Windows Update から機能更新プログラムを実行
この際、「個人用ファイルとアプリを引き継ぐ」 を選択してインプレースアップグレードを行います。今回の事例では、これだけで 0x8007001F エラーが発生せず、1 回の実行で Windows 11 へのアップグレードが完了しました。
なぜ不要 SID があるとアップグレードが失敗するのか(考察)
内部動作はすべて公開されているわけではありませんが、セットアッププロセスはユーザープロファイルに関連する情報を広範囲に参照します。その過程で次のようなことが起こると、異常として扱われる可能性があります。
- レジストリ上の ProfileList には SID があるのに、実際にはユーザープロファイルが存在しない
- SID に紐づくフォルダーや権限が欠落している
- ユーザー数の整合性が取れず、マイグレーション処理が途中で止まる
結果として、アップグレード全体は「安全側」に倒れ、ロールバックが行われます。その表面に現れるのが 0x8007001F という汎用的なエラーコード、というイメージです。
このような背景から、特に「過去に複数ユーザーが入れ替わりで使ってきた PC」や「ローカルユーザーを大量に作成・削除してきた PC」では、ProfileList の整理が有効な一手となり得ます。
追加で実施するとよい対処・確認ポイント
今回の事例では、決定打となったのは「ProfileList の不要 SID 削除」でしたが、同じタイミングで見直しておくとよい設定や確認項目もあります。アップグレードの成功率や、アップグレード後の安定性向上にも役立ちます。
メモリ整合性(Core Isolation / Memory Integrity)の有効化
Windows 11 では、仮想化ベースのセキュリティ(VBS) やコア分離機能が重視されています。可能であれば、アップグレード前後で メモリ整合性 (Memory Integrity) を有効にしておくことをおすすめします。
有効化手順は次の通りです。
- [設定] → [プライバシーとセキュリティ] → [Windows セキュリティ] を開く
- [デバイス セキュリティ] → [コア分離の詳細] を選択
- [メモリ整合性] を「オン」に切り替える
ここで「互換性のないドライバー」が表示される場合、そのままではオンにできません。その場合は、pnputil コマンドでドライバーを退避・削除する方法があります。
互換性のないドライバーのバックアップと削除
管理者のコマンドプロンプトで、次の順に実行します。
md C:\Drivers
pnputil /export-driver * C:\Drivers
これで、現在インストールされているドライバーをすべて C:\Drivers にバックアップできます。そのうえで、メモリ整合性の画面に表示されたドライバーの INF 名(oem###.inf)をメモし、次のように削除します。
pnputil /delete-driver oem###.inf /uninstall /force
### の部分は、実際に表示された番号に置き換えてください。削除後に再起動し、改めてメモリ整合性をオンにできるか確認します。
| コマンド | 役割 |
|---|---|
pnputil /export-driver * C:\Drivers | すべてのドライバーをフォルダにエクスポート(バックアップ) |
pnputil /delete-driver oem###.inf /uninstall /force | 問題のドライバーをアンインストールして削除 |
周辺機器・セキュリティソフト・ディスク容量の見直し
今回の主因は ProfileList でしたが、次の一般的な対策も同時に進めておくと、余計なトラブルを避けられます。
- 周辺機器の取り外し:ドッキングステーション、外付け HDD、USB デバイス、プリンターなどはできるだけ外しておく
- サードパーティ製ウイルス対策ソフトの一時アンインストール:インストーラーやフィルタードライバーが邪魔をするケースがある
- C ドライブの空き容量確保:目安として 30GB 以上を確保しておくと安心
これらは「やっておいて損はない」対策であり、ProfileList の整理と併せて実施することで、アップグレードの成功率がさらに高まります。
PC 正常性チェックと Windows 11 必要要件の確認
Windows 11 では、TPM 2.0 やセキュアブート、対応 CPU など、ハードウェア要件が厳格化されています。Microsoft の「PC 正常性チェック」アプリを利用して、事前に次の点を確認しておきましょう。
- TPM 2.0 が有効になっているか
- セキュアブートが有効になっているか
- CPU が Windows 11 のサポートリストに含まれているか
これらが満たされていない場合、エラーコードにかかわらずアップグレード自体がブロックされることがあります。
WinRE(回復環境)の状態確認
最近の Windows 10 / 11 では、回復環境 (Windows RE) のパーティションサイズ不足が原因で更新に失敗するケースも増えています。今回の事例では WinRE が 1GB 以上あり直接の原因ではありませんでしたが、確認しておく価値はあります。
管理者のコマンドプロンプトで次のコマンドを実行します。
reagentc /info
ここで「Windows RE の状態」が有効になっているか、構成パーティションの場所やサイズが適切かを確認します。不足している場合は、パーティションの拡張が必要になることもあります。
よくある疑問と今回のケースの位置付け
sfc /scannow や DISM だけでは不十分なのか?
システムファイルの破損が原因でアップグレードに失敗するケースは多く、その意味で sfc /scannow や DISM /Online /Cleanup-Image /RestoreHealth を実行しておくことは非常に有効です。ただし、今回のようにユーザープロファイルの論理的な整合性が問題の中心にある場合、それだけでは不十分です。
「システムファイルは健全なのにアップグレードだけ失敗する」ときは、ファイルシステムよりも上位の「アカウント設定」や「レジストリの整合性」を疑う必要があります。その代表例の 1 つが、今回の ProfileList の不要 SID というわけです。
クリーンインストールすれば確実だが、それで済ませてよいか?
もちろん、データをバックアップしたうえで Windows 11 をクリーンインストールしてしまえば、こうした問題をほぼ確実に回避できます。しかし、業務用のワークステーションの場合、次のような事情でクリーンインストールが現実的でないケースも多いはずです。
- 業務アプリケーションの再インストール・ライセンス再認証が煩雑
- 周辺機器の設定(プリンター、スキャナー、計測機器など)が複雑
- ユーザーデータの容量が大きく、移行に時間がかかる
その意味で、今回のようにインプレースアップグレードを維持しながら問題を解決する手法は、現場の運用において大きな価値があります。
まとめ:0x8007001F が出たら ProfileList を一度疑ってみる
最後に、今回のポイントを整理しておきます。Windows 10 22H2 から Windows 11 24H2 へのアップグレードで 0x8007001F エラーが発生する環境では、次の流れで確認してみてください。
- ProfileList キーをバックアップ(
reg exportで .reg ファイルを取得) - WMIC や PowerShell でローカルユーザーと SID を一覧取得
- ProfileList の各 SID と照合し、「孤立/重複 SID」や「フォルダーが存在しない SID」を特定
- 削除候補の SID のみレジストリエディタから削除(現在ログオンユーザーやシステムアカウントは触らない)
- 再起動後に Windows 11 24H2 へのアップグレードを再実行
0x8007001F は漠然としたエラーコードに見えますが、ユーザープロファイル周りの整合性問題が原因となるケースも現場では少なくありません。特に、何世代にもわたって利用されている社内 PC や、ローカルアカウントを頻繁に追加・削除してきたマシンでは、一度 ProfileList を確認してみる価値があります。
同じような環境で Windows 11 へのアップグレードがどうしても通らない場合、本記事の手順を参考にしながら、慎重に SID の整理を行ってみてください。それにより、クリーンインストールに頼らず、既存環境を維持したまま Windows 11 24H2 への移行を完了できる可能性が高まります。

コメント