Microsoft Storeの0x80070422でサインインできない/Windows 11上書きインストールが0x8007042B-0x2000Dで失敗する時の完全対処ガイド【SAFE_OS MIGRATE_DATA対応】

CPU交換後に突然、Microsoft Storeにサインインできず「0x80070422」、さらにWindows 11の上書きインストールがSAFE_OSのMIGRATE_DATAで「0x8007042B-0x2000D」止まり――この組み合わせは珍しくありません。原因は“壊れたOS”よりも、停止したサービス・古いドライバ・ネットワークやポリシーのズレが連鎖しているケースが大半。本稿は最短復旧から深掘り原因切り分けまで、現場で有効だった手順を体系化して解説します。

目次

症状の全体像と前提

  • 発生タイミング:CPU交換以降。
  • 主症状:
    • Microsoft Store/Microsoft アカウントへのサインインで 0x80070422。
    • ISOからの「このPCを修復」(個人ファイルとアプリ保持)が SAFE_OS > MIGRATE_DATA で 0x8007042B-0x2000D となり中断。
  • 既に試した対策:SFC/DISM、別のローカル管理者アカウントで再試行。

結論の先出し(最短で通すなら)

まず下表の手順1〜3を連続実施→再起動→Storeサインイン確認→その直後に上書きインストール再挑戦が鉄板です。

手順内容狙い・背景
1Windows Update系サービスを「自動(または手動)」に戻して起動
対象:Windows Update / BITS / Microsoft Store Install Service
0x80070422は「必要サービスが無効化」で発生しやすい。Storeとアカウント系はWU/BITSに強依存。
2Storeキャッシュを初期化:Win + R → wsreset.exe → 再起動認証・更新失敗のキャッシュ汚染を除去。
3ネットワークスタックを再構成(管理者PowerShell)
netsh winsock reset
netsh int ip reset
ipconfig /flushdns → 再起動
WAM(Web Account Manager)やStoreが使うネットワークAPIの異常をリセット。
4ISOの setup.exe から「個人ファイルとアプリを引き継ぐ」で再試行上記の直後に通る事例が多数。通らない場合は次章の深掘りへ。

なぜ起きる?原因仮説の整理

現象主因のパターン補足
0x80070422(Store/サインイン)Windows Update・BITS・Store Install Serviceなどが無効/停止、WSUS/ポリシー阻害、プロキシ誤設定、時刻ずれCPU交換後はCMOSクリアやBIOS更新に伴い時刻やTPM、起動順、デバイス列挙が揺れ、サービス/ポリシーの齟齬が露呈しやすい。
0x8007042B-0x2000D(MIGRATE_DATA)旧式ドライバ/フィルタ(AV/バックアップ/仮想CD/USB/RAID)、壊れたユーザープロファイル/ジャンクション、外付けデバイス、低空き容量、ファイルシステム不整合MIGRATE_DATAは「移行対象の整合性チェック」でコケる。特にストレージ/USB/ネットワークのフィルタドライバが犯人になりがち。

復旧のための詳細手順

1. Windows Update関連サービスの復旧

管理者PowerShellで以下を実行し、起動状態を確実に戻します。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force

# 推奨の起動種別

Set-Service wuauserv -StartupType Manual       # Windows Update
Set-Service bits     -StartupType Automatic    # Background Intelligent Transfer Service
Set-Service InstallService -StartupType Manual # Microsoft Store Install Service
Set-Service WaaSMedicSvc -StartupType Manual   # Windows Update Medic Service(参考)

# 起動

Start-Service wuauserv
Start-Service bits
Start-Service InstallService 

サービス名が見当たらない/拒否される場合は、セキュリティ製品やグループポリシーで制御されている可能性があります。企業PCなら管理者に確認してください。

