MBR2GPT.EXE

適用対象

  • Windows 10

概要

MBR2GPT.EXE は、ディスク上のデータを変更または削除せずに、ディスクをマスター ブート レコード (MBR) から GUID パーティション テーブル (GPT) パーティション スタイルに変換します。 このツールは、Windows プレインストール環境 (Windows PE) のコマンド プロンプトから実行できるように設計されていますが、完全な Windows 10 オペレーティング システム (OS) から実行することもできます。

MBR2GPT を使うと、次のタスクを実行できます。

  • [Windows PE 環境内で]: システム ディスクを含め、アタッチされている MBR 形式のディスクを GPT に変換します。
  • [現在実行中の OS 内から]: システム ディスクを含め、アタッチされている MBR 形式のディスクを GPT に変換します。

MBR2GPT は、Windows 10 バージョン 1703 (Windows 10 Creators Update) 以降で使用できます。 このツールは、完全な OS 環境と Windows PE の両方で利用できます。

BitLocker 暗号化ボリュームの MBR ディスクは、保護が中断されている場合には、MBR2GPT を使って変換することができます。 変換後に BitLocker を再開するには、既存の保護機能を削除して再作成する必要があります。

MBR2GPT ツールは、Windows 10 のバージョン 1507、1511、1607 などの以前のバージョンがインストールされているオペレーティング システム ディスクを変換することができます。 ただし、バージョン 1703 以降の Windows 10 を起動してツールを実行し、オフライン変換を実行する必要があります。

Windows 7、8、または 8.1 など Windows の以前のバージョンがインストールされたシステム ディスクのオフライン変換は、正式にはサポートされていません。 それらのディスクの推奨される変換方法は、まずオペレーティング システムを Windows 10 にアップグレードして、次に MBR から GPT への変換を行うことです。

重要

ディスクを GPT パーティション形式に変換した後に、ファームウェアを UEFI モードで起動するように再構成する必要があります。
ディスクの変換を行う前に、デバイスが UEFI をサポートしていることを確認してください。

構文

MBR2GPT /validate|convert [/disk:<diskNumber>] [/logs:<logDirectory>] [/map:<source>=<destination>] [/allowFullOS]

オプション

オプション 説明
/validate ディスクの検証手順のみを実行し、ディスクが変換に適合するかどうかをレポートします。
/convert ディスクの検証を実行し、すべての検証テストが成功した場合に、変換を実行します。
/disk:<diskNumber> GPT に変換するディスクのディスク番号を指定します。 指定されていない場合には、システム ディスクが使われます。 このメカニズムは diskpart.exe ツールの SELECT DISK SYSTEM コマンドで使用されているものと同じです。
/logs:<logDirectory> ログを書き込むディレクトリを指定します。 指定しない場合は %windir% が使用されます。 指定した場合、ディレクトリは既に存在する必要があります。自動的に作成または上書きは行いません。
/map:<source>=<destination> MBR と GPT 間での、追加のパーティションの種類のマッピングを指定します。 MBR パーティション番号は、16 進表記ではなく、10 進表記で指定します。 GPT GUID には、たとえば /map:42={af9b60a0-1431-4f62-bc68-3311714a69ad} のように、角かっこを含むことができます。 複数のマッピングが必要な場合には、複数の /map オプションを指定できます。
/allowFullOS 既定では、Windows PE から実行されない場合には、MBR2GPT.exe はブロックされます。 このオプションは、このブロックを上書きし、完全な Windows 環境の実行中に、ディスクの変換を有効にします。

検証の例

次の例では、ディスク 0 の変換の検証を行います。 エラーと警告は、既定の場所である %windir% に記録されます。

X:\>mbr2gpt /validate /disk:0
MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512
MBR2GPT: Validation completed successfully

変換の例

