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起動してるもん!ということは何かおかしいですね。
調べてみると同じ事象に遭遇している質問がありました。
一番最後の回答が参考になりそうなのでやってみます。
私の場合はこちらのサイトに載っている方法で変換できるようになりました。
Best Way to Fix “MBR2GPT Cannot Find OS Partition” in Windows 10Have 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翻訳を駆使して何とか解読しながら進めました。回復ドライブからコマンドプロンプトを起動しましょう。
追記 回復ドライブからコマンドプロンプトを起動させる
以下のサイトが写真付きで分かりやすかったです。
回復ドライブからコマンドプロンプトを起動させると標準で「X: \Sources>」になります。
コマンドプロンプトから操作する
簡単に書くと以下の手順になります。元サイトの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を実行しましょう!
私はこれで出来ました。とても長い道のりでした。複数のパソコンを対応する必要のある方は有料ソフトを使えば簡単にできるのでそちらをオススメします。
追記 コメントより>有料ソフトのGPT変換ではブートドライブ(パーティション)に対応していない可能性があるようです。使用には注意してください。
EaseUSはパーティション操作ソフトのためGPT変換が出来るようです。
HD革命はコピー、バックアップ時にGPTに変換しながらコピーできる仕様のようです。
コメント
色んなサイトを並列で閲覧しながら、なんだかんだでMBR2GPTが成功致しました。
成功してから再度各サイトを読み返してみると、
こちらのサイトの解説が一番ご親切だったとわかりました。
AOMEI様だと入れなくていいdiskが書いてあったり、
画像ではある文字、ない文字があったりと苦戦致しました。
新規PC購入まで古いPCの延命が出来そうなので、
M.2にwin11、従来のSATA SSDにwin10を入れて
不具合等見ながら対応したいと思います。
成功したようで良かったです。
自分で忘れてもやり直せるように丁寧に書いてみたのでコメントいただいてうれしいです!
おかげさまで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)
後は、このサイトの通りに進めることで、エラーを解消できました。
先人の方々には頭があがりません。ありがとうございました。
貴重な情報をありがとうございます!
パーティション数3つでもエラーになることがあるんですね。よく分かりませんね;;
「X: \Sources>」については確かに解説が不足していたと思います。私も最初はわかりませんでしたが回復ドライブからコマンドプロンプトを起動させるとデフォルトでXドライブになるみたいです。
皆さんのコメントでさらに情報が充実しています。
ありがとうございます。
MBR2GPTでエラー・・・・たくさんのサイト見つけてやってみましたが全滅でした
このページのおかげで 無事GPTに変換できました ヽ(^o^)丿
ありがとうございました 何日もかかりました・・・・
以前にWin7でダブルブートやってましてその残骸が残ってたってことでした
Win11にできそうです 新しくPC買ってeaseUS to do Backup
で引っ越ししました easeUS partition Masterも試しましたがGPTデータフォルダに
なってしまいます
ほんとにありがとうございました 一から引っ越ししなくて済みました
コメントありがとうございます。
私も難儀しながらやっと解決できたので皆さんのお役に立ててうれしいです!
NBR2GPTでエラー~>いろんなサイト見ても解決しなくて・・・
このページから見事できました ヽ(^o^)丿
Win7からのPCで 調子こいてダブルブートしてましてその名残が残ってたってことでした
ゴミファイル削除して GPTに変換できました 新しくPC買ったんですが丸ごと引っ越しで
以前のBootファイルが残ったままでWin11にできなくて何日もからかってました
有料のソフト買っても多分できなかったと思います
コメントありがとうございます。
知らないうちに溜まっているゴミファイルは厄介ですよね。
解決できたようで何よりです。
助かりました。ありがとうございます。このサイトを見つけるまで何日も悩みました。解りやすい説明感謝します。
コメントありがとうございます!
情報はたくさんありますが分かりにくいですよね…
私も悩みながら記事を書いてみたので、お役に立てたなら嬉しいです。
パーテーションが3つ以上あったため出来ませんでした。
このサイトのおかげでそれを知ることが出来、とても助かりました。
HDDの一つがGPTに出来ない状態ですが、解決できるよう頑張ってみます。
コメントありがとうございます!
GPT変換には、いろんな条件があるため分かりにくいですよね。
少しでもお役に立てたなら幸いです。
自分もMBR2GPTのエラーが治らなくてここのページを見て対応したら無事行けました。
ポイントはここに書いてある通りに
①【OSは初めからCドライブになっているので「システムで予約済み」のパーティションだけ設定】ここに書いてあるようにXドライブに割り付け。
②bcdedit /enum allで【device ramdisk=[unknown]~】を探す。
③あとは、コピーした【{(identifierを貼り付け)}】をペーストして、削除コマンド実行。
④全部ごみが削除されていればMBR2GPTが無事正常処理完了。
⑤あとはBIOSでBOOTモードをCSM→UEFIに変更してWINDOWSをブートできれば終了です。
WINDOWS11のチェックツールも無事OKとなりました。
わかりやすかったです。ありがとうございました。
コメントありがとうございます!
自分が悩みながらいろいろと調べてやっとたどり着いた結果なので、お役に立てたようで良かったです。
ポイントも書いていただいてありがとうございます!