MBR2GPT.EXE

適用対象

  • Windows 10

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

MBR2GPT.EXE は、Windows 10 Version 1703 (Creators Update とも呼ばれる) 以降を実行している Windows 10 コンピューターの Windows\System32 ディレクトリにあります。

このツールは、完全な OS 環境と Windows PE の両方で利用できます。 Configuration Manager と Microsoft Deployment Toolkit (MDT) の展開タスク シーケンスでこのツールを使用するには、最初に Windows ADK 1703 以降のバージョを使用して、Windows PE イメージ (winpe.wim、boot.wim) を更新する必要があります。

MBR2GPT の詳細な説明とデモンストレーションについては、次のビデオをご覧ください。

MBR2GPT を使用して以下の処理を実行できます。

  • アタッチされている MBR 形式のシステム ディスクを GPT パーティション フォーマットに変換します。 このツールを使用して、非システム ディスクを MBR から GPT に変換することはできません。
  • 保護が中断されている場合に、BitLocker 暗号化ボリュームの MBR ディスクを変換します。 変換後に BitLocker を再開するには、既存の保護機能を削除して再作成する必要があります。
  • Windows 10 のバージョン 1507、1511、1607 などの以前のバージョンがインストールされているオペレーティング システム ディスクを変換します。 ただし、バージョン 1703 以降の Windows 10 を起動してツールを実行し、オフライン変換を実行する必要があります。
  • タスク シーケンスで Windows PE バージョン 1703 以降が使用されている場合は、Configuration Managerまたは MDT を使用してオペレーティング システム ディスクを MBR から GPT に変換します。

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

重要

ディスクを GPT パーティション形式に変換した後に、ファームウェアを UEFI モードで起動するように再構成する必要があります。

ディスクの変換を行う前に、デバイスが UEFI をサポートしていることを確認してください。

ディスクの前提条件

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

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

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

構文

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 既定では、MBR2GPT.exeは Windows PE から実行されない限りブロックされます。 このオプションは、このブロックを上書きし、完全な Windows 環境の実行中に、ディスクの変換を有効にします。
: 既存の MBR システム パーティションは、Windows 環境全体の実行中に使用されているため、再利用できません。 この場合、OS パーティションを縮小することによって、新しい ESP が作成されます。

検証の例

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

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

X:\>DiskPart

Microsoft DiskPart version 10.0.15048.0

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

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) を作成するために再パーティション分割されます。
  3. ESPに UEFI ブート ファイルがインストールされます。
  4. GPT メタデータとレイアウト情報が適用されます。
  5. ブート構成データ (BCD) ストアが更新されます。
  6. ドライブ文字の割り当てが復元されます。

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

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

  1. 次の要件が満たされる場合には、既存の MBR システム パーティションが再利用されます。

    1. OS または Windows Recovery Environment パーティションではありません。
    2. サイズは少なくとも 100 MB (4K セクター サイズ ディスクの場合は 260 MB) です。
    3. サイズが 1 GB 以下です。 このサイズは、データ パーティションではないことを確認するための安全上の注意です。
    4. 完全な OS から変換が実行されていません。 この場合、既存の MBR システム パーティションが使用中であり、再利用できません。
  2. 既存の MBR システム パーティションを再利用できない場合は、OS パーティションを圧縮することで新しい ESP が作成されます。 この新しいパーティションのサイズは 100 MB (4K セクター サイズ ディスクの場合は 260 MB) で、FAT32 形式です。

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

重要

既存の 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」と入力します。 次に例を示します。

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          238 GB      0 B
  Disk 1    Online          931 GB      0 B        *

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

既知の問題

Windows PE で実行できないMBR2GPT.exe

Windows Preinstallation Environment (Windows PE) で Windows 10 バージョン 1903 ベースのコンピューターを起動すると、次の問題が発生します。

問題 1 MBR2GPT.exe コマンドを実行すると、ドライブを変換せずにプロセスが終了します。

問題 2 コマンド プロンプト ウィンドウで MBR2GPT.exe コマンドを手動で実行しても、ツールからの出力はありません。

問題 3Microsoft Configuration Manager タスク シーケンス、MDT タスク シーケンスなどのイメージング プロセス内で実行MBR2GPT.exe、またはスクリプトを使用して実行すると、次の終了コード (0xC0000135/3221225781) を受け取ります。

原因

この問題は、Windows 10 バージョン 1903 以降のバージョンでは MBR2GPT.exe が ReAgent.dll ファイルにアクセスする必要があるために発生します。 ただし、現在、この dll ファイルとそれに関連付けられているライブラリは、Windows 10 バージョン 1903 以降のWindows PE ブート イメージには含まれていません。

回避策

この問題を解決するには、Windows PE イメージ (WIM) をマウントし、見つからないファイルを Windows 10 Version 1903 の評価と開発キット (ADK) ソースからコピーし、WIM に変更をコミットします。 次の手順を使用します。

  1. Windows PE WIM をパス (C:\WinPE_Mount など) にマウントします。 WIM ファイルをマウントする方法の詳細については、「イメージのマウント」を参照してください。

  2. ReAgent ファイルと ReAgent ローカリゼーション ファイルを、Windows 10 バージョン 1903 ADK ソース フォルダーからマウントされた WIM にコピーします。

    たとえば、ADK が C:\Program Files (x86)\Windows Kits\10 の既定の場所にインストールされていて、Windows PE イメージが C:\WinPE_Mount にマウントされている場合は、管理者特権のコマンド プロンプト ウィンドウから次のコマンドを実行します。

    注意

    Windows の評価と開発キットのインストール中に ユーザー状態移行ツール (USMT) を機能としてインストールしている場合は、ReAgent ファイルにアクセスできます。

    コマンド 1:

    copy "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\Sources\ReAgent*.*" "C:\WinPE_Mount\Windows\System32"
    

    このコマンドは、次の 3 つのファイルをコピーします。

    • ReAgent.admx
    • ReAgent.dll
    • ReAgent.xml

    コマンド 2:

    copy "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\Sources\En-Us\ReAgent*.*" "C:\WinPE_Mount\Windows\System32\En-Us"
    

    このコマンドは、次の 2 つのファイルをコピーします。

    • ReAgent.adml
    • ReAgent.dll.mui

    注意

    英語版の Windows を使用していない場合は、パスの"En-Us"をシステム言語を表す適切な文字列に置き換えます。

  3. すべてのファイルをコピーしたら、変更をコミットし、Windows PE WIM のマウントを解除します。 MBR2GPT.exe は、Windows PE で期待どおりに機能するようになりました。 変更のコミット中に WIM ファイルのマウントを解除する方法については、「イメージのマウント解除」を参照してください。

関連記事

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