以下に例を示します。

  1. 変換の前に、現在のディスク パーティション レイアウトが表示されます。MBR ディスク (ディスク 0) には次の 3 つのパーティションがあります: システム予約パーティション、Windows パーティション、回復パーティション。 DVD-ROM もボリューム 0 として存在します。
  2. OS ボリュームが選択され、パーティションが表示されて、OS パーティションのパーティション詳細が表示されます。 MBR パーティションの種類07 で、これはインストール可能なファイル システム (IFS) です。
  3. MBR2GPT ツールを使用して、ディスク 0 の変換を行います。
  4. ディスク 0 は現在 GPT 形式を使っていることが表示されます。
  5. 新しいディスク レイアウトが表示されます。4 つのパーティションが GPT ディスクに存在します。3つは、以前のパーティションと同じで、もう 1 つは、新しい EFI システム パーティション (ボリューム 3) です。
  6. OS ボリュームが再度選択されます。詳細が表示され、GPT パーティションの種類ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 であり、この種類は PARTITION_BASIC_DATA_GUID です。

上述したように、新しい EFI システム パーティションが正常に起動できるように、コンピューターのファームウェアに変更を行う必要があります。

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     F   CENA_X64FRE  UDF    DVD-ROM     4027 MB  Healthy
  Volume 1     C   System Rese  NTFS   Partition    499 MB  Healthy
  Volume 2     D   Windows      NTFS   Partition     58 GB  Healthy
  Volume 3     E   Recovery     NTFS   Partition    612 MB  Healthy    Hidden

DISKPART> select volume 2

Volume 2 is the selected volume.

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary            499 MB  1024 KB
* Partition 2    Primary             58 GB   500 MB
  Partition 3    Recovery           612 MB    59 GB

DISKPART> detail partition

Partition 2
Type  : 07
Hidden: No
Active: No
Offset in Bytes: 524288000

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* Volume 2     D   Windows      NTFS   Partition     58 GB  Healthy

DISKPART> exit

Leaving DiskPart...

X:\>mbr2gpt /convert /disk:0

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 system partition
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
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!

X:\>diskpart

Microsoft DiskPart version 10.0.15048.0

Copyright (C) Microsoft Corporation.
On computer: MININT-K71F13N

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           60 GB      0 B        *

DISKPART> select disk 0

Disk 0 is now the selected disk.

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     F   CENA_X64FRE  UDF    DVD-ROM     4027 MB  Healthy
  Volume 1     D   Windows      NTFS   Partition     58 GB  Healthy
  Volume 2     C   System Rese  NTFS   Partition    499 MB  Healthy    Hidden
  Volume 3                      FAT32  Partition    100 MB  Healthy    Hidden
  Volume 4     E   Recovery     NTFS   Partition    612 MB  Healthy    Hidden

DISKPART> select volume 1

Volume 1 is the selected volume.

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Recovery           499 MB  1024 KB
* Partition 2    Primary             58 GB   500 MB
  Partition 4    System             100 MB    59 GB
  Partition 3    Recovery           612 MB    59 GB

DISKPART> detail partition

Partition 2
Type    : ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
Hidden  : No
Required: No
Attrib  : 0000000000000000
Offset in Bytes: 524288000

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* Volume 1     D   Windows      NTFS   Partition     58 GB  Healthy

仕様

ディスク変換のワークフロー

次の手順は、MBR から GPT への変換プロセスの概要を示します。

  1. ディスクの検証を実行します。
  2. EFI システム パーティション (ESP) が存在しない場合には、ディスクの再パーティション分割を行い、ESP を作成します。
  3. ESPに UEFI ブート ファイルがインストールされます。
  4. GPT メタデータとレイアウト情報が適用されます。
  5. ブート構成データ (BCD) ストアが更新されます。
  6. ドライブ文字の割り当てが復元されます。

ディスクの検証

ディスクへの変更が行われる前に、選択されたディスクのレイアウトとジオメトリの検証が行われ、次の確認が行われます。

  • 現在、ディスクが MBR を使っていること
  • プライマリとセカンダリの GPT を格納するために、パーティションが使用しない十分な領域があること
    • ディスクの先頭に、16 KB + 2セクター
    • ディスクの最後に、16 KB + 1セクター
  • MBR パーティション テーブルに最大 3 つまでのプライマリ パーティションがあること
  • パーティションの 1 つがアクティブとして設定されているシステム パーティションであること
  • システム パーティションの BCD ストアに、OS パーティションをポイントしている既定の OS エントリが含まれること
  • 各ボリュームにボリューム ID を取得でき、それにドライブ文字が割り当てられていること
  • ディスク上のすべてのパーティションが Windows によって認識できる MBR 形式であるか、/map コマンドライン オプションを使って指定したマッピングがあること

