Windows 10のデスクトップPCのディスクをMBRからGPTへ変換しました。
Windows 10はバージョン1703以降で、ディスクパーティション形式をMBRからGPTへ変換するMBR2GPT.exeが標準コマンドとして使えます。
これを使用して、OS・データはそのままでCドライブをGPTへ変換できました。
今回は、デスクトップPCのマザーボードなどのハードを入れ替えようとしていて、先にその辺を整えておきたかったんですよね。
なお、今回のバージョンは以下の通りです。
パーティション形式 MBRとGPTの違い
ディスクパーティション形式のMBRとGPTの違いを確認しておきます。
新品のSSDやHDDを接続すると、聞かれるやつです。
正式名称は以下です。
両者の違いを比較すると、以下のようになります。
項目 | MBR | GPT |
---|---|---|
ディスク容量 | 最大2TB ※512Bセクタの場合 | 無制限 ※容量を超えるHDDがない |
パーティション数 | 最大4個 ※プライマリパーティション | 最大128個 ※Windowsの場合 |
ブートモード | レガシーBIOS | UEFI |
Windows OS | 32/64bit | 64bit |
MBRの方が古くから使用されている規格で、ディスク容量やパーティション数に制限があります。
新しい規格のGPTはブートモードがUEFIであり、OSが64bitに制限されるので、古いPCの環境だと動かない可能性はあります。
しかし、GPTの方がMBRよりも安定していて起動速度が速いとも聞きますし、マザーボードがUEFIに対応していてOSがWindows 10 64bitならGPTにする方がいいかと思います。
デメリットもないですし。
作業前のディスク・ブートモードの確認
今回のデスクトップPCは、ディスク2本で以下のように構成しています。
どちらもMBRですが、その確認方法については以下の通りです。
DiskPartコマンドでディスクの確認
ディスクのパーティション形式がMBR・GPTのどちらかを確認するには、DiskPartコマンドを使うと手っ取り早いです。
コマンドプロンプト・PowerShellでDiskPartを起動し、以下のコマンドを入力します。
> diskpart
> list disk
ディスク 状態 サイズ 空き ダイナ GPT
### ミック
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 232 GB 23 GB
ディスク 1 オンライン 931 GB 0 B
右端のGPT列に*(アスタリスク)が付いていればGPT、付いていなければMBRです。
ディスクの管理で確認
ディスクの管理でも確認できます。
スタートメニューを右クリック ⇒ ディスクの管理
を開きます。
下部に表示されている対象のディスクを開くと、パーティションのスタイルに表示されています。
右クリック ⇒ プロパティ ⇒ ボリュームタブ
ブートモードの確認
このデスクトップ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へ変換しました。
ディスクの管理を開き、Dドライブのボリュームを丸ごと削除しました。
右クリック ⇒ ボリュームの削除
続いて、ディスクをGPTディスクに変換します。
右クリック ⇒ GPTディスクに変換
再度、Dドライブを割り当てるので、未割り当ての領域を選択して、ウィザードに従って進めます。
右クリック ⇒ 新しいシンプルボリューム
全てデフォルトにしました。
これで、DドライブのディスクをMBRからGPTへ変換完了です。
あとはバックアップしたデータをもとに戻すだけ。
ブートモードをUEFIへ変更
ディスクをMBRからGPTへ変換したので、マザーボード(BIOS)のブートモードの設定をレガシーBIOSからUEFIへ変換しないといけません。
パソコンを再起動して、F2キー等でBIOS設定メニューを開きます。
ブートメニューのブートモード選択で、LEGACYからUEFIへ変更しました。
変更を保存して終了です。
Windowsがこれまで通り起動すればOKです。
作業後のディスク・ブートモードの確認
あとは、念のため変更したディスク・ブートモードを確認しておきます。
ディスクはどちらもGPTです。
> list disk
ディスク 状態 サイズ 空き ダイナ GPT
### ミック
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 232 GB 23 GB *
ディスク 1 オンライン 931 GB 1024 KB *
Cドライブ・Dドライブの2つのディスクどちらもOKです。
ブートモードはUEFIになっていますね。
最後に
今回は、Windows 10のディスクのパーティション形式をMBRからGPTへ変換しました。
標準のMBR2GPTコマンドで、OSのインストールされているCドライブはデータそのままで変換できるし、有料ソフトを購入する必要がなくて便利です。
ちなみに、Windows 11へアップグレードする場合のシステム要件にブートモードがUEFIであることが含まれているので、この方法で事前にGPTへの変換を行っておいてよかったです。
コメント