技術の家庭菜園

https://tpcbtw.com/

MBR2GPT.exeでMBRなwin7をGPTにする

※すでに半年以上前の話題であり、記憶もあやふやであれば、スクショ等の記録も残っていない。しかし、残しておくべき知識だろうので簡単にまとめておく。

経緯

我が家にはWindows7がある。ボリュームライセンス契約で購入したものなので、アップグレードもできず、今もそのまま元気に稼働している。
そのディスクは320GBのMBRなHDDであり、BIOSブートである。建造当時(2010年)はそれで問題なかったのだがこの度このディスクを3TBのものに入れ替えた。
何も考えてない私は単純にクローンを取り、パーティションを拡張しようとして気づいた。
MBRだと2TBまでしか使えないのである。当然の話だ。
MBRからGPTに変換する方法はいろいろあるが、こと起動ディスクであるといろいろ面倒らしい。
調べた限りではサードパーティーの面倒なソフトを使った面倒な方法よりも、とりあえずOSの再インストールの方が早そうな勢いだ。

いろいろ調べていたら、Windows10においては最近便利なものが実装されたらしい。
https://pc.watch.impress.co.jp/docs/news/1054773.html
このMBR2GPT.exeを使えば、一瞬でディスク変換ができるらしい。
では、とりあえず私の持ってるWin10からこのMBRWin7ディスクを変換できないか?と思い、トライしてみたのが始まりである。

MBR2GPT.exeとWindowsPE

まずMBR2GPT.exeに関してだが私が作業した時は日本語訳資料がなかったが、今は日本語資料がある。
とりあえずこれを読めば良い。

MBR パーティションを GPT に変換する MBR2GPT ツールの使用方法
https://docs.microsoft.com/ja-jp/windows/deployment/mbr-to-gpt

Windows 7、8、または 8.1 など Windows の以前のバージョンがインストールされたシステム ディスクのオフライン変換は、正式にはサポートされていません。 それらのディスクの推奨される変換方法は、まずオペレーティング システムを Windows 10 にアップグレードして、次に MBR から GPT への変換を行うことです」
とある。できるのかできないのか何とも曖昧な表現であるが、とりあえずやってみるしか無い。

MBR2GPT.exeを実行するのに今回はWindowsPEを用いた。
というのもMBR2GPT.exeはWindows 10 Version 1703からの実装であり、私の環境はバージョンアップ設定がCBB+1年間の延期に設定されており、2018年10月現在においてもv1506なのである。
v1703以上のバージョンのWin10をお持ちであれば、そのマシンにマウントして作業されても良いだろう。
WindowsPEは以下のサイトの手順で作成できる。

WinPE: 起動可能な USB ドライブの作成 - Windows 10 hardware dev
https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn938386(v=vs.85).aspx

これにより、MBR2GPT.exeの実行環境が整った。
手順は先のMBR2GPT.exeの資料を読めば詳しく書いてあるが、結論としては

mbr2gpt /convert /disk:0

と入力するだけである。ディスク番号は目標のディスク番号に置き換えてほしい。
変換も一瞬で終わる。そして、なんの問題なく変換された。

GPT/UEFIの既定のパーティション構成でシステムで100MB、予約で128MBの合計228MBを最低使用するはずなのだが、変換したところ元のMBR/BIOSのシステムの100MBの部分に綺麗に収まっており、予約パーティションは存在しない状態になっている。
とりあえずよくわからない状況ではあるが、この変換後半年以上問題なく動いているので問題はなかったのだろう。