MBR2GPTが失敗する!私の対策はこれだ!

PC

Windows11の対応条件にストレージのパーティションテーブルがMBR(マスターブートレコード)ではなくGPT(GUIDパーティションテーブル)である必要があります。

私の環境ではOSの起動ストレージがMBRになっていたためGPTに変更しなければいけません。一番簡単な方法はストレージをフォーマットしてOSをクリーンインストールする方法ですが、環境の再構築が面倒なのでデータを保ったまま変更に挑戦してみました。

結局は上手くいかなかった原因究明と試行錯誤があり丸一日を費やしました。

各アプリのバックアップは定期的に取っているのでフォーマットして再構築したほうが良かったかもしれませんが、良い経験として記録を残しておきます。

※以降の説明画像は後からキャプチャしていることもあり、異なるストレージの情報が混在しています。要点以外は気にしないでください。

スポンサーリンク

パーティションテーブルの確認方法

まずは自分のストレージがどうなっているか確認が必要です。Windowsマークを右クリックしてディスクの管理を開きましょう。

ディスクの管理画面が開くので調査したいストレージを右クリックしてプロパティを選択します。

実はここですでに分かるんですが…。灰色で選択できませんが「GPTディスクに変換」という文字が見えます。ということは今はMBRということになりますが、念のためプロパティ画面でも確認してみます。

プロパティ画面のボリュームタブを開くと中央あたりにパーティションのスタイル:マスターブートレコード(MBR)とあります。つまりMBRなのです。

MBR2GPTの実行

GPTに変換が必要だということは分かったので次は変換ができるかどうかを調べます。

MBR2GPTの実行に必要な条件

コマンドプロンプトでMBR2GPTというコマンドを使いますが、こちらには使用要件があります。要件も満たしていないと変換できません。要件を含めた詳細な内容はMicrosoft公式で紹介されています。

MBR2GPT - Windows Deployment
MBR2GPT.EXE を使用して、ディスク上のデータを変更または削除せずに、ディスクをマスター ブート レコード (MBR) から GUID パーティション テーブル (GPT) パーティション スタイルに変換します。

要約して抜き出します。

  • 現在、ディスクが MBR を使っていること
  • MBR パーティション テーブルに最大 3 つまでのプライマリ パーティションがあること
  • パーティションの 1 つがアクティブとして設定されているシステム パーティションであること
  • ディスクには、拡張パーティション論理パーティションないこと

色々書いてありますが、特に重要そうなのがこの4点だと思いました。実際に私が該当したのがパーティション数でした。

やったこと①パーテイション削減

1ストレージに3パーティションより多いとダメです。

これがダメな例です。自分的には使用しているのはCとDの2パーティションだけですが、実際にはシステムで予約済みと回復パーティションもあるので4パーティションあります。

こういう時はデータ用のパーティションを一時的にパックアップに移して3つに収めるか回復パーティションを削除するしかないです。回復パーティションはUSBメモリで回復ドライブを作っておけば代用が利くので思い切って削除してみましょう。

回復パーティションの削除

回復パーティションは通常とは異なる方法で削除します。画像付きで分かりやすいブログがあったので紹介します。

Windows 10 - 回復パーティションを削除(DiskPart)する方法
Windows 10 の回復パーティションを削除する方法を紹介します。 回復パーティションとは、Windowsシステムを「工場出荷」「以前のバージョン」……といった特定の状態へ戻すためのデータを保存しているパーティション

回復ドライブの作り方

回復パーティションを削除したら、いざというときのために代わりとなる回復ドライブを作っておきましょう。

Windows 11/10 - 回復ドライブの作成と使い方(USBメモリ)
Windows 11/10 の回復ドライブの作成と使い方を紹介します。 回復ドライブを作成しておけば、Windowsのスタートアップ修復でも回復できず、PCを起動できない場合でもPCをリセットしたり、問題のトラブルシュー

これで条件はクリアしたのでMBR2GPTを実行してみましょう。ちなみにいろんなブログを見るとWindowsを起動してからコマンドプロンプトで実行している人が多いですが、システムディスクを触る都合上、回復ドライブからコマンドプロンプトを起動して実行したほうが良いです。

エラーに遭遇「 Disk layout validation failed for disk 0」

パーティション数をクリアしてもこのエラーが出る場合は、拡張・論理パーティションがあります。

こちらはデータを別ストレージにバックアップして該当パーティションを削除しましょう。

エラーに遭遇「Cannot find OS partition(s) for disk 0」

