Windows 11 更新エラー0x800f0922を解消する方法|EFIパーティション整理と回復パーティション拡張でWinREを再構成

Windows 11 の更新プログラムがエラー 0x800f0922 で失敗するとき、原因が「回復パーティション(WinRE)の容量不足」にあるケースが少なくありません。本記事では、EFI パーティションの切り替え確認から、回復パーティションを1つに整理して拡張し、winre.wim を配置して WinRE を再構成するまでを、つまずきやすいポイント込みで解説します。

目次

0x800f0922 と「回復パーティション不足」の関係

エラー 0x800f0922 は原因が一つに決まらないため紛らわしいのですが、近年よくあるのが「Windows 回復環境(WinRE)を更新時に使う段階で、回復パーティションの空き容量が足りず失敗する」パターンです。Windows Update は更新の種類によって、再起動後のオフライン処理(セーフOS的なフェーズ)で WinRE を利用します。このとき回復パーティションが小さかったり、WinRE の参照先が壊れていたりすると、更新が途中で止まり 0x800f0922 になることがあります。

今回のシナリオは次のような状況でした。

  • 回復パーティション不足が疑われ、サポートから「356MB のパーティションを EFI に変更し、既存 100MB の EFI を削除して、その空き領域を回復パーティションに回す」という方針が提示された
  • 新しい EFI を作って bcdboot まで実行したが、diskpart の delete partition override で旧 EFI が削除できないエラーが出た
  • 最終的に旧 EFI は削除できたが、未割り当て領域を目的のパーティションへ結合できず(ツールでもグレーアウト)、回復パーティションも2つあって混乱した
  • ゴールは「正しく構成された回復パーティションを1つ」にして WinRE(winre.wim)を再構成すること

作業前に必ず押さえる安全対策

パーティション操作は、手順を誤ると 起動不能 や データ消失 につながります。特に EFI と回復パーティションは “OS が普段見えない場所” なので、ミスに気づきにくいのが難点です。最低限、次を満たしてから作業してください。

項目理由具体例
システムイメージのバックアップ最悪でも元に戻せる状態にするWindows のバックアップ機能/市販バックアップソフト等
Windows 11 インストールUSBの用意OS起動中に削除できないパーティションを WinPE 側から操作できる言語選択画面で Shift+F10 を使う
BitLocker の確認(有効なら一時停止)パーティション変更で回復キー要求が起きやすい「管理」画面で保護の一時停止(環境ポリシーに従う)
ディスクが GPT/UEFI であることを確認本記事の GUID 指定は GPT 前提diskpart の list disk で GPT 列を見る

注意:メーカー製PCには「工場出荷状態へ戻すための大容量リカバリ領域(数GB〜数十GB)」が別にあることがあります。本記事で扱うのは主に WinRE 用の小さめ(数百MB〜1GB程度)の回復パーティション です。大容量の OEM リカバリ領域を消すと、工場出荷状態への復元ができなくなる場合があります。

まずは現状把握:WinRE と EFI の参照先を確認する

「どれを消して、どれを残すか」は、今どれが使われているか を確認しないと決められません。最初に以下を確認します。

WinRE がどこを参照しているか(回復パーティション選定の核)

reagentc /info

ここで見るポイントは次の2つです。

  • Windows RE の状態:Enabled / Disabled
  • Windows RE の場所:\Recovery\WindowsRE\winre.wim を含むパスになっているか

回復パーティションが2つある場合、まずは reagentc /info が指している側が “現役” の可能性が高いです(ただし参照が壊れているケースもあるため、後で実体確認もします)。

現在のパーティション構成(番号を正確に控える)

diskpart
list disk
select disk 0
list partition
list volume
exit

ここで ディスク番号 と パーティション番号 を控えます。特に以下は混同しやすいので注意してください。

  • partition(パーティション)番号 と volume(ボリューム)番号 は別物
  • extend が「ボリュームが選択されていない」と言う場合、volume を選択し直す と通ることがある

ブートローダーが “新しい EFI” を参照しているか(最重要)

EFI パーティションを入れ替える手順では、旧 EFI を消す前に「参照先が新 EFI に切り替わった」ことを必ず確認します。

