Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

MBR2GPTの使い方:Windows 10でMBRディスクをデータを失わずにGPTへ変換する方法

Mbr2gpt.exeは、Windows 10に標準搭載されたコンソールツールで、既存のパーティションを削除することなく、またデータを失うことなく、MBR(マスターブートレコード)パーティションテーブルのディスクをGPT(GUIDパーティションテーブル)へ変換できます。このツールは、Windows PE(Windows Preinstallation Environment)環境だけでなく、稼働中のWindows 10から直接実行することも可能です。データ用(システム以外)のディスクだけでなく、/allowFullOSオプションを使用すれば、Windows 10がインストールされているシステムディスクも変換できます。

MBR2GPTツールの仕組み

mbr2gpt.exeは、Windows 10ビルド1703(Creators Update)以降のイメージに含まれています。それ以前のWindows 10ビルド(1507、1511、1607)では、オフラインモード(WinPE環境)でMBRからGPTへの変換に使用できます。Windows 7/8.1などの旧バージョンは公式にはサポートされていません。

補足:以前は、サードパーティ製ツール「gptgen」を使えば、システム以外のディスクを既存パーティションを保持したままMBRからGPTへ変換できました。しかしシステムディスクを変換するには、ディスクを完全に消去し、GPTパーティションテーブルと新しいパーティションを作成した上で、Windows 10をクリーンインストールする必要がありました。

MBR2GPTのドキュメントによると、ディスクのパーティションテーブルをGPTへ変換するには、以下の条件を満たす必要があります。

  • 現在のディスクのパーティションテーブルがMBRであること
  • ディスクの先頭と末尾に、プライマリおよびセカンダリGPTテーブルを配置するための空き領域があること
  • MBRテーブルに含まれるパーティションが3つ以下で、そのうち1つがアクティブであること(拡張パーティションや論理パーティションが存在しないこと)
  • BCD構成に、Windowsパーティションを指すブートエントリが存在すること

MBRディスクをGPTへ変換する際のmbr2gptの処理の流れは以下のとおりです。

  1. ディスクのチェック
  2. EFI(ESP)システムパーティションが存在しない場合、いずれかのパーティションの空き領域から作成される(空き領域が不足している場合は「cannot find room for the EFI system partition」というエラーが表示される)
  3. UEFIブートファイルをEFIパーティションへコピー
  4. GPTメタデータとパーティションテーブルをディスクに適用(既存パーティションのデータを失うことなくMBRパーティションテーブルをGPTへ変換)
  5. BCDブートローダー構成の更新

MBR2GPTツールの構文は以下のとおりです。

mbr2gpt /validate|convert [/disk:] [/logs:] [/map:=] [/allowFullOS]

  • /validate — パーティションテーブルが変換可能かどうかのみ検証します(ディスク先頭の16KB+2セクター、末尾の16KB+1セクターの空き領域チェックを含む)
  • /convert — 検証が成功した場合にディスクの変換を開始します
  • /disk: — GPTへ変換するディスク番号を指定します。指定しない場合はシステムディスクが対象になります(Diskpartのselect disk system相当)
  • /logs: — MBR2GPTがログファイルを書き出すディレクトリのパスを指定します。未指定の場合は%windir%フォルダが使用されます。ログファイルはdiagerr.xml、diagwrn.xml、setuperr.log、setupact.logです
  • /map: — MBRとGPT間の追加のパーティションテーブルマッピングを指定できます。例:/map:42={af9b60a0-1431-4f62-bc68-3311714a69ad}。MBRパーティション番号は10進数で、GPT GUIDには区切り文字を付けます。複数のマッピングを同時に指定することも可能です
  • /allowFullOS — デフォルトではMBR2GPTはWindows PEでのみ使用できます。このパラメータを指定すると、稼働中のWindows 10から直接システムディスクを変換できます。このキーを指定せずにWindowsからmbr2gptを実行すると、「ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.」というエラーが表示されます

Windows 10からデータを失わずにMBRからGPTへ変換する手順

MBRからGPTへのディスク変換操作は元に戻せません。変換前に、お使いのコンピュータがUEFIに対応していることを必ず確認してください。

ヒント:システムディスクがBitLockerで暗号化されている場合は、変換前に復号しておいてください。

まず、システムディスクがMBRからGPTへ変換可能かどうかを検証しましょう。

mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS

MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512

MBR2GPT: Validation completed successfully」と表示されれば、このディスクは変換可能です。「MBR2GPT: Disk layout validation failed」と表示された場合は、条件を満たしていないため変換できません。

よくあるエラー「Cannot find OS partition(s) for disk 0」は、サードパーティ製ブートローダーの使用や、誤ったディスクの指定が原因であることが多いです。Windowsのブートファイルをシステムパーティションへ移動し(bcdboot c:\Windows /f bios /s c:)、BCD内のWinRE環境のエントリが正しいか確認してください(reagentc /disable && reagentc /enable)。

検証が成功したら、システムディスクのパーティションテーブルを変換します。

mbr2gpt.exe /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!

インストール済みのWindows 10からのディスク変換は、数秒で完了します。