これらのチェックのいずれかが失敗した場合は、変換は中断され、エラーが返されます。

EFI システム パーティションの作成

変換後にも Windows が起動可能であるためには、EFI システム パーティション (ESP) が存在する必要があります。 ESP は次の規則により作成されます。

  1. 次の要件が満たされる場合には、既存の MBR システム パーティションが再利用されます: a. OS または Windows の回復環境パーティションでないこと。b. 100 MB 以上 (4K セクター サイズのディスクでは 260 MB 以上) のサイズであること。c. 1 GB 以下のサイズであること。 これはデータ パーティションでないことを確認するための、安全のための予防措置です。 d. 完全な OS から変換を実行する場合には、変換されるディスクがシステム ディスクでないこと。
  2. 既存の MBR システム パーティションが再利用できない場合、OS パーティションが縮小されて、新しい ESP が作成されます。 この新しいパーティションのサイズは 100 MB (または 4 K セクター サイズのディスクでは 260 MB) で、FAT32 でフォーマットされます。

既存の MBR システム パーティションが ESP として再利用されない場合、そのパーティションは変換後にはブート プロセスでは使用されません。 その他のパーティションは変更されません。

パーティションの種類のマッピングとパーティションの属性

GPT パーティションは、MBR パーティションとは異なる種類 ID のセットを使用するため、変換されたディスク上の各パーティションには新しい種類 ID が割り当てられる必要があります。 パーティションの種類のマッピングは、次の規則に従います。

  1. ESP は常にパーティションの種類を PARTITION_SYSTEM_GUID (c12a7328-f81f-11d2-ba4b-00a0c93ec93b) として設定されます。
  2. MBR パーティションが /map スイッチで指定されたエントリのいずれかに一致する種類である場合は、指定された GPT のパーティションの種類 ID が使用されます。
  3. MBR パーティションの種類が 0x27 である場合、パーティションは PARTITION_MSFT_RECOVERY_GUID (de94bba4-06d1-4d40-a16a-bfd50179d6ac) の種類の GPT パーティションに変換されます。
  4. Windows によって認識されるその他のすべての MBR パーティションは PARTITION_BASIC_DATA_GUID (ebd0a0a2-b9e5-4433-87c0-68b6b72699c7) の種類の GPT パーティションに変換されます。

正しいパーティションの種類の適用に加え、PARTITION_MSFT_RECOVERY_GUID の種類のパーティションには次の GPT 属性のセットがあります。

  • GPT_ATTRIBUTE_PLATFORM_REQUIRED (0x0000000000000001)
  • GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER (0x8000000000000000)

パーティションの種類の詳細については、以下を参照してください。

ドライブ文字の割り当ての保持

変換ツールは、変換されたディスクのボリュームに対応するレジストリに含まれる、すべてのドライブ文字の割り当て情報を再度マッピングしようとします。 ドライブ文字の割り当てが復元できない場合は、コンソールとログにエラーが表示され、手動でドライブ文字の正しい割り当てを行えるようにします。 重要: レイアウト変換が行われた後で、このコードが実行されます。この段階では、操作を元に戻すことはできません。

変換ツールは、レイアウト変換の前後でボリュームの一意の ID データを取得し、その情報を使ってルックアップ テーブルを作成します。 次に HKLM\SYSTEM\MountedDevices 内のすべてのエントリを反復して次の処理を行います。

  1. 一意の ID が、変換されたディスクに含まれているいずれかのボリュームの、いずれかの一意の ID に対応することを確認します。
  2. 見つかった場合は、レイアウト変換後に取得した新しい一意の ID をその値に設定します。
  3. 新しい一意の ID を設定できず、値の名前が \DosDevices から始まる場合には、ドライブ文字の割り当てを適切に復元するために手動の操作を必要とする警告をコンソールとログに表示します。

トラブルシューティング

ツールは出力に状態情報を表示します。 エラーが発生した場合には、検証と変換の両方がクリアされます。 たとえば場合は、1 つ以上のパーティションで検証が適切に行われない場合にはそれが表示され、変換は実行されません。 発生したエラーに関する詳細を表示するには、関連するログ ファイルを参照します。

ログ

MBR2GPT ツールは 4 つのログを作成します。

  • diagerr.xml
  • diagwrn.xml
  • setupact.log
  • setuperr.log

