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 /info | WinRE の参照先と有効/無効 | 残す回復パーティションの候補を絞る |
bcdedit /enum firmware | UEFI のブートマネージャ参照先 | 旧 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-bfd50179d6ac | WinRE 用の回復パーティションとして戻す |
例:不要な回復パーティションを削除し、残す回復パーティションを拡張する
以下は 例 です。あなたの環境の番号に置き換えてください。
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 /info | Status: Enabled |
| winre.wim の存在 | 回復パーティションを一時マウントして確認 | \Recovery\WindowsRE\winre.wim がある |
| 回復パーティションが1つに整理 | ディスクの管理/list partition | WinRE 用が1つで把握できる状態 |
ここまで整えば、更新プログラムが要求する “回復環境の作業領域” を確保でき、0x800f0922 の解消につながる可能性が高まります。
再発防止のコツ:回復パーティションが増えるのを避けるには
回復パーティションが複数になるのは、運用の癖でも起こりやすくなります。次を意識すると、将来の大型アップデートで同じ沼にハマりにくくなります。
- Windows Update を長期間ため込まず、できる範囲で定期的に適用する(更新で回復領域が足りなくなる前に対処しやすい)
- 回復パーティションは実務的に 500MB以上、可能なら 750MB〜1GB程度 を目安に確保しておく(将来の更新に余裕が出やすい)
- パーティション操作の前に、ディスク番号・パーティション番号を紙に控える(コマンド入力の typo を防ぐ)
delete partition overrideを使う場面は、必ず “削除してよい根拠” を作ってから(bcdedit/reagentcで参照先確認)
特に、今回のような「EFI の作り直し+回復整理」は、手順そのものよりも 確認の順序 が成否を分けます。新 EFI を参照していることを確認→旧 EFI を削除、WinRE を無効化→回復を整理→拡張→WinRE を再登録 の順番を崩さないのが最大のコツです。

コメント