bcdedit /enum firmware

確認ポイント:

  • {bootmgr} セクションの device が 新しい EFI に割り当てたドライブレター を指しているか
  • ここが旧 EFI のままなら、旧 EFI は削除してはいけません
コマンド何が分かるか判断にどう使うか
reagentc /infoWinRE の参照先と有効/無効残す回復パーティションの候補を絞る
bcdedit /enum firmwareUEFI のブートマネージャ参照先旧 EFI を消してよいか判断する
diskpart → list partitionパーティションの並び(隣接関係)未割り当てを取り込めるか(extend 可否)を判断

新しい EFI パーティションへ切り替え:bcdboot と確認

サポートの方針どおり「356MB のパーティションを EFI システムパーティションとして使う」場合でも、要点はシンプルで、新しい EFI にブートファイルを配置し、UEFI がそこを見に行くようにする だけです。

新 EFI にドライブレターを割り当てる(例:Y:)

ドライブレターは例です。重複しない文字を使ってください。

diskpart
select disk 0
select partition X   ← 新しい EFI にしたい 356MB のパーティション番号
assign letter=Y
exit

bcdboot でブートファイルをコピー

bcdboot C:\Windows /s Y: /f UEFI

bcdedit で参照先を確認

bcdedit /enum firmware

device が Y: を指している ことを確認します。確認できたら、可能なら一度再起動して起動できることまで見ておくと安心です(この時点では旧 EFI は残したまま)。

旧 100MB EFI が削除できないときの現実的な対処

diskpart の delete partition override を使っても、環境によっては「system」「boot」扱いが残って削除できないことがあります。これは “削除したいパーティションが使用中だと認識されている” のが理由です。

Windows 起動中に削除できるケース

diskpart
select disk 0
select partition 4   ← 旧 EFI(100MB)の番号(例)
delete partition override
exit

削除できないケース:インストールUSB(WinPE)から削除する

次の流れが定番です。

  • Windows 11 インストールUSB から起動
  • 言語選択画面で Shift + F10(コマンドプロンプト起動)
  • 同じ diskpart 操作で削除
diskpart
select disk 0
list partition
select partition 4
delete partition override
exit

WinPE 側から操作すると、OS がその EFI を使用中という扱いになりにくく、削除が通りやすくなります。

未割り当て領域を結合できない理由:AOMEI がグレーアウトする“本当の原因”

旧 EFI を削除できたのに、未割り当て領域を 356MB パーティションや回復パーティションへ統合できないことがあります。これはツールの不具合というより、パーティション拡張のルールに引っかかっていることがほとんどです。

結論:未割り当て領域は「隣接」していないと取り込めない

Windows 標準機能(ディスクの管理/diskpart)での拡張は基本的に、拡張したいパーティションの直後(右側)に連続した未割り当て領域がある 場合にのみ成功します。間に別パーティション(MSR、別の回復、OEM、空でない領域など)が挟まっていると、未割り当てがあっても拡張できません。

状態拡張できる?典型的な症状
対象パーティションの直後が未割り当て(連続)できるextend が通る/GUIでも拡張できる
未割り当てが離れている(間に別パーティション)できない統合がグレーアウト/extend 失敗
パーティション種別が特殊(回復/EFIなど)そのままだと難しい拡張の選択肢が出ない/操作が制限される

今回のように「回復パーティションが2つ」「旧 EFI 削除で未割り当てができた」という状況では、残す回復パーティションを1つに決め、隣接するように不要領域を削除して“並び”を整える のが本筋になります。

回復パーティションが2つあるとき、どれを残すべきか

回復パーティションが2つになる理由は単純で、大型アップデートのタイミングで既存回復パーティションの後ろに十分な空きがないと、Windows がディスク末尾付近に新しい回復パーティションを作ってしまうことがあるためです。その結果「古い小容量」と「新しいやや大きめ」が並びます。

残す判断は、次の優先順が安全です。

  • 最優先:reagentc /info が指している回復パーティション(ただし壊れていないことが条件)
  • 次点:サイズが大きい方(将来の更新で詰まりにくい)
  • 現実解:未割り当て領域と隣接していて拡張しやすい方(最短で1つにできる)