無事に条件をクリアできたかと思ったらなんとOSパーティションが見つからない様子。そんなわけない!OS起動してるもん!ということは何かおかしいですね。

調べてみると同じ事象に遭遇している質問がありました。

Redirecting

一番最後の回答が参考になりそうなのでやってみます。

私の場合はこちらのサイトに載っている方法で変換できるようになりました。

Best Way to Fix “MBR2GPT Cannot Find OS Partition” in Windows 10
Have you ever met the “MBR2GPT cannot find OS partition” error message when trying to convert boot disk to GPT? Here com...

Windowsのバージョンアップを行った際に残ったBCD構成ファイル内のゴミを削除しています。

https://answers.microsoft.com/ja-jp/windows/forum/all/cannot-find-os-partitions-for-disk/efb2f377-950e-4256-aced-477ee67c6cee

やったこと②ごみファイルの削除

リンク先は英語ばかりでしたが、Google翻訳を駆使して何とか解読しながら進めました。回復ドライブからコマンドプロンプトを起動しましょう。

Best Way to Fix “MBR2GPT Cannot Find OS Partition” in Windows 10
Have you ever met the “MBR2GPT cannot find OS partition” error message when trying to convert boot disk to GPT? Here com...

追記 回復ドライブからコマンドプロンプトを起動させる

以下のサイトが写真付きで分かりやすかったです。

回復ドライブからコマンドプロンプトを起動させると標準で「X: \Sources>」になります。

Windows 10 回復ドライブを起動してパソコンを初期化する手順
パソコンにトラブルが起こったり、プログラムの劣化による動作不良などの理由から、パソコンを購入時の状態へ初期化しなければならない時に使う「回復ドライブ」。今回は、作成した回復ドライブ(USBメモリ)を起動して、パソコンを購入時と同じ状態へ初期...

コマンドプロンプトから操作する

簡単に書くと以下の手順になります。元サイトのStep○に対応するようにしたので見比べながらやってみてください。

  1. diskpartを使ってドライブ文字を決めます。
    OSの入っているパーティションと「システムで予約済み」のパーティションで別の文字を割り当てます。
    ※OSは初めからCドライブになっているので「システムで予約済み」のパーティションだけ設定して読み替えて進めました。
  2. 「X: \Sources>dir /a (ドライブ文字): \」というコマンドで「Boot」フォルダを見つけます。
    OSのパーティションとシステムで予約済みパーティションのどちらかにあります。
  3. 「Boot」フォルダを見つけたほうのパーティションで「X: \Sources>dir /a (ドライブ文字): \Boot」を実行し「bcdedit」ツールを見つけましょう。
  4. 「X: \Sources>bcdedit /store (ドライブ文字):\boot\bcd /enum all」を実行すると「device ramdisk=[unknown]~」になっているものが見つかります。これがゴミファイルです。
    「identifier」の長い文字列をコピーしましょう。
  5. ごみファイルを削除します。「X:\Sources>bcdedit /store (ドライブ文字):\boot\bcd /delete {(identifierを貼り付け)}」を実行して削除します。
  6. 再度Step.4を実行して他にごみファイルがないか探します。なければ完了!MBR2GPTを実行しましょう!

私はこれで出来ました。とても長い道のりでした。複数のパソコンを対応する必要のある方は有料ソフトを使えば簡単にできるのでそちらをオススメします。

追記 コメントより>有料ソフトのGPT変換ではブートドライブ(パーティション)に対応していない可能性があるようです。使用には注意してください。

EaseUSはパーティション操作ソフトのためGPT変換が出来るようです。

HD革命はコピー、バックアップ時にGPTに変換しながらコピーできる仕様のようです。