新しいEFIパーティションからコンピュータを起動するには、UEFIモードで起動するようファームウェア設定を変更する必要があります。コンピュータを再起動し、UEFI設定画面でブートモードをLegacy(BIOS)からUEFI(Pure)に変更して保存してください。

Windows 10が正常に起動すれば成功です。msinfo32.exeを起動し、「BIOSモード」がUEFIと表示されていれば、UEFIモードで起動できています。

ネイティブUEFIモードとGPTパーティションテーブルへ移行する主なメリットは以下のとおりです。

  • 2TBを超えるサイズのパーティションを作成できる
  • Secure Bootによるブート環境の保護
  • ELAM(Early Launch Antimalware)技術
  • Windows 10 EnterpriseのDevice GuardおよびCredential Guard機能
  • Measured Boot(測定ブート)

Windows 10インストール時のMBRからGPTへの変換

mbr2gptツールは、Windows 10のインストール中にも使用できます。例えば、UEFI起動可能なUSBメモリを作成し、UEFIベースのコンピュータ上のMBRパーティションテーブルのディスクにWindows 10をインストールしようとすると、次のエラーが表示されます。

Windows cannot be installed to this disk. The selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.

MBRディスク上の既存のデータパーティション(LegacyモードやBIOS搭載コンピュータで使用していたもの)を失いたくない場合は、Windows 10のインストール画面から直接MBRディスクをGPTへ変換できます。

  1. Windows 10のセットアップ画面でShift+F10キーを押し、WinPE環境のコマンドプロンプトを開きます
  2. ディスクのパーティションテーブルがGPTへ変換可能か確認します。コマンド:mbr2gpt /validate を実行します
  3. Validation completed successfully」が返ってくれば、このディスクを変換できます。「Failed to retrieve geometry for disk -1」というエラーが出た場合は、複数のディスクが接続されている可能性があります。diskpartlist diskを実行してディスク番号を特定し、mbr2gpt /validate /disk:0のようにディスク番号を指定して検証してください
  4. パーティションテーブルを変換するには、mbr2gpt /convertまたはディスク番号を付けてmbr2gpt /convert /disk:0を実行します
  5. mbr2gptツールが新しいEFIシステムパーティション(ブートパーティション)を作成し、Windowsブートローダーをコピーして、パーティションテーブルをGPTへ変換します(既存パーティションは保持されます)。あとはWindows 10セットアップ画面に戻り、ディスク選択画面で「更新」ボタンをクリックして、選択したパーティションにWindows 10をインストールするだけです

MBR2GPTの既知の問題

mbr2gptでパーティションテーブルを変換した後、最も多いのはBitLockerとHyper-V(Windows 10 Pro/Enterpriseエディションで利用可能)に関する問題です。

システムディスクを変換した後にBitLockerを有効化しようとすると、「The system cannot find the file specified」というエラーメッセージが表示されることがあります。これは多くの場合、Windows回復環境(WinRE)の問題です。

この場合は、%windir%\System32\Recovery\ReAgent.xmlファイルの名前を変更してからBitLockerを有効化してみてください(新しいReAgent.xmlファイルが自動的に作成されます)。

また、Hyper-V仮想マシンの起動時に次のエラーが発生することがあります。

Virtual machine could not be started because the hypervisor is not running.

このエラーを修正するには、BCD構成でHyper-Vの自動起動を有効にします。

BCDEDIT /Set {current} hypervisorlaunchtype auto

以前のWindowsバージョン(7/8.1)が入ったディスクを変換しようとすると、「mbr2gpt cannot install new boot files」というエラーが表示されます。この場合は、まずWindows 10へのアップグレード(上書きインストール)を行ってから、パーティションテーブルを変換することをお勧めします。

  1. Windows 10/8/7でエラー0x80071AC3「ボリュームがダーティです」を修正する5つの方法

    記事の要点:Windowsのハードディスクから外部ストレージへデータをコピーしようとした際に「ボリュームがダーティです(Volume is Dirty)」というエラーメッセージが表示されると、戸惑ってしまいますよね。本記事では、ドライブをクリーンアップするための簡単な手順を使って、この問題を解決する最も手軽な方法をご紹介します。 重要な作業中に中断させられるのはストレスfullなものですが、特に同じシステムエラーが繰り返し表示される場合はイライラも募ります。「エラー0x80071AC3:ボリュームがダーティです」はその代表例で、データのコピー中によく発生します。ハードディスクから外部ストレー

  2. Windows 10のディスク管理とパーティション操作を徹底解説!開き方から活用術まで

    ディスク管理は、本棚の整理に例えると分かりやすいでしょう。収納スペースや容量、状態などを自分で決めて、将来のためにより良い環境を整えられるのです。Windows 10のディスク管理機能も同様に、各ディスクの種類、レイアウト、容量、パーティション、フォールトトレランス(障害耐性)などをひと目で確認・管理できます。この記事では、ディスク管理の詳細を解説します。読み終える頃には、ほとんどの場合において外部ソフトを使わずに適切な操作を行えるようになっているはずです。ディスク管理を開く方法開き方はいくつもありますが、まずは最も手軽な方法から紹介します。方法1:スタートメニューを右クリック画面左下のスター