mbr2gptで「Cannot find OS partition on disk 0」解決:OSとブートが別ディスクでもMBR→GPT変換してWindows 11へ移行する手順

mbr2gptで「Cannot find OS partition on disk 0」が出てMBR→GPT変換できない原因は、OS(C:)と「システム予約領域(System)」が別ディスクに分かれている構成にあります。再インストールを避けてWindows 11へ移行するための、安全な整理手順をまとめます。

目次

結論:mbr2gptは「OSとシステム(ブート)が同一ディスク」を前提にしている

今回の構成は、ディスク0=システム予約領域(System)、ディスク1=C:(Boot)という、いわゆる「ブート領域とOS領域が別の物理ディスク」状態です。この状態だと、mbr2gptが想定する整合(OSが入っているディスク上に、変換後のEFIシステムパーティションも作れて、そこから起動できる)が取れず、検証や変換が失敗しやすくなります。

そのため、最優先でやるべきはブートファイル(BCD等)をOSディスク側(C:があるディスク)へ寄せて「単独起動できる状態」に戻すことです。単独起動ができるようになれば、mbr2gptはディスク1を対象に通る可能性が大きく上がります。

まず混乱しやすい用語:「System」と「Boot」は“逆”に見える

Windowsの「ディスクの管理」に出る表示は、直感と逆に感じることがあります。ここを誤解すると、対応手順がズレます。

表示ラベル意味(ざっくり)今回の見え方重要ポイント
System(システム)起動に使うブートファイル/BCDがある場所ディスク0の「システム予約領域」ここが別ディスクだとmbr2gptがコケやすい
Boot(ブート)WindowsがインストールされているOSパーティションディスク1のC:“起動しているWindows本体”は基本ここ
Active(アクティブ)MBR/Legacy BIOSのブート対象としてマークされたパーティション多くは「システム予約領域」側がActiveC:を単独起動させるにはC:側をActiveにすることが多い

作業前の安全対策:ここを飛ばすと「復旧に時間が溶ける」

mbr2gpt自体は比較的安全な部類ですが、ブート構成を触る以上、失敗時に起動不能になる可能性はゼロではありません。再インストール回避のためにも、先に“戻れる状態”を作ってから進めてください。

  • 重要データのバックアップ(最低でもユーザーデータ、可能ならシステムイメージ)
  • BitLockerが有効なら「保護の一時停止」(変換後に戻す)
  • AC接続(ノートPCは特に)/可能ならUPS
  • 不要なUSBストレージを外す(起動順位やドライブ文字の混乱を減らす)
  • ディスクが「基本ディスク」か確認(ダイナミックはmbr2gpt非対応)
チェック項目確認方法OK条件NGなら
BIOSモードmsinfo32 →「BIOSモード」Legacy/UEFIどちらでも可(作業手順が変わる)後でUEFI切替できる機種か確認
ディスク種別ディスクの管理基本ディスクダイナミックなら基本に戻す検討
パーティション数ディスクの管理MBRは原則4つまで多すぎる場合、整理が必要
空き領域(変換用)mbr2gptはEFI/MSR作成が必要OSパーティション末尾に縮小余地200MB以上が目安縮小できないなら不要領域の整理

現状確認:OSがどのディスクで、ブートがどのディスクかを“確定”する

先に「思い込み」を排除します。ディスク番号(0/1)は環境により違うので、必ず自分のPCの実物を見て一致させてください。

ディスクの管理で見る(GUI)

  • C:(Boot)がどのディスクにあるか
  • 「システム予約領域」または「システム(System)」がどのディスクにあるか
  • それぞれのパーティションに「システム」「ブート」「アクティブ」が付いているか

diskpartで見る(CUI)

管理者のコマンドプロンプト(またはWindows Terminal 管理者)で実行します。

diskpart
list disk
list volume

ここで、C:が属するディスクと、System/Reservedが属するディスクが違うことを確認できるはずです。特に「C:がディスク1」「System予約がディスク0」のような分離があると、今回の症状になりやすいです。

対処の核心:ブートファイルをC:(OS側ディスク)へ移す(まずはMBR/Legacyのまま)

いきなりmbr2gptを叩くのではなく、先にOSディスクだけで起動できる状態へ戻します。ここが成功すると、mbr2gptのエラーは一気に減ります。

手順1:bcdbootでブートファイルをC:へ作り直す

管理者で以下を実行します。

bcdboot C:\Windows /s C: /f BIOS
  • bcdboot:WindowsのブートファイルとBCDストアを再作成するコマンド
  • /s C::ブートファイルを書き込むターゲット(今回はC:に寄せる)
  • /f BIOS:現時点がMBR/Legacy起動を想定(この段階ではUEFIにしない)