確実にしたい場合は、回復パーティションに一時的にドライブレターを割り当てて、\Recovery\WindowsRE\winre.wim の実体を確認します。

diskpart
select disk 0
select partition 3   ← 回復パーティション候補(例)
assign letter=R
exit

dir R:\Recovery\WindowsRE\

winre.wim が見つかった方が “実体がある” 候補です(見つからなくても後で配置し直せるので、致命的ではありません)。確認後は不要ならドライブレターを外しておきます。

diskpart
select disk 0
select partition 3
remove letter=R
exit

WinRE を一旦無効化してから整理する(ここが成功率を上げる)

回復パーティションを削除・拡張する前に、WinRE を無効化 して参照を外しておくのが基本です。参照が残ったままだと、削除に失敗したり、参照が中途半端に壊れて再設定が面倒になります。

reagentc /info
reagentc /disable

無効化後にもう一度確認して、状態が Disabled になっていればOKです。

diskpart で回復パーティションを拡張して「1つに統合」する

ここからが本題です。狙いはシンプルで、次の順番で進めます。

  • 不要な回復パーティション(および、回復拡張の邪魔になる不要パーティション)を削除する
  • 残す回復パーティションの直後に未割り当て領域が連続する状態を作る
  • 回復パーティションは特殊属性で拡張できないことがあるため、一時的に通常パーティション扱いにして拡張する
  • 拡張後に回復パーティション(WinRE)としての属性に戻す

使う GUID(GPT 前提)

用途GUID意味
基本データ パーティションebd0a0a2-b9e5-4433-87c0-68b6b72699c7一時的に “普通の領域” にして extend を通しやすくする
Windows RE ツールde94bba4-06d1-4d40-a16a-bfd50179d6acWinRE 用の回復パーティションとして戻す

例:不要な回復パーティションを削除し、残す回復パーティションを拡張する

以下は 例 です。あなたの環境の番号に置き換えてください。

diskpart
select disk 0

rem 不要な回復パーティションを削除(例:partition 5)
select partition 5
delete partition override

rem 旧EFIの残骸など、不要なら削除(例:partition 4)
select partition 4
delete partition override

rem 残したい回復パーティション(例:partition 3)を一時的に基本データへ
select partition 3
set id=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
gpt attributes=0x0000000000000000

rem ここで volume 番号も確認しておく(extend の失敗回避)
list volume

rem パーティション選択のまま extend が通らない場合は volume を選び直す
rem (例:volume 3 に該当するなら)
select volume 3
extend

rem 回復パーティションとして戻す
select partition 3
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001

list partition
exit

ポイント:

  • extend は 直後に連続した未割り当て領域がある ときだけ成功します。失敗する場合は “空きがあるのに離れている” のが典型原因です。
  • extend で「ボリュームが選択されていない」系のエラーが出る場合は、list volume → select volume N の流れでやり直すと通ることがあります。
  • gpt attributes=0x8000000000000001 に戻すことで、回復パーティションが「隠し」「必須」扱いになり、エクスプローラーに見えない状態に戻ります。

どうしても隣接させられない場合の考え方(現場の落とし穴)

未割り当て領域が回復パーティションの隣に来ない場合、Windows 標準の機能だけで “移動” はできません。このときの現実的な選択肢は次のどれかです。

  • 削除して隣接させる:間にある不要パーティションを削除して連続未割り当てを作る(OEM領域など必要なものは削除しない)
  • 残す回復パーティションを変える:未割り当てと隣接している回復パーティション側を残し、reagentc /setreimage で参照先を付け替える
  • 回復パーティションを作り直す:全回復を削除→C: を少し縮小→ディスク末尾に新規回復を作成→WinRE を再登録(最後の手段だが整理は一番きれい)

WinRE を再有効化して、参照先を正しく固定する

パーティションが整理できたら、WinRE を戻します。

reagentc /enable
reagentc /info

reagentc /info で次を満たしていれば、WinRE の再構成はひとまず成功です。

  • Windows RE の状態:Enabled
  • Windows RE の場所:拡張した回復パーティションを指している
  • パスが \Recovery\WindowsRE\winre.wim になっている(またはその形式で整えられる)

