08 September 2021

dynabook R63/UのSSDをmbr2gpt.exeを用いてMBRからGPTに変換。UEFI BIOS有効化

2020年10月に中古で購入したdynabook R63/Uのシステムディスク(SSD)のフォーマット形式をMBRからGPTに変更。UEFI BIOSを有効化した。

システムディスク(SSD)のGPT変換前の状態

20210908-prop-before.jpg
Windowsの「ディスクの管理」ディスク・プロパティ → パーティションのスタイルがマスターブートレコード(MBR)と表示されている

Windowsの管理者権限Power Shell
PS C:\WINDOWS\system32> diskpart
Microsoft DiskPart バージョン 10.0.19041.964
Copyright (C) Microsoft Corporation.
コンピューター: DYNABOOK-R63U

DISKPART> list disk

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

DISKPART> select disk=0

ディスク 0 が選択されました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ          300 MB   1024 KB
  Partition 2    回復                900 MB   301 MB
  Partition 3    プライマリ          231 GB   1201 MB

DISKPART> exit
Ubuntu Linuxのターミナルでの情報取得
$ sudo fdisk -l /dev/sda
ディスク /dev/sda: 232.9 GiB, 250059350016 バイト, 488397168 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xe3b2c688

デバイス   起動 開始位置  最後から    セクタ サイズ Id タイプ
/dev/sda1  *        2048    616447    614400   300M  7 HPFS/NTFS/exFAT
/dev/sda2         616448   2459647   1843200   900M 27 隠し NTFS WinRE
/dev/sda3        2459648 488396799 485937152 231.7G  7 HPFS/NTFS/exFAT

MBR2GPT.EXEを用いて変換のシミュレーション

まず最初にディスクが変換できるかを表示する。この作業は回復コンソール内でも、実際に稼働しているWindows 10でも行える。稼働しているWindowsの管理者権限Power Shellで行う場合は /allowFullOS スイッチをつけること

回復コンソールのコマンドプロンプト
PS C:\WINDOWS\system32> mbr2gpt /validate /disk:0
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.EXEを用いて実際に変換を行う

この作業は必ず回復コンソール(Windows RE)で行う必要があるが、間違えて稼働中のWindows 10の管理者権限Power Shellで行った場合は、次のようなエラー表示となって変換できない

Windows 10の管理者権限Power Shell
PS C:\WINDOWS\system32> 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
Cannot create EFI system partition. Error: 0x000036B7
MBR2GPT-undo: Extending back the OS partition
MBR2GPT: Conversion failed

変換を成功させるためには、回復コンソール(Windows RE)のコマンドプロンプトで行う。

回復コンソール(Windows RE)に入るには、PC起動時にF8キーを連打するか、あるいはWindows 10の稼働中に、スタートメニューの電源で、再起動をクリックするときにShiftキーを押す。 もしくは、スタートメニューの設定の中の更新とセキュリティ、回復の画面にある再起動ボタンを押す。

20210908-win10-bootoption.jpg
詳細ブートオプション画面

コンピューターの修復を選ぶと回復コンソール(Windows RE)のメニューが表示される。
作業は、この中にある「コマンドプロンプト」を用いる。

20210908-win10re-menu.jpg
回復コンソールの機能選択メニュー「詳細オプション」

20210908-win10re-cmd.jpg

回復コンソール(Windows RE)のコマンドプロンプト
X:\WINDOWS\system32> 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: Backing up the system 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 WinReRepair 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!

MBRをGPTに変換し、EFIブートマネージャーをインストールする作業は成功。ただし、WinREの設定は失敗した。というメッセージが表示されている。

この状態でPCを再起動し、(再起動時にF2キーを連打して)BIOS設定に入る。

20210908-bios-change-uefi.jpg
dynabook R63/UのUEFI BIOS有効化 (CSM BootからUEFI Bootに設定変更)

これで一連の作業終了。再起動すればWindows 10が正常起動する。

システムディスク(SSD)のGPT変換後の状態

20210908-prop-after.jpg
Windowsの「ディスクの管理」ディスク・プロパティ → パーティションのスタイルがGUIDパーティションテーブル(GPT)と表示されている

Windowsの管理者権限Power Shell
PS C:\WINDOWS\system32> diskpart
Microsoft DiskPart バージョン 10.0.19041.964
Copyright (C) Microsoft Corporation.
コンピューター: DYNABOOK-R63U

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン     232 GB   100 MB         * 

DISKPART> select disk=0

ディスク 0 が選択されました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム            300 MB  1024 KB
  Partition 2    回復                900 MB   301 MB
  Partition 3    プライマリ          231 GB   1201 MB

DISKPART> exit

ソースコード
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 232.91 GiB, 250059350016 bytes, 488397168 sectors
Disk model: WDC  WDS250G2B0B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: FDBF5A2D-1091-11EC-AD8C-FEDB1F6DE8E8

Device       Start       End   Sectors   Size Type
/dev/sda1     2048    616447    614400   300M EFI System
/dev/sda2   616448   2459647   1843200   900M Windows recovery environment
/dev/sda3  2459648 488191999 485732352 231.6G Microsoft basic data

「Failed to update ReAgent.xml」エラーの修正

MBR2GPT.EXE実行時の Failed to update ReAgent.xml, please try to manually disable and enable WinRE. というメッセージに示された通り、reagentcコマンドでWinREをON/OFFする。

Windows 10の管理者権限Power Shell
PS C:\WINDOWS\system32> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition2\Recovery\WindowsRE
    ブート構成データ (BCD) ID: 348e9657-1092-11ec-ad8c-fedb1f6de8e8
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

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

PS C:\WINDOWS\system32> reagentc /disable
REAGENTC.EXE: 操作は成功しました。

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

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

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

PS C:\WINDOWS\system32> reagentc /enable
REAGENTC.EXE: 操作は成功しました。

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

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition2\Recovery\WindowsRE
    ブート構成データ (BCD) ID: 348e9659-1092-11ec-ad8c-fedb1f6de8e8
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

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

F8キーで回復コンソール(Windows RE)が起動しなくなる

MBR2GPT.EXEにより、bootmenupolicy が Standard に書き戻されるようなので、元に戻しておく。

Windows 10の管理者権限Power Shell
PS C:\WINDOWS\system32> bcdedit /set {default} bootmenupolicy Legacy

PS C:\WINDOWS\system32> bcdedit

Windows ブート マネージャー
--------------------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
locale                  ja-JP
inherit                 {globalsettings}
default                 {current}
resumeobject            {348e9657-1092-11ec-ad8c-fedb1f6de8e8}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 0

Windows ブート ローダー
--------------------------------
identifier              {default}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  ja-JP
inherit                 {bootloadersettings}
recoverysequence        {348e9657-1092-11ec-ad8c-fedb1f6de8e8}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {348e9657-1092-11ec-ad8c-fedb1f6de8e8}
nx                      OptIn
bootmenupolicy          Legacy
hypervisorlaunchtype    Auto

BIOSのブートデバイス選択画面がMBRとGPTでは違う

20210908-bios-bootsel-mbr.jpg
MBRの場合

20210908-bios-bootsel-uefi.jpg
UEFIの場合