2020年10月に中古で購入したdynabook R63/Uのシステムディスク(SSD)のフォーマット形式をMBRからGPTに変更。UEFI BIOSを有効化した。
システムディスク(SSD)のGPT変換前の状態
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キーを押す。 もしくは、スタートメニューの設定の中の更新とセキュリティ、回復の画面にある再起動ボタンを押す。
コンピューターの修復を選ぶと回復コンソール(Windows RE)のメニューが表示される。
作業は、この中にある「コマンドプロンプト」を用いる。
回復コンソール(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設定に入る。
dynabook R63/UのUEFI BIOS有効化 (CSM BootからUEFI Bootに設定変更)
これで一連の作業終了。再起動すればWindows 10が正常起動する。
システムディスク(SSD)のGPT変換後の状態
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