Windows 10のMBR2GPTコマンドでMBRからGPTへディスク変換

Windows 10Windows
この記事は約10分で読めます。

Windows 10のデスクトップPCのディスクをMBRからGPTへ変換しました。

Windows 10はバージョン1703以降で、ディスクパーティション形式をMBRからGPTへ変換するMBR2GPT.exeが標準コマンドとして使えます。
これを使用して、OS・データはそのままでCドライブをGPTへ変換できました。

今回は、デスクトップPCのマザーボードなどのハードを入れ替えようとしていて、先にその辺を整えておきたかったんですよね。

なお、今回のバージョンは以下の通りです。

  • Windows 10 Pro(64bit) 1909

パーティション形式 MBRとGPTの違い

Windows 10 MBR2GPT

ディスクパーティション形式のMBRとGPTの違いを確認しておきます。
新品のSSDやHDDを接続すると、聞かれるやつです。

正式には、

  • MBRマスターブートレコード
  • GPTGUIDパーティションテーブル

と呼ばれます。

両者の違いを比較すると、以下のようになります。

項目MBRGPT
ディスク容量最大2TB
※512Bセクタの場合
無制限
※容量を超えるHDDがない
パーティション数最大4個
※プライマリパーティション
最大128個
※Windowsの場合
ブートモードレガシーBIOSUEFI
Windows OS32/64bit64bit

MBRの方が古くから使用されている規格で、ディスク容量やパーティション数に制限があります。

新しい規格のGPTはブートモードがUEFIであり、OSが64bitに制限されるので、古いPCの環境だと動かない可能性はあります。

しかし、GPTの方がMBRよりも安定していて起動速度が速いとも聞きますし、マザーボードがUEFIに対応していてOSがWindows 10 64bitならGPTにする方がいいかと思います。
デメリットもないですし。

作業前のディスク・ブートモードの確認

今回のデスクトップPCは、ディスク2本で以下のように構成しています。

  • Cドライブ … SSD(MBR)
  • Dドライブ … HDD(MBR)

どちらもMBRですが、その確認方法については以下の通りです。

DiskPartコマンドでディスクの確認

ディスクのパーティション形式がMBR・GPTのどちらかを確認するには、DiskPartコマンドを使うと手っ取り早いです。

コマンドプロンプト・PowerShellでDiskPartを起動し、以下のコマンドを入力します。

> diskpart

> list disk

ディスク      状態           サイズ   空き   ダイナ GPT
###                                          ミック
------------  -------------  -------  -------  ---  ---
ディスク 0    オンライン           232 GB    23 GB
ディスク 1    オンライン           931 GB      0 B

右端のGPT列に*(アスタリスク)が付いていればGPT、付いていなければMBRです。

ディスクの管理で確認

Windows 10 MBR2GPT ディスクの管理

ディスクの管理でも確認できます。

  • スタートメニューを右クリック ⇒ ディスクの管理

を開きます。

下部に表示されている対象のディスクを

  • 右クリック ⇒ プロパティ ⇒ ボリュームタブ

を開くと、パーティションのスタイルに表示されています。

ブートモードの確認

Windows 10 MBR2GPT レガシーBIOS/UEFI

このデスクトップPCのディスクは現在MBRとなっているので、もちろんブートモードはレガシーBIOSです。

それを確認するには、

  • コントロールパネル ⇒ 管理ツール ⇒ システム情報

を開くと、BIOSモードに表示されています。

MBR2GPTコマンドでCドライブをMBRからGPTへ変換

では、MBR2GPTコマンドでCドライブのディスクのパーティション形式をMBRからGPTへ変換します。

まずは、コマンドプロンプトを管理者として実行で開きます。

以下のようにMBR2GPTコマンドを実行しました。

> mbr2gpt /validate /disk:0 /allowFULLOS

MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Validation completed successfully


> mbr2gpt /convert /disk:0 /allowFULLOS

MBR2GPT will now attempt to convert disk 0.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!

MBR2GPT: Attempting to convert disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Trying to shrink the OS partition
MBR2GPT: Creating the EFI system partition
MBR2GPT: Installing the new boot files
MBR2GPT: Performing the layout conversion
MBR2GPT: Migrating default boot entry
MBR2GPT: Adding recovery boot entry
MBR2GPT: Fixing drive letter mapping
MBR2GPT: Conversion completed successfully
Call WinReReapir to repair WinRE
MBR2GPT: Failed to update ReAgent.xml, please try to  manually disable and enable WinRE.
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!
  • MBR2GPTコマンドのオプション
    • /validate … 変換を検証する。
    • /convert … 変換する。
    • /disk:x … ディスク番号を指定する。
    • /allowFULLOS … 完全なWindows環境を使用する。必ず付ける。

