Windows11の対応条件にストレージのパーティションテーブルがMBR(マスターブートレコード)ではなくGPT(GUIDパーティションテーブル)である必要があります。
私の環境ではOSの起動ストレージがMBRになっていたためGPTに変更しなければいけません。一番簡単な方法はストレージをフォーマットしてOSをクリーンインストールする方法ですが、環境の再構築が面倒なのでデータを保ったまま変更に挑戦してみました。
結局は上手くいかなかった原因究明と試行錯誤があり丸一日を費やしました。
各アプリのバックアップは定期的に取っているのでフォーマットして再構築したほうが良かったかもしれませんが、良い経験として記録を残しておきます。
※以降の説明画像は後からキャプチャしていることもあり、異なるストレージの情報が混在しています。要点以外は気にしないでください。
パーティションテーブルの確認方法
まずは自分のストレージがどうなっているか確認が必要です。Windowsマークを右クリックしてディスクの管理を開きましょう。

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

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

プロパティ画面のボリュームタブを開くと中央あたりにパーティションのスタイル:マスターブートレコード(MBR)とあります。つまりMBRなのです。
MBR2GPTの実行
GPTに変換が必要だということは分かったので次は変換ができるかどうかを調べます。
MBR2GPTの実行に必要な条件
コマンドプロンプトでMBR2GPTというコマンドを使いますが、こちらには使用要件があります。要件も満たしていないと変換できません。要件を含めた詳細な内容はMicrosoft公式で紹介されています。

要約して抜き出します。
- 現在、ディスクが MBR を使っていること
- MBR パーティション テーブルに最大 3 つまでのプライマリ パーティションがあること
- パーティションの 1 つがアクティブとして設定されているシステム パーティションであること
- ディスクには、拡張パーティションや論理パーティションがないこと
色々書いてありますが、特に重要そうなのがこの4点だと思いました。実際に私が該当したのがパーティション数でした。
やったこと①パーテイション削減
1ストレージに3パーティションより多いとダメです。

これがダメな例です。自分的には使用しているのはCとDの2パーティションだけですが、実際にはシステムで予約済みと回復パーティションもあるので4パーティションあります。
こういう時はデータ用のパーティションを一時的にパックアップに移して3つに収めるか回復パーティションを削除するしかないです。回復パーティションはUSBメモリで回復ドライブを作っておけば代用が利くので思い切って削除してみましょう。
回復パーティションの削除
回復パーティションは通常とは異なる方法で削除します。画像付きで分かりやすいブログがあったので紹介します。

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

これで条件はクリアしたのでMBR2GPTを実行してみましょう。ちなみにいろんなブログを見るとWindowsを起動してからコマンドプロンプトで実行している人が多いですが、システムディスクを触る都合上、回復ドライブからコマンドプロンプトを起動して実行したほうが良いです。
エラーに遭遇「 Disk layout validation failed for disk 0」
パーティション数をクリアしてもこのエラーが出る場合は、拡張・論理パーティションがあります。
こちらはデータを別ストレージにバックアップして該当パーティションを削除しましょう。
エラーに遭遇「Cannot find OS partition(s) for disk 0」
無事に条件をクリアできたかと思ったらなんとOSパーティションが見つからない様子。そんなわけない!OS起動してるもん!ということは何かおかしいですね。
調べてみると同じ事象に遭遇している質問がありました。

一番最後の回答が参考になりそうなのでやってみます。
私の場合はこちらのサイトに載っている方法で変換できるようになりました。
https://www.diskpart.com/gpt-mbr/mbr2gpt-cannot-find-os-partition-7201.html
Windowsのバージョンアップを行った際に残ったBCD構成ファイル内のゴミを削除しています。
https://answers.microsoft.com/ja-jp/windows/forum/all/cannot-find-os-partitions-for-disk/efb2f377-950e-4256-aced-477ee67c6cee
やったこと②ごみファイルの削除
リンク先は英語ばかりでしたが、Google翻訳を駆使して何とか解読しながら進めました。回復ドライブからコマンドプロンプトを起動しましょう。
コマンドプロンプトから操作する
簡単に書くと以下の手順になります。元サイトのStep○に対応するようにしたので見比べながらやってみてください。
- diskpartを使ってドライブ文字を決めます。
OSの入っているパーティションと「システムで予約済み」のパーティションで別の文字を割り当てます。
※OSは初めからCドライブになっているので「システムで予約済み」のパーティションだけ設定して読み替えて進めました。 - 「X: \Sources>dir /a (ドライブ文字): \」というコマンドで「Boot」フォルダを見つけます。
OSのパーティションとシステムで予約済みパーティションのどちらかにあります。 - 「Boot」フォルダを見つけたほうのパーティションで「X: \Sources>dir /a (ドライブ文字): \Boot」を実行し「bcdedit」ツールを見つけましょう。
- 「X: \Sources>bcdedit /store (ドライブ文字):\boot\bcd /enum all」を実行すると「device ramdisk=[unknown]~」になっているものが見つかります。これがゴミファイルです。
「identifier」の長い文字列をコピーしましょう。 - ごみファイルを削除します。「X:\Sources>bcdedit /store (ドライブ文字):\boot\bcd /delete {(identifierを貼り付け)}」を実行して削除します。
- 再度Step.4を実行して他にごみファイルがないか探します。なければ完了!MBR2GPTを実行しましょう!
私はこれで出来ました。とても長い道のりでした。複数のパソコンを対応する必要のある方は有料ソフトを使えば簡単にできるのでそちらをオススメします。
EaseUSはパーティション操作ソフトのためGPT変換が出来るようです。
HD革命はコピー、バックアップ時にGPTに変換しながらコピーできる仕様のようです。
コメント
助かりました。ありがとうございます。このサイトを見つけるまで何日も悩みました。解りやすい説明感謝します。
コメントありがとうございます!
情報はたくさんありますが分かりにくいですよね…
私も悩みながら記事を書いてみたので、お役に立てたなら嬉しいです。
パーテーションが3つ以上あったため出来ませんでした。
このサイトのおかげでそれを知ることが出来、とても助かりました。
HDDの一つがGPTに出来ない状態ですが、解決できるよう頑張ってみます。
コメントありがとうございます!
GPT変換には、いろんな条件があるため分かりにくいですよね。
少しでもお役に立てたなら幸いです。
自分もMBR2GPTのエラーが治らなくてここのページを見て対応したら無事行けました。
ポイントはここに書いてある通りに
①【OSは初めからCドライブになっているので「システムで予約済み」のパーティションだけ設定】ここに書いてあるようにXドライブに割り付け。
②bcdedit /enum allで【device ramdisk=[unknown]~】を探す。
③あとは、コピーした【{(identifierを貼り付け)}】をペーストして、削除コマンド実行。
④全部ごみが削除されていればMBR2GPTが無事正常処理完了。
⑤あとはBIOSでBOOTモードをCSM→UEFIに変更してWINDOWSをブートできれば終了です。
WINDOWS11のチェックツールも無事OKとなりました。
わかりやすかったです。ありがとうございました。
コメントありがとうございます!
自分が悩みながらいろいろと調べてやっとたどり着いた結果なので、お役に立てたようで良かったです。
ポイントも書いていただいてありがとうございます!