スズハドットコム

IT関連や3Dプリンタの記事、たまに生活のメモを書いていきます。

Windows10の起動ディスクをMBRからGPTに変換する(Windows11対策)

Windows11が2021/10/5にリリースされます。

pc.watch.impress.co.jp

 

これに先立って、Windows11のシステム要件が話題になってたりしました。

www.microsoft.com

 

インパクトが大きいと言われているのは以下2点です。

  • UEFI、セキュアブート対応
  • TPM 2.0対応

 

今回は、この中のUEFIの話です。

 

うちのPCは、ハードウェア的には要件を満たすのですが、UEFIでなくレガシー(BIOS)でWindows10が導入されてしまっています。

UEFIで使う起動ディスクのパーティション形式はGPT、BIOSで使うパーティション形式はMBRと決まっているので、BIOSからUEFIに変換するためには起動ディスクのパーティション形式をGPTに変換しなければいけません。

 

いかにもハードルが高そうな話ですが、Windows標準のコマンドでデータを失うことなく変換できるということなのでやってみました。

 

使用するのはこちらの「mbr2gpt」コマンドです。そのまんまのネーミングですね。

docs.microsoft.com

 

「ディスクの管理」でディスク番号を調べる

スタートボタンを右クリックして「ディスクの管理」を開きます。

ディスク0、ディスク1、のような表示があるので、起動ディスクが何番なのか確認します。

うちのPCの場合はディスク1でしたので、以下、ディスク1での実行例です。

 

コマンドプロンプトを管理者権限で起動する

コマンドプロンプトを右クリックして管理者として実行します。

 

mbr2gptの確認コマンドを実行する

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
MBR2GPT: Validation completed successfully

「Validation completed successfully」が表示されればOKです。

 

mbr2gptの変換コマンドを実行する

mbr2gpt /convert /disk:1 /allowFullOS

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

MBR2GPT: Attempting to convert disk 1
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!

 

「Conversion completed successfully」が表示されればOKです。

 

「Failed to update ReAgent.xml, please try to  manually disable and enable WinRE.」というメッセージがありますが、この段階でWinREのdisable/enableはうまくいきませんでした。再起動後に実行します。(後述)

reagentc /disable
REAGENTC.EXE: Windows RE は既に無効です。

reagentc /enable
REAGENTC.EXE: ブート構成データを更新できません。

reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Disabled
    Windows RE の場所:
    ブート構成データ (BCD) ID: 2d6498c2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

 

 

シャットダウン、(必要なら)UEFI設定変更、OS起動

いったんOSをシャットダウンします。

電源を入れUEFI設定画面に入り、CSM(Compatibility Supported Module)をdisableにして嫌でもUEFIで起動するようにします。(この手順は不要かもしれません。)

その後、無事にOSが起動することを確認しました。

 

UEFIに変わったことの確認

「ファイル名を指定して実行」で msinfo32 を実行します。

「システム情報」ウインドウの「BIOSモード」がUEFIになっていることがわかります。

f:id:suzuki_hajime:20210913005730p:plain

 

PC正常性チェックアプリでチェック

Windows11の要件を満たすか否か判定する「PC正常性チェック」アプリで判定します。

要件を満たしていると表示されました。

f:id:suzuki_hajime:20210913010000j:plain

 

WinREのdisable/enable

再起動前にうまくいかなかったWinREのdisable/enableを実行します。

reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk1\partition4\Recovery\WindowsRE
    ブート構成データ (BCD) ID: 1ad9ab19-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

reagentc /disable
REAGENTC.EXE: 操作は成功しました。

reagentc /enable
REAGENTC.EXE: 操作は成功しました。

 

disable/enable前後のReAgent.xmlを比較してみたら何やら更新されていたので、この操作を実行する意味はありそうです。

f:id:suzuki_hajime:20210913010653p:plain

 

その他

「システムで予約済み」領域にドライブレターGが割り当てられ、エクスプローラ上に表示されるようになってしまいました。

邪魔くさいですが、ドライブレターを削除したりパーティションを削除したりした際の影響が不明なのでそのままにしています。Windows11にアップグレード後しばらくしたらクリーンインストールするつもりなので、その時までの我慢です。

f:id:suzuki_hajime:20210913011111j:plain

 

参考にさせていただいたサイト

Windows11に備えて起動ディスクを非破壊でMBRからGPTへ完全無料で変換する方法

WindowsのシステムドライブをMBRからGPTに変換する方法【データ保持も】

MBR2GPT - Windows Deployment | Microsoft Docs