実行時間はそんなにかからず、すぐに終わります。

「ReAgent.xmlの更新に失敗、手動でWinREを無効・有効にしてくれ」と出ています。
何やら回復ドライブ関係のところで問題があった模様。。後で見ておきます。。

もう1つは、「ブートモードをUEFIに変更する必要があるよ」と出ていますので、それは後ほど。

ちなみに、「/allowFullOS」を付けなかった場合、コマンドプロンプトを管理者として実行しなかった場合は、以下のようなメッセージが出ますので注意です。

#「/allowFullOS」を付けなかった場合
> mbr2gpt /validate /disk:0

ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.


#コマンドプロンプトを管理者として実行しなかった場合
> mbr2gpt /validate /disk:0 /allowFULLOS

EnablePrivilege: AdjustTokenPrivileges failed (Error:0x514)
ERROR: Failed to enable backup/restore privileges.
Check that you are running in a process with elevated privileges.

Dドライブはボリューム削除して変換

MBR2GPTコマンドは、WindowsのインストールされたCドライブのディスクのみにしか実行できませんでした。

データドライブのDドライブのディスクに対して実行すると、以下のように出ます。

> mbr2gpt /validate /disk:1 /allowFULLOS

MBR2GPT: Attempting to validate disk 1
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
Disk layout validation failed for disk 1


#ログファイル
C:\Windows\setupact.log
C:\Windows\setuperr.log
#ログファイルの内容
2020-01-03 17:18:58, Error    ValidateLayout: Wrong boot partition count, expected 1 but found 0.
2020-01-03 17:18:58, Error    Disk layout validation failed for disk 1

MBR2GPTコマンドではできないので諦めて、Dドライブはバックアップを別のディスクに取得してからボリュームを丸ごと削除してGPTへ変換しました。

Windows 10 MBR2GPT

ディスクの管理を開き、Dドライブのボリュームを

  • 右クリック ⇒ ボリュームの削除

で丸ごと削除しました。

Windows 10 MBR2GPT

続いて、ディスクを

  • 右クリック ⇒ GPTディスクに変換

GPTディスクになります。

Windows 10 MBR2GPT

再度、Dドライブを割り当てるので、未割り当ての領域を

  • 右クリック ⇒ 新しいシンプルボリューム

を選択して、ウィザードに従って進めます。
全てデフォルトにしました。

これで、DドライブのディスクをMBRからGPTへ変換完了です。
あとはバックアップしたデータをもとに戻すだけ。

ブートモードをUEFIへ変更

ディスクをMBRからGPTへ変換したので、マザーボード(BIOS)のブートモードの設定をレガシーBIOSからUEFIへ変換しないといけません。

パソコンを再起動して、F2キー等でBIOS設定メニューを開きます。

Windows 10 MBR2GPT レガシーBIOS/UEFI

ブートメニューのブートモード選択で、LEGACYからUEFIへ変更しました。

Windows 10 MBR2GPT レガシーBIOS/UEFI

変更を保存して終了です。

Windowsがこれまで通り起動すればOKです。

作業後のディスク・ブートモードの確認

あとは、念のため変更したディスク・ブートモードを確認しておきます。

ディスクはどちらもGPTです。

> list disk

ディスク      状態           サイズ   空き   ダイナ GPT
###                                          ミック
------------  -------------  -------  -------  ---  ---
ディスク 0    オンライン           232 GB    23 GB        *
ディスク 1    オンライン           931 GB  1024 KB        *

Cドライブ・Dドライブの2つのディスクどちらもOKです。

Windows 10 MBR2GPT レガシーBIOS/UEFI

ブートモードはUEFIになっていますね。

最後に

今回は、Windows 10のディスクのパーティション形式をMBRからGPTへ変換しました。
標準のMBR2GPTコマンドで、OSのインストールされているCドライブはデータそのままで変換できるし、有料ソフトを購入する必要がなくて便利です。

Windows
\よかったらシェアしてね/
えふめん

大阪在住、30代。
業務系SE・社内SEの仕事を通じて学んだこと、PCトラブルで困って調べたこと、手作業を効率化して改善したこと、WordPressのブログ運営などの記事を書いています。

えふめんをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
俺の開発研究所

コメント

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