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 ではない場合(複数ディスク構成など)は、diskpartlist 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 を再登録し、msinfo32diskpart で状態を確認

この流れを押さえておけば、「EFI システム パーティションの空き領域が見つかりません」「0x000036B7」などのエラーに振り回されることなく、スムーズに MBR から GPT への変換と UEFI ブートへの移行を行えるはずです。

これから mbr2gpt を使って MBR から GPT への移行を行う方は、まずはバックアップを確実に取りつつ、ここで紹介したオフライン実行ルートで落ち着いて作業を進めてみてください。

この記事を書いた人

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

コメント

コメントする

目次