これらのファイルには、ディスクの検証と変換で発生したエラーと警告が含まれます。 これらのファイルの情報は、ツールの問題の診断に役立ちます。 Setupact.log と setuperr.log ファイルには、ディスク レイアウト、プロセス、およびディスクの検証と変換に関連するその他の情報について、最も詳細な情報が含まれています。 注: setupact*.log ファイルは %Windir%\Panther ディレクトリに含まれる Windows セットアップ ファイルとは異なります。

Windows PE での、これらのすべてのログ ファイルの既定の場所は、%windir% です。

対話型のヘルプ

ツールの使用時に利用可能なオプションの一覧を表示するには、mbr2gpt /? と入力します。

次のように表示されます。


C:\> mbr2gpt /?

Converts a disk from MBR to GPT partitioning without modifying or deleting data on the disk.

MBR2GPT.exe /validate|convert [/disk:<diskNumber>] [/logs:<logDirectory>] [/map:<source>=<destination>] [/allowFullOS]

Where:

 /validate
         - Validates that the selected disk can be converted
           without performing the actual conversion.

 /convert
         - Validates that the selected disk can be converted
           and performs the actual conversion.

 /disk:<diskNumber>
         - Specifies the disk number of the disk to be processed.
           If not specified, the system disk is processed.

 /logs:<logDirectory>
         - Specifies the directory for logging. By default logs
           are created in the %windir% directory.

 /map:<source>=<destination>
         - Specifies the GPT partition type to be used for a
           given MBR partition type not recognized by Windows.
           Multiple /map switches are allowed.

 /allowFullOS
         - Allows the tool to be used from the full Windows
           environment. By default, this tool can only be used
           from the Windows Preinstallation Environment.

リターン コード

MBR2GPT には、次のような関連するリターン コードがあります。

リターン コード 説明
0 変換は正常に完了しました。
1 変換はユーザーによって取り消されました。
2 内部エラーにより、変換が失敗しました。
3 初期化エラーにより、変換が失敗しました。
4 コマンドライン パラメーターが無効なため、変換が失敗しました。
5 選択されたディスクのジオメトリとレイアウトの読み取りエラーのため、変換が失敗しました。
6 ディスク上の 1 つ以上のボリュームが暗号化されているため、変換が失敗しました。
7 選択されたディスクのジオメトリとレイアウトが要件を満たしていないため、変換が失敗しました。
8 EFI システム パーティションの作成中にエラーが発生したため、変換が失敗しました。
9 ブート ファイルのインストールでエラーが発生したため、変換が失敗しました。
10 GPT レイアウトの適用時のエラーのため、変換が失敗しました。
100 GPT レイアウトへの変換は成功しましたが、いくつかのブート構成データのエントリを復元できませんでした。

パーティションの種類の確認

Windows PowerShell プロンプトで次のコマンドを入力すると、ディスク番号とパーティションの種類を表示できます。 出力の例を以下に示します。

PS C:\> Get-Disk | ft -Auto

Number Friendly Name      Serial Number        HealthStatus OperationalStatus Total Size Partition Style
------ -------------      -------------        ------------ ----------------- ---------- ---------------
0      MTFDDAK256MAM-1K1  13050928F47C         Healthy      Online             238.47 GB MBR
1      ST1000DM003-1ER162 Z4Y3GD8F             Healthy      Online             931.51 GB GPT

ディスクの管理ツールを開き、ディスク番号を右クリックして、[プロパティ] をクリックし、次に [ボリューム] タブをクリックして、ディスクのパーティションの種類を表示することもできます。 次に例を示します。

ボリューム

Windows PE を使用しているときなど、Windows PowerShell とディスクの管理を使用できない場合は、コマンド プロンプトで diskpart ツールを使用して、パーティションの種類を確認できます。 パーティションのスタイルを確認するには、「diskpart」と入力し、次に「list disk」と入力します。 次の例を参照してください。

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          238 GB      0 B
  Disk 1    Online          931 GB      0 B        *

この例では、ディスク 0 は MBR パーティション スタイルでフォーマットされ、ディスク 1 は GPT でフォーマットされています。

関連トピック

Windows 10 Enterprise のシステム要件
Windows 10 の仕様
Windows 10 IT 担当者フォーラム