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

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

本記事では、UEFI搭載PCで誤って削除してしまったWindowsのEFIブートパーティションを手動で復元する方法を詳しく解説します。diskpartコマンドでEFIパーティションとMSRパーティションを再作成し、BCD(ブート構成データ)を修復することで、OSを再インストールせずにWindowsを再び起動できるようになります。手順はWindows 7からWindows 10まで、すべてのバージョンに共通して利用可能です。

UEFI(BIOSではなく)コンピューターのEFIブートパーティションは、OEMリカバリーパーティションの削除などを試みた際に、誤って削除またはフォーマットされてしまうことがあります。その結果、Windows 10/8.1/7が正常に起動できなくなり、「Reboot and select proper boot device or insert boot media in selected boot device and press a key」というメッセージとともに起動デバイスの選択を繰り返し求められる状態に陥ります。この記事では、ブートマネージャーとBCD構成を含むEFIパーティションを失った後でも、OSを再インストールせずにWindowsを復旧できるのかを検証します。

警告:このガイドではディスクパーティションを直接操作します。初心者にはおすすめできません。コマンドを誤って実行すると、ハードディスク上のすべてのデータを失う恐れがあります。作業前には必ず重要なデータを別の媒体にバックアップしてください。

目次

  • GPTハードディスクのパーティション構造(Windowsの場合)
  • WindowsにおけるEFIパーティションの欠落
  • GPTディスクにEFI/MSRパーティションを手動で作成する方法
  • EFIブートローダーとWindows BCDの修復

GPTハードディスクのパーティション構造(Windowsの場合)

まず、UEFIコンピューターにおけるGUIDパーティションテーブル(GPT)方式の起動ディスクの標準的な構成を確認しましょう。最低限、以下のパーティションが必要です。

  • EFIシステムパーティション(ESP) ― 100MB(パーティションタイプ:EFI)
  • Microsoft予約パーティション(MSR) ― 128MB(パーティションタイプ:MSR)
  • プライマリWindowsパーティション(Windowsが格納されたパーティション)

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

これは最小構成であり、未フォーマットのドライブにOSをクリーンインストールする際にWindowsセットアップが自動的に作成します。さらに、PCメーカーやユーザーが独自のパーティションを追加することもあります。たとえば、winre.wimファイルを収めたWindows回復環境(Windows RE)用パーティション、OEM提供のシステムイメージバックアップパーティション(工場出荷状態への復元用)、ユーザーデータ用パーティションなどです。

FAT32でフォーマットされたEFIパーティションは、UEFIコンピューターのGPTディスクに必須のパーティションで、GUIDは c12a7328-f81f-11d2-ba4b-00a0c93ec93b です。既定サイズは100MBですが、4KBセクターのアドバンスドフォーマットディスクでは260MBになります。

GPTディスク上のMSRパーティション(Microsoft System Reserved)は、パーティション管理を簡素化し、サービス操作(基本ディスクからダイナミックディスクへの変換など)に利用される領域です。GUIDは e3c9e316-0b5c-4db8-817d-f92df00215ae で、ドライブレターは割り当てられず、ユーザーデータの保存にも使えません。Windows 10ではサイズはわずか16MB(Windows 8.1では128MB)、ファイルシステムはNTFSです。MSRパーティションは、EFIパーティション(ESP)とWindowsのプライマリパーティションの間に配置する必要があります。

メインパーティションには、インストール済みのWindows、プログラム、ユーザーデータが格納されます。追加のデータパーティションが存在する場合もあります。

ヒント:UEFI搭載PCにWindowsをインストールするには、正規のDVDか、UEFI対応として作成したWindows 10(またはWindows Server)の起動可能USBメモリが必要です。

WindowsにおけるEFIパーティションの欠落

EFIパーティション(MBRディスクにおける「システム予約済み」パーティションに相当)には、BCD(ブート構成データ)とWindows起動に必要な複数のファイルが保存されています。PCの起動時、UEFI環境はEFI(ESP)パーティションからブートローダー EFI\Microsoft\Boot\bootmgfw.efi を読み込み、制御を引き渡します。bootmgfw.efiはWindows Boot Managerを起動し、BCDから構成情報を読み込みます。その後、winload.efiを介してWindowsの起動プロセスが始まります。

EFIパーティションが削除または破損すると、そのドライブからWindowsを起動できなくなります。「could not locate \efi\boot\bootx64.efi – not found」というUEFIエラーが表示されるか、起動デバイスの指定を求める空のUEFI Shellが立ち上がります。

また、EFIパーティションがNTFSでフォーマットされている場合もWindowsは起動できません。クリーンインストールを試みても、次のエラーが表示されます。

Windows detected that the EFI system partition was formatted as NTFS. Format the EFI system partition as FAT32, and restart the installation.

GPTディスクにEFI/MSRパーティションを手動で作成する方法

システムが起動しないため、Windows 10(8または7)のインストールメディア、あるいは他の起動・レスキューメディアを用意します。インストールメディアから起動し、最初のセットアップ画面で Shift+F10 を押すと、コマンドプロンプトが開きます。

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

ディスク・パーティション管理ツールを起動します。

Diskpart

接続されているハードディスクの一覧を表示します(この例ではディスクは1台のみ、disk 0です。GPT列のアスタリスク * はGUIDパーティションテーブルであることを示します)。

GPT列に * がない場合、そのディスクはMBRです。PCがネイティブなUEFIモードで起動していることを確認してください(そうでなければ、この手順は無意味です)。パーティションテーブルの種類が変わってしまった場合は、MBRからGPTへの変換を検討してください。

list disk

対象のディスクを選択します。

Select disk 0

ディスク上のパーティション一覧を表示します。

List partition