コメント

  1. 2023年なっていまさらwin11に変えるやつ より:

    おかげさまでBR2GPTのエラーが直りました。
    ありがとうございます。

    win7から使っている方々は結構苦しんでいると思います。
    最後に辿り着く場所がここだと思いますので、私のエラー履歴を残しておきます。

    MBR2GPTの最初のエラー
    Disk layout validation failed for disk 0
    パーティションが4以上あることが原因とされていますが、私は3つ(システムで予約済、C、回復ドライブ)で出ました。どうもこうもわからず
    USBに回復ドライブ作成していたので、なくても問題ないと考えて怒りに任せて回復パーティションを削除してパーティションを2つにしてMBR2GPTを実行。そしたら次のエラーに進めました。

    次のエラー
    Cannot find OS partition(s) for disk 0
    このサイトを見ながら修正すればokです。
    *このサイトで紹介されているAOMEIのサイトは日本語訳されたものがありました。
    (https://www.diskpart.com/jp/gpt-mbr/mbr2gpt-cannot-find-os-partition.html)

    ただ、進めていく中で私みたいな取説がないとわからない素人には「X: \Sources>」をどうだすのかわかりませんでした。

    正しいかはわかりませんが、USBに起動メディアを作成して、
    (起動メディア作成方法参考https://www.lifeboat.jp/newblog2/?p=10043)
    起動して(起動方法参考https://4ddig.tenorshare.com/jp/windows-fix/how-to-change-boot-drive-windows-10.html)
    後は、このサイトの通りに進めることで、エラーを解消できました。

    先人の方々には頭があがりません。ありがとうございました。

    • auviw より:

      貴重な情報をありがとうございます!
      パーティション数3つでもエラーになることがあるんですね。よく分かりませんね;;
      「X: \Sources>」については確かに解説が不足していたと思います。私も最初はわかりませんでしたが回復ドライブからコマンドプロンプトを起動させるとデフォルトでXドライブになるみたいです。

      皆さんのコメントでさらに情報が充実しています。
      ありがとうございます。

  2. こばやし より:

    MBR2GPTでエラー・・・・たくさんのサイト見つけてやってみましたが全滅でした
    このページのおかげで 無事GPTに変換できました ヽ(^o^)丿
    ありがとうございました 何日もかかりました・・・・
    以前にWin7でダブルブートやってましてその残骸が残ってたってことでした
    Win11にできそうです 新しくPC買ってeaseUS to do Backup
    で引っ越ししました easeUS partition Masterも試しましたがGPTデータフォルダに
    なってしまいます
    ほんとにありがとうございました 一から引っ越ししなくて済みました

    • auviw より:

      コメントありがとうございます。
      私も難儀しながらやっと解決できたので皆さんのお役に立ててうれしいです!

  3. 匿名 より:

    NBR2GPTでエラー~>いろんなサイト見ても解決しなくて・・・
    このページから見事できました ヽ(^o^)丿
    Win7からのPCで 調子こいてダブルブートしてましてその名残が残ってたってことでした
    ゴミファイル削除して GPTに変換できました 新しくPC買ったんですが丸ごと引っ越しで
    以前のBootファイルが残ったままでWin11にできなくて何日もからかってました
    有料のソフト買っても多分できなかったと思います

    • auviw より:

      コメントありがとうございます。
      知らないうちに溜まっているゴミファイルは厄介ですよね。
      解決できたようで何よりです。

  4. Yoshibu309 より:

    助かりました。ありがとうございます。このサイトを見つけるまで何日も悩みました。解りやすい説明感謝します。

    • auviw より:

      コメントありがとうございます!
      情報はたくさんありますが分かりにくいですよね…
      私も悩みながら記事を書いてみたので、お役に立てたなら嬉しいです。

  5. Taxi より:

    パーテーションが3つ以上あったため出来ませんでした。
    このサイトのおかげでそれを知ることが出来、とても助かりました。
    HDDの一つがGPTに出来ない状態ですが、解決できるよう頑張ってみます。

    • auviw より:

      コメントありがとうございます!
      GPT変換には、いろんな条件があるため分かりにくいですよね。
      少しでもお役に立てたなら幸いです。

  6. TAV より:

    自分もMBR2GPTのエラーが治らなくてここのページを見て対応したら無事行けました。
    ポイントはここに書いてある通りに
    ①【OSは初めからCドライブになっているので「システムで予約済み」のパーティションだけ設定】ここに書いてあるようにXドライブに割り付け。
    ②bcdedit /enum allで【device ramdisk=[unknown]~】を探す。
    ③あとは、コピーした【{(identifierを貼り付け)}】をペーストして、削除コマンド実行。
    ④全部ごみが削除されていればMBR2GPTが無事正常処理完了。
    ⑤あとはBIOSでBOOTモードをCSM→UEFIに変更してWINDOWSをブートできれば終了です。
    WINDOWS11のチェックツールも無事OKとなりました。
    わかりやすかったです。ありがとうございました。

    • auviw より:

      コメントありがとうございます!
      自分が悩みながらいろいろと調べてやっとたどり着いた結果なので、お役に立てたようで良かったです。
      ポイントも書いていただいてありがとうございます!

タイトルとURLをコピーしました