Windows 10 を 22H2 に更新しようとして、毎回 30% 付近で止まり「0xC1900204」や「0x8007007f」が出てロールバックしてしまう…という相談はとても多くなっています。本記事では、実際に 22H2 への更新に成功した事例をベースに、原因の整理から Media Creation Tool を使った具体的な対処手順、インプレース修復やログ取得のポイントまで、再現性の高い手順として解説します。
Windows 10 22H2 の更新が失敗する症状
今回の代表的なケースは次のような流れです。
- Windows Update から「Windows 10, version 22H2 の機能更新プログラム」を実行
- ダウンロード 100% までは正常に進む
- 「インストール 30% 前後」で一度止まったあと、進行度が 100% になり再起動
- 再起動後、「更新を元に戻しています…」と表示されロールバック
- Windows Update の画面で「インストールに失敗しました – 0xC1900204」
また、Windows 10 用の メディア作成ツール(Media Creation Tool / MCT) を使って上書きアップグレードを試すと、次のような状態になることがあります。
- セットアップの途中で 0x8007007f が出て停止する
- 「個人用ファイルとアプリを引き継ぐ」がグレーアウトして選べない
このような状況に陥った場合、「Windows Update を何度やり直しても同じ」状態になりがちです。原因を整理してから、効果が高い順に対処していきましょう。
よくあるエラーパターンの整理
| 症状 | エラーコード | 典型的な原因例 |
|---|---|---|
| Windows Update 30% 付近でロールバック | 0xC1900204 | アップグレード作業フォルダーの破損 / メディア不整合 / コンポーネント破損 |
| MCT 実行直後にエラーが出て進まない | 0x8007007f | winsetup.dll などセットアップ関連 DLL の欠落・破損 |
| インプレース修復で「引き継ぐ」が選べない | エラー表示なし(グレーアウト) | エディション/言語/アーキテクチャが現在の OS と一致していない |
主な原因:何が起きているのか
スレッドの情報と一般的なトラブルシューティング知見を整理すると、次の要因が有力です。
- アップグレード作業フォルダーの破損:
C:\$WINDOWS.~BT、C:\$WINDOWS.~WSの不整合・残骸 - 必要ファイルの欠落:例)
C:\Windows\System32\oobe\winsetup.dll不在 → 0x8007007f - 前提更新の未適用・コンポーネントストアの破損:SSU / 累積更新不足、DISM 未実施
- メディアの不一致:エディション/言語/アーキテクチャが違うため「引き継ぐ」が選択不可
- サードパーティ製ソフトやドライバーの干渉:セキュリティソフト、古いストレージドライバーなど
アップグレード作業フォルダーの破損
Windows 10 の機能更新では、一時的な作業領域として次のフォルダーが使用されます。
C:\$WINDOWS.~BTC:\$WINDOWS.~WS
過去のアップグレードが途中で失敗したり、クリーンアップツールが中途半端に削除したりすると、これらのフォルダー内でファイルの不整合が発生します。その状態で再度アップグレードすると、セットアップが同じ場所でコケてしまい、0xC1900204 に繋がるケースがよく見られます。
必要ファイル(winsetup.dll など)の欠落
メディア作成ツールやセットアッププログラムを起動した直後に 0x8007007f が表示される場合、セットアップに必要な DLL ファイルが破損または欠落していることが多いです。特に次のファイルは要チェックです。
C:\Windows\System32\oobe\winsetup.dll
この DLL が存在しない、もしくは別バージョンのファイルで置き換わっていると、セットアップが正常にスタートできません。
前提更新の未適用・コンポーネントストアの破損
Windows 10 22H2 は、基本的に 21H2 以前の環境に対する「有効化更新プログラム」として提供されるため、内部的には次のような順番で前提が揃っている必要があります。
- 最新の SSU(サービス スタック更新プログラム)
- ベースとなる累積更新(LCU)
- 22H2 有効化パッケージ
これらのいずれかが欠けていたり、コンポーネントストアに破損があると、機能更新の途中でロールバックしやすくなります。
メディアの不一致(エディション/言語/アーキテクチャ)
インプレース修復アップグレード(MCT や ISO から setup.exe を実行する方法)では、次の条件が満たされないと 「個人用ファイルとアプリを引き継ぐ」がグレーアウト します。
- 現在の OS と 同じエディション(Home / Pro など)
- インストールされている 基本言語と同じ言語 のメディア
- 同じ アーキテクチャ(64 ビットなら 64 ビット版)
例えば、日本語版 Windows 10 Pro (x64) に対して、英語版メディアや 32 ビット用 ISO からセットアップを起動すると、引き継ぎオプションが選べません。
最も有効だった解決策:作業フォルダー削除 + MCT で上書きアップグレード
今回のスレッドで決め手となったのは、アップグレード用の作業フォルダーを削除してから、メディア作成ツールで上書きアップグレードをやり直す 方法です。具体的な手順を詳しく見ていきます。
事前準備(必須ではないが強く推奨)
- 重要なデータ(ドキュメント、デスクトップ、写真など)は、外付け HDD やクラウドにバックアップしておく
- C ドライブの空き容量を 20~30GB 以上 確保する
- 外付け HDD、USB メモリ、プリンターなど不要な周辺機器は外しておく
- サードパーティ製セキュリティソフトが入っている場合は一時的にアンインストールしておくと成功率が上がる
ステップ 1:作業フォルダーを削除する
管理者権限のコマンド プロンプトを開き、次のコマンドを実行します。
rd /s /q C:\$WINDOWS.~BT
rd /s /q C:\$WINDOWS.~WS
- フォルダーが存在しない場合は「指定されたパスが見つかりません」等のメッセージが出ますが、そのままで問題ありません。
- 誤って別のフォルダーを指定しないよう、コマンドをコピー&ペーストすることをおすすめします。
コマンド実行後、必ず PC を再起動 します。
ステップ 2:メディア作成ツールで「この PC を今すぐアップグレード」
- Microsoft の公式サイトから Windows 10 用の メディア作成ツール(Media Creation Tool) をダウンロードします。
- ダウンロードした
MediaCreationTool.exeを右クリックし、「管理者として実行」を選択します。 - ライセンス条項に同意し、「この PC を今すぐアップグレードする」を選択して進めます。
- 更新プログラムとインストールファイルの準備が終わると、「インストールの準備ができました」と表示されます。
- ここで 「個人用ファイルとアプリを引き継ぐ」 が選択されていることを確認してください。
この方法で、実際に 22H2 への更新に成功 した事例があります。特に、過去の失敗で壊れた作業フォルダーが原因だった環境では、ほぼこの手順だけで完了することが多いです。
なぜフォルダー削除で改善するのか
C:\$WINDOWS.~BT や C:\$WINDOWS.~WS には、以前のアップグレードの一時ファイルやログが残っています。途中で失敗したアップデートでは、これらのフォルダー内に「中途半端な状態」のファイルが残り、新しいアップグレードがそれを再利用しようとして再び失敗します。
一度フォルダーごと削除してしまえば、次回のアップグレード時に 完全な新規セットアップファイル がダウンロード・展開されるため、破損したファイルに引きずられることがなくなります。
不足ファイル(winsetup.dll など)の復旧手順
アップグレード作業フォルダーを消しても、MCT 実行時に 0x8007007f が出てしまう場合は、セットアップ関連の DLL ファイルが壊れている可能性が高いです。
手順 1:winsetup.dll の存在を確認する
- エクスプローラーで
C:\Windows\System32\oobeフォルダーを開きます。 - 一覧の中に
winsetup.dllが存在するか確認します。 - 存在しても、サイズが極端に小さい・更新日時が明らかにおかしい場合は破損が疑われます。
手順 2:ISO イメージから winsetup.dll をコピー(推奨)
最も安全で確実なのは、Windows 10 22H2 の ISO イメージから元の DLL を取り出してコピーする方法です。
- メディア作成ツールで「別の PC のインストール メディアを作成する」を選び、ISO イメージを作成します。
- ISO ファイルを右クリックして「マウント」し、仮想ドライブとして開きます。
- マウントしたドライブ内から
sources\install.wimまたはinstall.esdを展開し、該当エディションのWindows\System32\oobe\winsetup.dllを取り出します。(7-Zip 等のツールを使用すると便利です) - 取り出した
winsetup.dllをC:\Windows\System32\oobeにコピーします。
こうすることで、OS のバージョンに合った正規の DLL を確実に配置できます。
手順 3:PowerShell で DLL を取得する例(上級者向け)
上級者向けには、管理者 PowerShell から Microsoft の配布サーバーなどにある DLL を直接取得する方法もあります。例として次のようなコマンドです。
iwr 'https://msdl.microsoft.com/download/symbols/winsetup.dll/456AF9E5388000/winsetup.dll' `
-OutFile 'C:\Windows\System32\oobe\winsetup.dll' -Verbose
ただし、配布先やバージョンは環境によって異なります。基本的には ISO から取り出す方法を優先し、この方法は補助的な手段として自己責任で行う のが安全です。
手順 4:DISM / SFC でシステム整合性を修復する
DLL を復旧した後は、システムコンポーネントの整合性を整えておきましょう。管理者コマンド プロンプトで次のコマンドを順番に実行します。
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
- DISM がコンポーネントストアの破損を修復し、
sfcがシステムファイルの整合性をチェックします。 - 完了後、再起動してから再度 MCT でアップグレードを試します。
前提更新(SSU / 累積更新)を先に適用する
特に長期間 Windows Update を止めていた PC では、22H2 の前に入れておくべき SSU や累積更新が欠けている場合があります。そのような環境では、まず前提更新を手動で適用すると、機能更新の成功率が大きく向上します。
前提更新の考え方
具体的な KB 番号は環境によって変わりますが、おおまかには次の順番で適用するイメージです。
- 該当ビルド向けの SSU(サービス スタック更新)
- 22H2 対応の最新または比較的新しい累積更新(LCU)
- その後に Windows Update または MCT で 22H2 を実行
| 種類 | 例 | ポイント |
|---|---|---|
| SSU(サービス スタック更新) | 例:ビルド 19041 向け SSU(19041.1704 など) | 更新エンジン自体を安定させる役割。最初に適用する。 |
| 累積更新(LCU) | 例:2023/05 の累積更新 KB5026361 など | セキュリティ修正や有効化パッケージが含まれる場合がある。 |
Microsoft Update カタログから該当する KB をダウンロードし、ダブルクリックでインストール → 再起動 → その後に 22H2 の機能更新を実行する、という流れで試してみてください。
インプレース修復アップグレードで「引き継ぐ」がグレーアウトする場合
メディア作成ツールや ISO から setup.exe を実行した際に、「個人用ファイルとアプリを引き継ぐ」が選べない場合、ほぼ確実に メディアと現在の OS の情報が一致していません。
確認すべきポイント
- エディション:Home / Pro / Enterprise などが同じか
- 言語:インストール言語とメディア言語が一致しているか(日本語なら日本語)
- アーキテクチャ:64 ビット OS に 32 ビットの ISO を使っていないか
- ビルド世代:大きく古い ISO(1507/1511 など)を使っていないか
特にありがちなのが、「マルチ言語版 ISO を使っている」「英語版サイトから落とした ISO を使っている」というケースです。日本語版 Windows 10 なら、必ず日本語版の公式 MCT から作ったメディア を使用しましょう。
それでもグレーアウトする場合の対処
- 一度、今回紹介した 作業フォルダー削除 → MCT でこの PC を今すぐアップグレード を優先して試す。
- サードパーティ製アンチウイルスや最適化ツールを完全にアンインストールする。
- システムがドメイン参加の業務用 PC の場合、グループポリシーやセキュリティ製品でアップグレードが制御されていないか確認する。
- どうしても引き継ぎが選べない場合は、データバックアップの上でクリーンインストールも視野に入れる。
失敗時のログ収集と原因切り分け
何度試しても失敗する場合は、ログを集めて原因を絞り込むと無駄なやり直しを減らせます。代表的なログは次のとおりです。
- セットアップログ:
C:\$WINDOWS.~BT\Sources\Panther\setupact.log - エラーログ:
C:\$WINDOWS.~BT\Sources\Panther\setuperr.log - コンポーネントログ:
C:\Windows\Logs\CBS\CBS.log(DISM 実行後の最新版)
ログ収集用バッチファイルの例
以下のようなバッチファイル(例:setuplogscollect.bat)を作成して実行すると、必要なログを一括で集めることができます。
@echo off
set LOGDIR=%~dp0Setuplogs
mkdir "%LOGDIR%"
copy /y C:\$WINDOWS.~BT\Sources\Panther\*.log "%LOGDIR%"
copy /y C:\Windows\Logs\CBS\CBS.log "%LOGDIR%"
copy /y C:\Windows\Panther\*.log "%LOGDIR%"
echo ログ収集が完了しました。「%LOGDIR%」フォルダーをZIP圧縮して共有してください。
pause
サポート窓口やコミュニティに相談する際、この ZIP を添付すればより具体的なアドバイスが得られます。
アップグレード成功率を高めるチェックリスト
最後に、22H2 アップグレード前に確認しておきたいポイントを表にまとめます。これらを満たしていないと、今回紹介した方法でも成功率が下がることがあります。
| 項目 | チェック内容 | ポイント |
|---|---|---|
| バックアップ | 重要なデータのコピーは済んでいるか | 外付け HDD やクラウドに最低限のデータだけでも退避しておく。 |
| 空き容量 | C ドライブに 20~30GB 以上の空きがあるか | 不要な一時ファイルや古いダウンロードを削除し、容量不足を回避。 |
| 周辺機器 | USB 機器や外付けドライブを外したか | アップグレード中のドライバー競合やドライブ認識ミスを防ぐ。 |
| セキュリティソフト | サードパーティ製 AV は一時的にアンインストールしたか | リアルタイム監視がセットアップをブロックすることがある。 |
| システム整合性 | DISM / SFC を実行したか | 事前にコンポーネントストアとシステムファイルを整える。 |
| MCT の実行方法 | 最新の MCT を管理者として実行しているか | 古い MCT や通常権限での実行は失敗要因になりやすい。 |
それでもダメなときの最終手段:クリーンインストール
紹介した対処を試しても、どうしても 22H2 にアップグレードできない場合、最終手段として クリーンインストール を検討します。
- インストール メディア(USB)を作成し、そこからブートしてインストール
- セットアップ中に C ドライブをフォーマットし、新規に Windows 10 22H2 をインストール
- インストール完了後にアプリを再インストールし、バックアップからデータを戻す
手間はかかりますが、システムのゴミを一掃できるため、長年使い込んだ環境ではむしろ快適になることも多いです。「これ以上アップグレードに時間をかけられない」「業務への影響が大きい」という場合は、クリーンインストールも十分に現実的な選択肢です。
まとめ:0xC1900204 / 0x8007007f で Windows 10 22H2 に更新できないとき
Windows 10 を 22H2 に更新しようとして、0xC1900204 や 0x8007007f が出てロールバックする場合、多くのケースでは アップグレード作業フォルダーの破損 と セットアップ関連ファイルの不整合 が関係しています。
今回紹介したポイントをもう一度整理すると、次のようになります。
- まず試すべき決め手の対処:
C:\$WINDOWS.~BT/C:\$WINDOWS.~WSを削除 → 再起動 → MCT で「この PC を今すぐアップグレード」 - 0x8007007f が出る・DLL 不足が疑われる場合:
winsetup.dllの有無を確認し、必要に応じて ISO から復旧+DISM / SFC で整合性を修復 - インプレース修復の「引き継ぐ」がグレーアウトする場合:エディション/言語/アーキテクチャが一致した 22H2 メディアを使い直す
- 長期間更新していない PC:SSU と累積更新を手動適用してから 22H2 を実行する
- それでもダメなとき:ログを集めて原因を絞り込み、最終的にはクリーンインストールも候補にする
同じエラーを何度も繰り返すと「PC が壊れているのでは?」と不安になりますが、実際には 作業フォルダーの破損や DLL 不足といった、再現性のあるパターン によるものがほとんどです。本記事の手順を上から順番に試していけば、多くの環境で 22H2 へのアップグレードを完了できるはずです。

コメント