mbr2gptで「EFIシステムパーティションの空き領域が見つかりません」エラーを解決する方法【Windows10/11】

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: 0x000036B7ESP 作成失敗、回復パーティションの並び・位置が悪い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 に起動してコマンドプロンプトを開く

  1. PC を再起動する
  2. 青い画面の「オプションの選択」が表示されたら、「トラブルシューティング」 を選択
  3. 続けて 「詳細オプション」 > 「コマンド プロンプト」 を選択

ここで起動したコマンドプロンプトは、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 の作成

  1. 現在使っている PC 上で、Microsoft 公式サイトから メディア作成ツール をダウンロード
  2. 8GB 以上の USB メモリを用意してツールを実行し、Windows インストール USB を作成

別 PC を用意する必要はありません。同じマシン上で作成し、そのまま再起動して USB からブートすれば OK です。

USB から起動して「コンピューターを修復する」を選択

  1. 作成したインストール USB を挿した状態で PC を再起動
  2. 起動時に F12 / F8 / F2 / Esc など、機種に応じたキーでブートメニューを開く
  3. 可能なら 「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 への移行を行う方は、まずはバックアップを確実に取りつつ、ここで紹介したオフライン実行ルートで落ち着いて作業を進めてみてください。

この記事を書いた人

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

コメント

コメントする

目次