狙いは、「ディスク0のシステム予約領域にあった起動情報」を、ディスク1のC:側へ移植して、ディスク1単体でも起動できるようにすることです。

手順2:C:をアクティブに設定(MBRの場合のみ)

MBR/Legacy BIOSで起動している場合、起動対象は「アクティブ」パーティションです。C:を単独起動させるには、C:側をアクティブにする必要が出ることが多いです。

GUI(ディスクの管理)で可能なら、C:を右クリックして「アクティブ パーティションとしてマーク」を選びます。出ない場合はdiskpartで実施します。

diskpart
list disk
select disk 1
list partition
select partition X
active
exit

※どのパーティションがC:かを取り違えると危険です。list volumeでC:のボリューム番号を見てから辿るのが安全です。

手順3:再起動して「ディスク1から起動」できることを確認

  • UEFI/BIOS設定で起動順位(Boot Order)を見直し、OSがあるディスク(ディスク1)を優先する
  • 可能なら一時的にディスク0を外す/無効化して起動テスト(上級者向け、物理作業が不安なら無理にやらない)
  • Windowsが普通に起動するか、数回再起動して確認

ここで起動が不安定なら、mbr2gptに行く前に戻って、bcdbootのやり直しやアクティブ設定の再確認を行います。今回のエラー(Wrong boot partition count など)は、この段階の未整備が原因のことが多いです。

mbr2gptの検証と変換:ディスク1を対象に通す

単独起動が確認できたら、mbr2gptの本番へ進みます。おすすめはWindows回復環境(WinRE)からの実行ですが、難しければ/allowFullOSで通常起動中に実行する方法もあります。

検証(validate)

mbr2gpt /validate /disk:1 /allowFullOS

変換(convert)

mbr2gpt /convert /disk:1 /allowFullOS

ここでのポイントは次の通りです。

  • /disk:1は「物理ディスク番号」です。ディスクの管理やdiskpartで照合した番号を入れます。
  • mbr2gptは変換時に、基本的にEFIシステムパーティション(ESP)とMSRを作るための領域を確保します(環境によりサイズは前後)。
  • 検証で引っかかる場合は、出ているメッセージに対応して先に整備してから再度validateします。

変換後に必須:UEFI起動へ切り替える(ここが抜けると起動しない)

mbr2gptが成功しても、PCのファームウェア設定がLegacy/CSMのままだと、GPTディスクから起動できず詰みます。変換後は必ずUEFIへ切り替えます。

  • UEFI/BIOS設定でCSM/Legacyを無効(またはUEFI優先)
  • 起動項目にWindows Boot Managerが出ていればそれを最優先
  • 起動確認後、可能ならSecure Bootを有効化

Windowsが起動したら、ディスクの管理で対象ディスクに「EFIシステム パーティション」が作成されていることを確認します(おおむね100~300MB程度の表示になることが多いです)。

変換後の確認ポイント(“成功”を目で確かめる)

確認内容確認方法期待する状態違う場合の典型原因
BIOSモードmsinfo32UEFICSM/Legacyが有効のまま
Secure Bootmsinfo32有効(任意だが推奨)署名/設定の都合で無効、または未設定
EFIシステムパーティションディスクの管理EFIシステムパーティションが存在変換失敗/別ディスクを見ている
ブートパスbcdeditEFIのbootmgfw.efi系UEFI切替ができていない

エラー別:原因と対処を“最短距離”でつぶす

質問に出ている2つは、今回の構成で非常によく出る組み合わせです。再掲ではなく、実務的に「次に何を直すべきか」を整理します。

エラー起きていること対処の要点
Cannot find OS partition on disk 0disk 0にOSパーティションが見つからない(SystemはあるがWindows本体が別ディスク)ブートをOSディスクへ移して、mbr2gpt対象をOSディスクにする
Wrong boot partition count, expected 1 but found 0指定ディスク上に「起動として扱えるパーティション」が成立していないbcdbootでブート再作成 +(MBRなら)C:をアクティブ化 + 起動順位をOSディスクへ
Validation failed(パーティションが多い/変換用領域がない系)ESP/MSRを作る余地が確保できない、またはMBR制限に抵触不要パーティション削減、末尾の縮小、回復領域の整理を検討
BitLocker関連の警告/失敗暗号化保護がブート変更を邪魔する保護の一時停止→変換→起動確認→再有効化