もし参照先がズレている/空のパーティションを指している場合は、回復パーティションにドライブレターを割り当てた上で、次のように参照先を明示します。

diskpart
select disk 0
select partition 3
assign letter=R
exit

reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info

最後に、不要であればドライブレターを外します(回復パーティションは普段見えない方が安全です)。

diskpart
select disk 0
select partition 3
remove letter=R
exit

winre.wim が見当たらない場合:インストールメディアから抽出して配置する

環境によっては、回復パーティションに winre.wim が存在しない/壊れていることがあります。この場合でも、Windows 11 のインストールメディア(install.wim / install.esd)から抽出して配置し直すことで復旧できることが多いです。

手順の流れ

  • インストールUSB のドライブ(例:D:)を用意
  • install.wim / install.esd の中身を確認して、適切なインデックスを特定
  • イメージをマウントして Windows\System32\Recovery\winre.wim を取り出す
  • 回復パーティションの \Recovery\WindowsRE\ に配置
  • reagentc /setreimage → /enable で再登録

具体例(install.wim の場合)

まずインデックスを確認します(Home/Pro などが出ます)。

dism /Get-WimInfo /WimFile:D:\sources\install.wim

マウント先フォルダを作成してマウントします(例:index 6)。

mkdir C:\mount
dism /Mount-Wim /WimFile:D:\sources\install.wim /index:6 /MountDir:C:\mount /ReadOnly

回復パーティションにドライブレターを割り当て、フォルダを用意します。

diskpart
select disk 0
select partition 3
assign letter=R
exit

mkdir R:\Recovery\WindowsRE

winre.wim をコピーします。

copy C:\mount\Windows\System32\Recovery\winre.wim R:\Recovery\WindowsRE\winre.wim

マウントを解除します(ReadOnly なので Discard でOK)。

dism /Unmount-Wim /MountDir:C:\mount /Discard

WinRE の参照先を設定して有効化します。

reagentc /disable
reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info

最後にドライブレターを外します。

diskpart
select disk 0
select partition 3
remove letter=R
exit

補足:インストールメディアが install.esd の場合も、DISM で情報取得・マウントが可能なことがあります。コマンドは /WimFile: の指定を install.esd に変えるだけです(ただし環境により制約が出ることがあります)。

最終チェック:ここまでできれば「更新失敗ループ」から抜けやすい

作業後に、最低限次を確認してください。

チェック項目確認方法OK の目安
UEFI ブートが新 EFI を参照bcdedit /enum firmware{bootmgr} の device が新 EFI
WinRE が有効reagentc /infoStatus: Enabled
winre.wim の存在回復パーティションを一時マウントして確認\Recovery\WindowsRE\winre.wim がある
回復パーティションが1つに整理ディスクの管理/list partitionWinRE 用が1つで把握できる状態

ここまで整えば、更新プログラムが要求する “回復環境の作業領域” を確保でき、0x800f0922 の解消につながる可能性が高まります。

再発防止のコツ:回復パーティションが増えるのを避けるには

回復パーティションが複数になるのは、運用の癖でも起こりやすくなります。次を意識すると、将来の大型アップデートで同じ沼にハマりにくくなります。

  • Windows Update を長期間ため込まず、できる範囲で定期的に適用する(更新で回復領域が足りなくなる前に対処しやすい)
  • 回復パーティションは実務的に 500MB以上、可能なら 750MB〜1GB程度 を目安に確保しておく(将来の更新に余裕が出やすい)
  • パーティション操作の前に、ディスク番号・パーティション番号を紙に控える(コマンド入力の typo を防ぐ)
  • delete partition override を使う場面は、必ず “削除してよい根拠” を作ってから(bcdedit / reagentc で参照先確認)

特に、今回のような「EFI の作り直し+回復整理」は、手順そのものよりも 確認の順序 が成否を分けます。新 EFI を参照していることを確認→旧 EFI を削除、WinRE を無効化→回復を整理→拡張→WinRE を再登録 の順番を崩さないのが最大のコツです。

この記事を書いた人

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

コメント

コメントする

目次