MBR ディスクを GPT に変換しようとして mbr2gpt を実行したら、「Cannot find room for the EFI system partition.」と表示されて先に進めない…。Windows 10/11 のレガシ BIOS 環境から UEFI 環境に切り替える際に、実際に多くの人がつまずくポイントです。本記事ではこのエラーの原因と、データを残したまま安全に解決するための具体的な手順を、スクリーンショットなしでも再現できるレベルで詳しく解説します。
mbr2gpt 変換時の「EFI システム パーティションの空き領域が見つかりません」エラーとは
mbr2gpt で MBR ディスクを GPT に変換しようとすると、次のようなエラーメッセージが表示されることがあります。
Cannot find room for the EFI system partition.
Cannot create EFI system partition. Error: 0x000036B7
日本語にすると「EFI システム パーティションのための空き領域が見つかりません」「EFI システム パーティションを作成できません」といった意味で、mbr2gpt が GPT への変換中に ESP(EFI システム パーティション)を作るための連続した空き領域を確保できなかった ことを示しています。
実際のディスク管理画面では、ディスク末尾に未割り当て領域が存在していても、このエラーが出るケースが多く、ユーザーを混乱させます。「未割り当てはあるのに、なぜ ‘空き領域がない’ と言われるのか?」というのが、最初の疑問になるはずです。
そもそも mbr2gpt と EFI システム パーティション(ESP)とは
mbr2gpt の役割
mbr2gpt.exe は、Windows 10 / Windows 11 に標準で含まれているコマンドラインツールで、既存の MBR ディスクを、データを残したまま GPT ディスクへ変換する ために用意されています。通常は OS を再インストールせずに、レガシ BIOS から UEFI ブートへ移行したい場合に使われます。
mbr2gpt のやることを、ざっくり整理すると次のとおりです。
- MBR パーティション構造を解析し、GPT に変換可能かチェックする
- 必要であれば C ドライブ末尾を自動で縮小 し、新たに ESP(EFI システム パーティション)を作成する
- BCD(ブート構成データ)を UEFI 用に書き換える
このうち今回問題になるのは、2つめの「ESP 用の連続した空き領域を確保できるか」という部分です。
EFI システム パーティション(ESP)の役割
UEFI ブートでは、従来の「システム予約領域」ではなく、EFI システム パーティション(ESP) 上にあるブートローダーから OS が起動します。ESP は通常、次のような特徴を持ちます。
- サイズ:おおむね 100〜300MB 程度(環境による)
- ファイルシステム:FAT32
- 内容:Windows のブートローダーやブートマネージャー、場合によっては他 OS のブートファイル
mbr2gpt は、MBR から GPT への変換時に、この ESP を新たに作成しようとします。その際に「連続した空き領域がない」「移動できないパーティションが邪魔」といった事情があると、今回のようなエラーになります。
エラーの本当の原因を整理する
ユーザー側からは「未割り当て領域もあるし、デフラグもした。それでも ‘空き領域がない’ と言われる」と感じるかもしれません。しかし、mbr2gpt が見ているのは単なる“総空き容量”ではなく、「ESP を確保できるだけの、連続した・移動可能な空き領域」 です。
/allowFullOS での実行による制限
mbr2gpt には /allowFullOS オプションがあり、これを付けると Windows を起動したまま変換を試みることができます。しかし、/allowFullOS には大きな落とし穴があります。
- 起動中の Windows からは、システムドライブ(通常 C:)の自動縮小に制限がかかる
- その結果、mbr2gpt が ESP 用に必要な連続空き領域をうまく確保できず、
Cannot find room for the EFI system partition.が発生しやすい
つまり、/allowFullOS を付けている時点で、成功率を自分で下げている と言っても過言ではありません。
回復パーティションや未割り当て領域の位置
ディスクの末尾に未割り当て領域があっても、次のようなケースでは mbr2gpt は ESP を作成できません。
- 未割り当て領域が C ドライブから離れている(別の回復パーティションなどを挟んでいる)
- 回復パーティションなど、移動不可のパーティションが C の直後に存在している
- ディスク先頭側にだけ隙間があり、mbr2gpt が想定する位置に ESP を置けない
mbr2gpt はディスクを“大幅に並べ替える”ツールではなく、基本的には現在のパーティション構造を尊重しながら、最小限の変更で GPT 化を行います。そのため、「この位置にしか ESP を置けない」という制約があり、そこに連続した空き領域がないとエラーになります。
WinRE 無効化の影響
Windows 回復環境(WinRE)が無効になっていると、OS を停止した状態(オフライン)で mbr2gpt を実行するルートに入りにくい という問題が出ます。
WinRE 無効時は、mbr2gpt を実行する際に「とりあえず /allowFullOS を付けてやってみる」という流れになりがちです。しかし前述のように、/allowFullOS での実行は ESP 作成エラーを招きやすく、遠回りになります。
症状と原因を対応づけた早見表
| 症状 | 主な原因の候補 | 対処の方向性 |
|---|---|---|
| 「Cannot find room for the EFI system partition.」 | /allowFullOS で実行、C: の自動縮小不可、ESP を置く場所に連続空き領域がない | WinRE またはインストール USB からオフライン実行させる |
| Error: 0x000036B7 | ESP 作成失敗、回復パーティションの並び・位置が悪い | C を一旦拡張し直してからオフライン実行、必要に応じて構成を見直す |
| 変換後に「Failed to update ReAgent.xml」 | WinRE 設定の更新に失敗 | Windows 起動後に reagentc /enable で回復環境を再登録 |
最短ルートの結論:オフラインで mbr2gpt を実行する
ここまでの内容を踏まえた結論は、とてもシンプルです。
「Windows を停止した環境(WinRE またはインストール USB の『コンピューターを修復する』)から mbr2gpt を実行する」
これにより、mbr2gpt が C ドライブを自動縮小して ESP を切り出しやすくなり、/allowFullOS で発生していた領域不足の問題を回避できます。
作業前の共通注意事項
- 必ず重要データのバックアップを取得する(外付け HDD / SSD やクラウドなど)
- BitLocker を利用している場合は、事前に一時停止または無効化しておく
- ノート PC は必ず AC アダプタを接続し、途中でバッテリー切れにならないようにする
- 変換後、BIOS 設定を「UEFI モード」に切り替える作業が必要になる
手順A:WinRE から mbr2gpt をオフライン実行する(推奨ルート)
WinRE を有効化する
まずは Windows 上から WinRE(Windows 回復環境)を有効化し、そこへブートする準備をします。管理者権限のコマンドプロンプトを開き、次のコマンドを実行します。
reagentc /enable
reagentc /info rem 有効・場所を確認(任意)
reagentc /boottore rem 次回起動で回復環境にブート
reagentc /info は必須ではありませんが、WinRE の状態や配置場所を確認したい場合に実行しておくと安心です。
WinRE に起動してコマンドプロンプトを開く
- PC を再起動する
- 青い画面の「オプションの選択」が表示されたら、「トラブルシューティング」 を選択
- 続けて 「詳細オプション」 > 「コマンド プロンプト」 を選択
ここで起動したコマンドプロンプトは、Windows 本体が停止した「オフライン」の状態なので、C ドライブの縮小やパーティション操作に関する制限が大きく緩和されます。
mbr2gpt をオフラインで実行する
WinRE 上のコマンドプロンプトで、以下のコマンドを実行します。ここではシステムディスクが Disk 0 の想定です。
mbr2gpt /validate /disk:0
mbr2gpt /convert /disk:0
/validate で事前チェックを行い、問題なければ /convert で実際の変換を行います。ここでは /allowFullOS は付けません。オフライン環境のため、その必要がないからです。
ディスク番号が 0 ではない場合(複数ディスク構成など)は、diskpart の list disk 等でシステムディスク番号を確認してから、/disk: の値を読み替えてください。
UEFI ブートに切り替える
mbr2gpt が正常終了したら、PC をいったんシャットダウンし、ファームウェア設定(BIOS/UEFI セットアップ)に入ります。
- 起動モードを 「UEFI」 に変更する
- CSM(互換モード)が有効なら、無効化する
- Secure Boot は環境に応じて、有効化または後で有効化
設定を保存して再起動し、Windows が通常通り起動すればひとまず成功です。
WinRE を再度有効化する(ReAgent.xml エラー対策)
mbr2gpt 実行ログの最後に 「Failed to update ReAgent.xml」 といったメッセージが出ることがあります。これは回復環境の構成ファイル更新に失敗しただけで、起動に致命的ではありません。
Windows 起動後、管理者コマンドプロンプトで次のコマンドを実行すれば、多くのケースで復旧します。
reagentc /enable
これで WinRE も再び利用できるようになります。
手順B:WinRE に入れない/パスワードが通らない場合(インストール USB を利用)
何らかの理由で WinRE に入れない、または回復環境でのユーザー認証に失敗してしまう場合は、Windows インストール USB の「コンピューターを修復する」機能を使うのが近道です。
インストール USB の作成
- 現在使っている PC 上で、Microsoft 公式サイトから メディア作成ツール をダウンロード
- 8GB 以上の USB メモリを用意してツールを実行し、Windows インストール USB を作成
別 PC を用意する必要はありません。同じマシン上で作成し、そのまま再起動して USB からブートすれば OK です。
USB から起動して「コンピューターを修復する」を選択
- 作成したインストール USB を挿した状態で PC を再起動
- 起動時に F12 / F8 / F2 / Esc など、機種に応じたキーでブートメニューを開く
- 可能なら 「UEFI: USB名」 を選択(無ければ通常の「USB: USB名」でも mbr2gpt 実行自体は可能)
セットアップ画面が表示されたら、「今すぐインストール」ではなく「コンピューターを修復する」 を選びます。その後、
- 「トラブルシューティング」
- 「詳細オプション」
- 「コマンド プロンプト」
と進めば、手順Aと同様のオフラインのコマンドプロンプトにたどり着きます。
mbr2gpt を実行する
以降は WinRE のときと同じ要領で実行します。
mbr2gpt /validate /disk:0
mbr2gpt /convert /disk:0
変換が完了したら、PC をシャットダウンし、BIOS 設定で UEFI モードに切り替えます。その後は Windows を起動し、必要であれば reagentc /enable で WinRE を再度有効化します。
「未割り当て領域は C に戻しておいた方がうまくいく」理由
多くの解説では「事前に未割り当て領域を作っておく」と説明されることがありますが、実際のトラブル事例を見ると、むしろ C ドライブに全部戻してから mbr2gpt に任せた方が成功しやすい ケースが少なくありません。
その理由はシンプルで、
- mbr2gpt は 「C ドライブを自動縮小して ESP を捻出する」 ロジックを持っている
- 中途半端な未割り当てがあると、想定している位置に ESP を作れなくなる ことがある
特にオフライン環境から実行する場合、mbr2gpt は比較的自由に C を縮小できます。そのため、あらかじめ未割り当てを用意するのではなく、逆に C に吸収して 1 本化しておく ことで、連続空き領域を確保しやすくなります。
よくあるつまずき別の対処メモ
0x000036B7 / ESP 作成失敗時の対処
mbr2gpt の実行ログの最後に 「Cannot create EFI system partition. Error: 0x000036B7」 と出る場合、ESP の作成に失敗しています。対処のポイントは次のとおりです。
- まず /allowFullOS を使わず、WinRE またはインストール USB からのオフライン実行に切り替える
- C ドライブを事前に縮小するのではなく、いったん C に拡張してひとつにまとめる
- そのうえで再度
mbr2gpt /convert /disk:0を実行する
それでもダメな場合は、C ドライブの末尾にある回復パーティションなど、パーティションの並びを確認する必要があります。ただし、回復パーティションの削除は最終手段 とし、安易に消さないよう注意してください。
回復パーティションが邪魔な場合
ディスク構成によっては、C ドライブのすぐ後ろに回復パーティションがあり、そのさらに後ろに未割り当て領域がある、というパターンがあります。この場合、mbr2gpt は C の後ろに ESP を作りたいのに、回復パーティションが挟まっているため失敗してしまうことがあります。
オフライン実行時であれば、
- C を一旦拡張して、未割り当てを吸収する
- それでもダメな場合は、DiskPart 等で回復パーティションの位置を調整する
といった対応がありますが、作業難度が上がるため、まずは「C に未割り当てを戻す + オフライン実行」だけで解決できないか を試すとよいでしょう。
WinRE でパスワードを求められて入れない
WinRE 上のコマンドプロンプトを開く際に、ユーザーアカウントのパスワード入力を求められ、それがどうしても通らないケースがあります。ここでつまずいた場合でも、インストール USB からの「コンピューターを修復する」経由であれば、パスワード入力を回避してコマンドプロンプトに入れる ことが多いです。
そのため、パスワード周りで行き詰まったら、素直に手順B(インストール USB ルート)に切り替えた方が早く、ストレスも少なく済みます。
どの USB ブート項目を選べばよいか
ブートメニューに次のような選択肢が並ぶことがあります。
- UEFI: USB 名
- USB: USB 名
インストール USB から mbr2gpt を実行するだけなら、どちらから起動しても構いません。ただし、最終的に UEFI モードで起動したい ので、可能なら 「UEFI: USB 名」 を選ぶのがおすすめです。
mbr2gpt 実行後の確認ポイント
mbr2gpt による変換が完了し、BIOS 設定で UEFI モードに切り替えたら、Windows 上でいくつか確認を行っておきましょう。
BIOS モードが UEFI になっているか
Windows 上で msinfo32 を実行し、システム情報を開きます。「システムの概要」の中にある 「BIOS モード」 が 「UEFI」 になっていれば OK です。
ディスクが GPT として認識されているか
管理者コマンドプロンプトで diskpart を開き、次のように入力します。
diskpart
list disk
システムディスク(通常は Disk 0)の GPT 列にアスタリスク(*)が表示されていれば、GPT ディスクとして認識されています。
回復環境(WinRE)が有効かどうか
最後に、WinRE の状態も確認しておきます。
reagentc /info
ここで 「Windows RE の状態: 有効」 となっていなければ、
reagentc /enable
を実行して再度 /info を確認します。これで、mbr2gpt 変換後も回復環境を利用できる状態に戻せます。
実行環境別の比較(オンライン vs オフライン)
最後に、/allowFullOS でのオンライン実行と、WinRE / USB からのオフライン実行の違いを整理しておきます。
| 項目 | オンライン(/allowFullOS) | オフライン(WinRE / USB) |
|---|---|---|
| C ドライブ自動縮小 | 制限が多く、失敗しやすい | 制限が少なく、成功しやすい |
| ESP 用の空き領域確保 | 「Cannot find room…」が出やすい | 多くのケースで自動確保に成功 |
| 作業手順 | コマンド実行は簡単だが、エラー対応が複雑 | ブートメニュー操作が必要だが、成功率が高い |
| トラブルシューティングのしやすさ | ログ解析や追加操作が増えがち | 「まずオフラインで」という鉄板手順に集約できる |
安定した運用を考えると、mbr2gpt は最初から オフライン環境で実行することを前提 にしておく方が、結果的に時間と手間の節約になります。
まとめ:最短で「EFI 領域が確保できない」問題を抜けるコツ
mbr2gpt 実行時の
Cannot find room for the EFI system partition.Cannot create EFI system partition. Error: 0x000036B7
といったエラーは、一見するとディスクの総空き容量が原因のように見えますが、実際には 「ESP を作るべき位置に、十分な連続・移動可能な空き領域がない」 ことが真の原因です。
その解決の最短ルートをもう一度整理すると、次のようになります。
- 未割り当て領域は C に拡張して戻し、C を一本化しておく
- WinRE またはインストール USB の『コンピューターを修復する』からコマンドプロンプトを開く
- /allowFullOS を使わず、オフライン環境で
mbr2gpt /validate /disk:0→/convertを実行 - 変換後、BIOS 設定で ブートモードを UEFI に変更
- Windows 起動後に
reagentc /enableで WinRE を再登録し、msinfo32やdiskpartで状態を確認
この流れを押さえておけば、「EFI システム パーティションの空き領域が見つかりません」「0x000036B7」などのエラーに振り回されることなく、スムーズに MBR から GPT への変換と UEFI ブートへの移行を行えるはずです。
これから mbr2gpt を使って MBR から GPT への移行を行う方は、まずはバックアップを確実に取りつつ、ここで紹介したオフライン実行ルートで落ち着いて作業を進めてみてください。

コメント