WinRE(回復環境)でやる場合のコツ:ドライブ文字がズレるのが普通

WinREでmbr2gptやbcdbootをやると、WindowsがC:ではなくD:になっていることがよくあります。そこで迷子になりやすいので、WinREでの定番手順を載せます。

WinREでOSドライブを特定する

diskpart
list vol

“Windows”フォルダがあるボリュームを推測できない場合は、いったん終了して確認します。

exit
dir D:\Windows

dirでWindowsフォルダが見えたドライブ文字がOSです(例:D:)。

(起動修復が必要なとき)EFIパーティションに文字を割り当ててbcdboot

変換後に起動エントリがうまく作られない、またはブート修復が必要な場合は、EFIシステムパーティションに一時的にドライブ文字(例:S:)を付けてからbcdbootします。

diskpart
list vol
select vol X
assign letter=S
exit

bcdboot D:\Windows /s S: /f UEFI

この“UEFI用bcdboot”が通ると、UEFIのWindows Boot Managerが復活するケースが多いです。

「ディスク0のシステム予約領域」は消していい?安全に整理する考え方

結論から言うと、すぐ消さないのが安全です。変換直後は、UEFI設定・起動順・Windows Boot Managerの指定など、周辺要因で起動が左右されます。

  • まずは数回の再起動と通常利用で安定するか確認
  • UEFI/BIOSで起動先がWindows Boot Manager(対象ディスク)になっていることを確認
  • 安定したら、ディスク0をデータ用として再構成する(必要なら)

ディスク0をデータディスクにする場合、ディスクの管理で未使用領域としてまとめ直すのが一般的ですが、操作を誤るとデータを失います。目的が「Windows 11へ移行」なら、まずは起動が完全に安定してから後回しにするのが堅実です。

成功率を上げる“地味だけど効く”コツ

  • 変換対象以外の内蔵ディスクを一時的に外す/無効化できるなら有効(起動の取り違えが減る)
  • 作業前にストレージの健康状態を確認(不良セクタがあると縮小や変換でコケることがある)
  • Windows Update後の再起動を終えてから実施(保留中の更新があるとトラブル要因)
  • 変換前にmbr2gpt /validateを通し、エラー文を潰してから本番
  • BitLockerは「解除」ではなく一時停止を基本に(解除は時間がかかりやすい)

それでも綺麗に整合が取れない場合:クリーンインストールが“確実”になる条件

再インストール回避が目的でも、次のような条件が重なると、手当てに手間がかかりがちです。

  • 複数OSの痕跡があり、BCDが複雑(過去にデュアルブート等)
  • パーティション構成が過密で、EFI/MSR用の領域がどうしても作れない
  • ディスクがダイナミック、または特殊なベンダー領域が絡んでいる
  • 起動ディスク/OSディスクが頻繁に入れ替わった履歴がある

こうした場合は、データ退避→GPTで初期化→Windows 11をクリーンインストール→データ復元、が結果的に最短になることもあります。ただし本記事の手順で、「OSとブートを同一ディスクに揃える」だけで解決するケースが非常に多いので、まずはそこから試すのが現実的です。

コマンドまとめ(迷ったらここだけ見て順番通り)

目的コマンド実行場所補足
ブートをC:へ作成(Legacy/MBR)bcdboot C:\Windows /s C: /f BIOS通常起動(管理者)まず単独起動を作る
C:をアクティブ化(MBRのみ)diskpart select disk 1 select partition X active通常起動(管理者)対象取り違え注意
検証mbr2gpt /validate /disk:1 /allowFullOS通常起動 or WinRE通ってから本番
変換mbr2gpt /convert /disk:1 /allowFullOS通常起動 or WinRE完了後UEFIへ切替必須
UEFIブート修復(必要時)bcdboot D:\Windows /s S: /f UEFIWinREOS/EFIの文字は環境依存

まとめ:ポイントは「起動の主導権をOSディスクへ戻す」こと

mbr2gptの「Cannot find OS partition on disk 0」は、PCが壊れているというより、ブートが別ディスクに置かれている“構成問題”がほとんどです。bcdbootでブートをC:へ寄せ、(MBRなら)C:をアクティブ化し、OSディスクから単独起動できる状態を作ってからmbr2gptを実行すると、変換の成功率が大きく改善します。

変換後はUEFIへ切り替えが必須です。ここまで一連で通れば、GPT + UEFI構成になり、Windows 11要件(特にセキュアブート運用)にも寄せやすくなります。焦らず、validateで確認しながら進めるのが最短ルートです。

この記事を書いた人

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

コメント

コメントする

目次