この例では、ドライブに残っているのは次の2つのパーティションだけです。

  • MSRパーティション ― 128MB
  • Windowsシステムパーティション ― 9GB

ご覧のとおり、EFIパーティションが欠落しています(削除済み)。

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

ヒント:EFIパーティション自体は残っていて、中のEFIファイルだけが破損している場合は、diskpartによるパーティション再作成を省略できます。多くの場合、EFIブートローダーの修復だけで十分です。

ここでの目的は、残存するMSRパーティションを削除し、EFI+MSR用として少なくとも228MBの未割り当て領域を確保することです。パーティションの削除はGUIツールのGPartedでも可能ですが、ここではコマンドラインから直接行います。

重要!ここでは細心の注意を払い、Windowsパーティションやユーザーデータを含むパーティションを誤って削除しないようにしてください。

削除するパーティションを選択します。

Select partition 1

そして削除します。

Delete partition override

Windowsパーティション(9GB)だけが残っていることを確認します。

List partition

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

これでEFIパーティションとMSRパーティションを手動で再作成できます。diskpartのセッション内で以下のコマンドを順に実行してください。

ディスクを選択します。

select disk 0

100MBのEFIパーティションを作成し、FAT32でフォーマットしてドライブレターを割り当てます。

create partition efi size=100

100MBのパーティション(Partition 1の前にアスタリスク)が選択されていることを確認します。

list partition
select partition 1
format quick fs=fat32 label="System"
assign letter=G

次に、128MBのMSRパーティションを作成します(Windows 10では16MBで十分です)。

create partition msr size=128
list partition
list vol

この例では、WindowsのメインパーティションにすでにC:が割り当てられています。割り当てられていない場合は、次のように設定します。

select vol 1
assign letter=C
exit

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

EFIブートローダーとWindows BCDの修復

UEFIコンピューター向けの最小限のパーティション構造を作成できたら、新しいEFIパーティションへブートファイルをコピーし、ブートローダー構成ファイル(BCD)を作成します。

Windowsがインストールされているドライブから、EFI環境のブートファイルをコピーします。

mkdir G:\EFI\Microsoft\Boot

xcopy /s C:\Windows\Boot\EFI\*.* G:\EFI\Microsoft\Boot

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

続いて、WindowsのBCDブート構成を再構築します。

g:
cd EFI\Microsoft\Boot
bcdedit /createstore BCD
bcdedit /store BCD /create {bootmgr} /d "Windows Boot Manager"
bcdedit /store BCD /create /d "My Windows 10" /application osloader

「My Windows 10」の部分は任意の名前に置き換えて構いません。

コマンドを実行すると、作成されたエントリのGUIDが返されます。次のコマンドでは、このGUIDを {your_guid} の部分に入力してください。

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

bcdedit /store BCD /set {bootmgr} default {your_guid}
bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
bcdedit /store BCD /set {bootmgr} displayorder {default}

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

以下のbcdeditコマンドは、{default}コンテキストで実行します。

bcdedit /store BCD /set {default} device partition=c:
bcdedit /store BCD /set {default} osdevice partition=c:
bcdedit /store BCD /set {default} path \Windows\System32\winload.efi
bcdedit /store BCD /set {default} systemroot \Windows
exit

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

ここでコンピューターを再起動します。今回の検証では最初の試行では起動しませんでした。その場合は以下を試してください。

  1. PCの電源を切る
  2. ハードディスクを物理的に取り外す
  3. PCの電源を入れ、「An Operating system not found」の起動エラー画面が表示されたら再度電源を切る
  4. ドライブを元に戻す

今回のケース(UEFIファームウェア搭載のVMware仮想マシンでテスト)では、さらにEFIパーティション上の EFI\Microsoft\Boot\bootmgrfw.efi ファイルを選択して、ブートメニューに新規エントリを追加する必要がありました。

UEFIファームウェアによっては、同様にパーティションの起動優先度を変更する必要がある場合があります。

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

以上の操作を完了すれば、Windowsは正常に起動するはずです。

Windows 10で削除されたEFIシステムパーティションを復元・再作成する方法【UEFI環境の起動不可を解決】

ヒント:それでも起動しない場合は、GParted LiveCDなどを使って、ブートフラグがEFIパーティションのみに設定されていることを確認してください。

  1. Windows 10のシステムの復元を活用する方法|有効化・復元ポイント作成・復元手順を完全解説

    「過去に戻ってやり直せたらいいのに…」と願ったことはありませんか?もちろん誰しもそう思うものですが、実はPCならそれが可能です。Microsoftが提供する「システムの復元(System Restore)」機能のおかげです。この機能を使えば、大切なドキュメントを守りながら、Windowsの状態を以前の正常な動作時点まで巻き戻すことができます。システムクラッシュやデバイスドライバーの不具合など、PCに重大なトラブルが発生した場合でも、システムの復元機能を使えば最後の復元ポイントまで時間を巻き戻し、以前のように快適な動作環境を取り戻せるのです。それでは早速、具体的な手順を見ていきましょう。Wind

  2. Windows 11でシステムの復元を使う方法!復元ポイントの作成から復元手順まで徹底解説

    Windowsの「システムの復元」機能は、トラブルシューティングにおいて非常に役立つ機能です。システムの復元を活用すれば、デバイスを以前の状態にロールバックし、チェックポイント以降に行われた変更をすべて取り消すことができます。PCに何か問題が発生した際に、すぐに正常な状態へ戻せる、まさに救世主のような機能です。よくあるエラーやバグのトラブルシューティング、誤って変更した設定の修正、不具合の解消など、あらゆる場面でシステムの復元は威力を発揮します。本記事では、Windows 11でシステムの復元を使う方法をわかりやすく解説します。ぜひ事前にマスターして、トラブルに備えておきましょう。システムの復