2. Microsoft Storeのキャッシュ再構築と再登録

  1. Win + R → wsreset.exe → 黒いコンソールが閉じるまで待機 → 自動でStoreが起動。
  2. 必要に応じて再登録(管理者PowerShell): Get-AppxPackage -AllUsers *WindowsStore* | ForEach-Object { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml" }

3. ネットワーク/時刻/証明書の整合性を回復

Winsock/IPのリセットに加え、プロキシ/時刻/TLSの基本を確認します。

# ネットワークリセット
netsh winsock reset
netsh int ip reset
ipconfig /flushdns

# プロキシ確認&リセット(必要時)

netsh winhttp show proxy
netsh winhttp reset proxy

# 時刻同期(管理者)

w32tm /resync </code></pre>

<ul>
  <li><strong>時刻ずれ</strong>や<strong>タイムゾーン誤り</strong>はAAD/MSAのトークン検証に失敗しやすい。自動設定と手動同期の両方を試してください。</li>
  <li>企業PCでルート証明書配布やTLS検査(SSLインスペクション)がある場合、Store/アカウントの通信がブロックされることがあります。</li>
</ul>

<h3>4. グループポリシー/レジストリでStore/WUが止められていないか</h3>
<p>ローカルグループポリシー(<code>gpedit.msc</code>)の例:</p>
<ul>
  <li>コンピューターの構成 → 管理用テンプレート → Windowsコンポーネント → <strong>Store</strong> → 「<strong>Microsoft Store アプリをオフにする</strong>」を<strong>未構成/無効</strong>に。</li>
  <li>Windows Update関連の「社内更新サービス(WSUS)」指定が残っていないか。</li>
</ul>
<p>レジストリ確認(管理者PowerShell):</p>
<pre><code>reg query HKLM\SOFTWARE\Policies\Microsoft\WindowsStore
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
</code></pre>
<p><code>WUServer</code> / <code>WIStatusServer</code> が残っているとStoreやセットアップの動的更新に影響します。企業管理下でなければ削除を検討し、再起動のうえ挙動を確認してください。</p>

<h3>5. クリーンブートと“疑わしい常駐”の除外</h3>
<ol>
  <li><strong>msconfig</strong>(システム構成)→ サービス → 「Microsoftのサービスをすべて隠す」→ 残りを一旦無効。</li>
  <li>スタートアップ(タスクマネージャー)を無効にして再起動。</li>
  <li>この状態でStoreサインイン → 上書きインストールを試す。</li>
</ol>
<p>サードパーティ製AV/バックアップ/チューナー/仮想ドライブ(例:古いRAID/USB3.0コントローラ、ディスク暗号化、旧アーカイバドライバ)はMIGRATE_DATAの阻害要因になりがちです。<strong>一時アンインストール</strong>(無効化ではなく)で影響を断って試行するのが近道です。</p>

<h3>6. 上書きインストールを成功させる実務的ポイント</h3>
<ul>
  <li>ISOをマウント → <strong>setup.exe</strong> → 「引き継ぐ項目」は<strong>個人ファイルとアプリ</strong>。</li>
  <li>一度は「最新の更新プログラムを入手しない(オフライン)」で実施し、動的更新が絡む不確定要素を排除します(後でWindows Updateを回せばOK)。</li>
  <li>外付けUSB/増設HDD/SDカードは外す。必要ならキーボード/マウス/有線LANのみ。</li>
  <li>空き容量は<strong>最低25GB</strong>を確保(Cドライブ)。</li>
  <li>ファイルシステム健全化:
    <pre><code>chkdsk C: /scan
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

7. SetupDiagで「何が移行を止めているのか」を見抜く

失敗直後にログは C:\$WINDOWS.~BT\Sources\Panther\ などに生成されます。SetupDiag.exe を管理者として実行すると、代表的な失敗パターンにマッチングし、犯人クラスを特定できます。

  • よくある検出例:古いストレージ/USB/ネットワークドライバ、フィルタドライバ(AV/バックアップ/仮想化)、壊れたジャンクション/再解析ポイント、プロファイル移行の異常。
  • 該当アプリ/ドライバをアンインストール(またはデバイスマネージャー→表示→非表示のデバイスの表示で削除)。

ドライバ棚卸しのコマンド例:

# 署名付き/未署名含め全ドライバ一覧
pnputil /enum-drivers &gt; "%USERPROFILE%\Desktop\drivers.txt"

# フィルタドライバの把握

fltmc filters

# 不要ドライバ(例:oem42.inf)を削除

pnputil /remove-driver oem42.inf /uninstall /force </code></pre>

<h3>8. ユーザープロファイルと再解析ポイント(ジャンクション)の健全化</h3>
<p>OneDriveの「既知のフォルダーの移動(KFM)」や手動で作ったジャンクションが環境間で矛盾すると、MIGRATE_DATAで固まることがあります。</p>
<ul>
  <li>既定のユーザーフォルダー(ドキュメント/ピクチャなど)をCドライブ配下に戻す。</li>
  <li>プロファイル直下のリンク/ジャンクションを洗い出し:
    <pre><code>dir /al /s "%USERPROFILE%"
fsutil reparsepoint query "C:\Users\&lt;User&gt;\Documents"  # 疑わしい個所を都度確認

破損しているリンクは削除し、必要なら正しく作り直す。

9. ストレージ/USB/RAID/チップセットの更新(CPU交換後はとくに重要)

  • マザーボードの最新BIOSを適用(CPUマイクロコード/安定性)。
  • チップセット/管理エンジン(Intel ME/AMD PSP)、ストレージ(IRST/AMD RAID)、USBコントローラを最新版に。
  • UEFIでTPM(PTT/fTPM)有効、Secure Boot有効、日付時刻が正しいことを確認。

10. Windows Updateスタックのフルリセット(必要時)

上記で直らない際の強力な手当です。

net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old

net start msiserver
net start cryptsvc
net start bits
net start wuauserv 

11. コマンド早見表(コピー&ペースト用)

目的コマンド
Storeキャッシュwsreset.exe
ネットワークリセットnetsh winsock reset / netsh int ip reset / ipconfig /flushdns
プロキシ初期化netsh winhttp reset proxy
WUサービス復旧Set-Service wuauserv -StartupType Manual ほか / Start-Service
ログの場所C:\$WINDOWS.~BT\Sources\Panther\ / C:\Windows\Panther\
ドライバ棚卸しpnputil /enum-drivers
フィルタ確認fltmc filters
時刻同期w32tm /resync

MIGRATE_DATAで止まる「犯人」別の対処フロー

兆候/ログ想定原因対処
ストレージ/USB/ネットワーク関連のINFが頻出古い/互換性のないドライバ・フィルタ該当デバイスのドライバ更新or削除。AV/バックアップ/仮想CD等は一時アンインストール。
ユーザープロファイル下の特定フォルダでエラー壊れたジャンクション/再解析ポイント、OneDriveの競合リンク修正/解除、KFMを一時解除し既定位置に戻す。
外付けドライブのパスを参照移行対象が外部メディアに跨っている外付け機器を外して再試行。必要なら一時的にCへ退避。
ディスク領域不足の警告一時領域不足不要ファイル削除、復元ポイント/一時ファイル整理、25GB以上の空きを確保。

安全性とバックアップの勘所

  • 作業前に重要データのバックアップを取得(ユーザーフォルダ/鍵/ライセンス情報)。
  • レジストリ操作は必ず事前エクスポート。
  • 企業管理デバイスは、ポリシー/証明書/代理サーバーが絡むため、自己判断で変更せず管理者へ相談。

よくある質問(FAQ)

Q. CPUを変えるとライセンスやアカウントが壊れますか?
A. 一般にマザーボードが変わらなければWindowsのデジタルライセンスは維持されます。今回はサービス/ドライバ/ネットワークの整合性崩れが主因であることが多いです。

Q. Storeだけでなく、Windows Updateも失敗します。
A. 0x80070422が出る構成では高確率でWUも止まっています。サービス復旧とWUスタックのリセット(本稿の手順10)を併用してください。

Q. 上書きインストール時に「更新プログラムを入手する」を有効にした方が良い?
A. 原因切り分けの観点では一度オフにして(オフラインアップグレード)通るか確認するのが定石です。通った後で最新更新を適用すればOKです。

Q. 最終的にクリーンインストールすべきか?
A. ドライバ/ポリシー起因で移行が成立しない場合、個人ファイルのみ保持や完全クリーンを検討します。その際はアプリ再構築の手間と秤にかけて選択します。

実運用向け「チェックリスト」

  • [ ] WU/BITS/Store Install Serviceが手動/自動+起動になっている。
  • [ ] wsreset.exe 済み、Storeが起動しサインイン可能。
  • [ ] Winsock/IP/プロキシ/時刻の整合性確認。
  • [ ] グループポリシー/レジストリでStore/WU無効化なし。
  • [ ] クリーンブート状態で常駐/フィルタを排除。
  • [ ] 外付け機器を外し、空き容量25GB以上。
  • [ ] DISM/SFC/CHKDSKでOSとFSを健全化。
  • [ ] SetupDiagで犯人クラスを掴み、該当ドライバ/アプリを処置。
  • [ ] BIOS/チップセット/ストレージ/USBドライバを更新。
  • [ ] それでも不可なら「個人ファイルのみ保持」→最終的にクリーンも視野。

まとめ

0x80070422と0x8007042B-0x2000Dの同時発生は、停止したサービスやネットワーク不整合に加え、MIGRATE_DATAで引っ掛かるドライバ/プロファイルの問題が重なって起きます。したがって、単発の「SFC/DISM」だけでは解決しにくいのが実情です。本稿の流れ――サービス復旧 → キャッシュ/ネットワーク再構成 → ポリシー/プロキシ是正 → クリーンブート → ドライバ/プロファイルの矛盾解消 → オフライン上書きインストール――で順番に詰めれば、現場レベルで高確率に通せます。CPU交換を契機にBIOS/チップセットを最新化し、Windows Updateスタックの健全性を保つことで、今後のアップデート/Store/認証トラブルも予防できます。


補遺:トラブル対応の観点を短冊で把握

  • 接続層:Winsock/IP、プロキシ、TLS、時刻。
  • サービス層:WU/BITS/Store Install、WAM。
  • ポリシー層:Store無効化、WSUS残骸。
  • ドライバ層:ストレージ/USB/ネットワーク/フィルタ。
  • データ層:プロファイル、ジャンクション、再解析ポイント。
  • プラットフォーム層:BIOS、TPM、Secure Boot、時刻/CMOS。

コピペ用:一括スクリプト(自己責任・管理者PowerShell)

環境によりエラーになる行は無視されます。企業ポリシー下では実行しないでください。

# --- サービス基本復旧 ---
$services = @(
  @{Name="wuauserv"; Type="Manual"},
  @{Name="bits"; Type="Automatic"},
  @{Name="InstallService"; Type="Manual"},
  @{Name="WaaSMedicSvc"; Type="Manual"}
)
foreach($s in $services){
  try{ Set-Service $s.Name -StartupType $s.Type }catch{}
  try{ Start-Service $s.Name }catch{}
}

# --- Storeキャッシュ ---

Start-Process -FilePath "wsreset.exe" -Wait

# --- ネットワーク ---

Start-Process -Verb RunAs cmd.exe "/c netsh winsock reset & netsh int ip reset & ipconfig /flushdns"

# --- プロキシ初期化 ---

Start-Process -Verb RunAs cmd.exe "/c netsh winhttp reset proxy"

# --- WUスタック(強制再生成・必要時)---

$cmd = @"
net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start msiserver
net start cryptsvc
net start bits
net start wuauserv
"@
Start-Process -Verb RunAs cmd.exe "/c $cmd"

# --- ログ位置メモ ---

Write-Host "Panther Logs: C:$WINDOWS.~BT\Sources\Panther\ , C:\Windows\Panther" 

ここまで実施しても解決しない場合は、本稿の「犯人別フロー」を再読し、SetupDiagで具体的なドライバ/フォルダ/ポリシー名を掴んでからピンポイントで外すのが王道です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次