MBR→GPT変換に関する備忘録

私も御多分に漏れずWindows11へアップデートの際、ブートドライブがMBR(マスターブートレコード)のままレガシBIOSで立ち上がるPCを何とかUEFIモードに出来ないか模索していた。
その中で気づいた事について記録しておきたい。

「知っていたらこの記事が分かりやすくなる事」
①レガシBIOSを使っている=ブートドライブはMBRである。
②UEFIモードを使うにはGPTにする必要がある。
③mbr2gpt.exeを使用する場合はブートドライブのパーティション数限界は3である。なので4以上の場合、どこかのパーティションをフォーマットして未割り当て領域にし、他のパーティションと結合させる必要がある。
④パーティションを結合させる(拡張させる)には当該パーティションと未割り当て領域が隣同士になっている必要がある。

結論を言ってしまうと自分の環境ではmbr2gptは使い物にならなかった。
最初はパーティションエラーで「disk layout validation failed」を吐いた。
PowerShellで mbr2gpt /validate /disk:0 /allowFULLOS でGPTに出来るか検証するのだが、まずはここでつまずいた。様々な記事をネットで探してゆくうちに、mbr2gptを使うにはパーティション数に限界があり4以上はこのエラーを吐くという事が分かった。

ディスク管理でブートドライブがあるディスク0のパーティションを3以下にする。すると今度は「cannot find disk partition」というエラーを吐いた。ブートドライブの入ったパーティションが見つけられない、という訳である。

ここまで来るとお手上げである。ディスク管理の画面を見ながら「いや、ここにブートドライブあるやん!」と何度叫んだ事か。
それでも諦めずにネットで関連ブログを読み漁る。
すると別のMBR→GPT変換ソフトがあるという事に気づいた。

gptgenである。
https://sourceforge.net/projects/gptgen/

こちらのソフトを解凍し、gptgen.exeのみを取り出してC:\Windows\System32に置く。

あとはこちら(↓)のブログの通りに忠実にコマンド入力してゆく。

digitalbox-起動ドライブを MBR から GPT に変換して UEFI 環境に移行する方法
https://digitalbox.jp/how-to-convert-mbr-to-gpt-uefi-secure-boot/

USBメモリのWindows10インストールメディアから起動させる必要があるので予め御用意を。

ここでも途中つまづく場面があった。
UEFIシステムパーティションをDISKPARTで作成するコマンド「create partition EFI size=100 offset=1」の時、仮想ディスクマネージャー上のエラーで「作成出来ません」と出たのである。offsetとは「ディスク上の前から何KBにパーティションを作成しますよ」という意味である。この場合1KB後にパーティションを作成するという事だ。

こういったエラーが出た場合、offset値を無くして「create partition EFI size=100」のみで作成が可能である。

最後になったが、忘れてはならないのはUEFIモードでの設定だ。
Windows11インストールに必要な環境にセキュアブートの有効化があるが、UEFI(GPT)形式にした場合「セキュアブート有効」なら「CSM無効」にしなければWindowsは正常に作動しない。
逆もまた然りで「CSM有効」なら「セキュアブート無効」にしなければならない。

徒然なるままに、思いつくままに文章を書いてみたい。 私の文章が読んで下さる方を少しでも元気づけたなら、嬉しい事この上ない。