EFIシステムパーティションの修復ガイド|Windowsを起動できないときの直し方
EFIシステムパーティションの修復手順を、スタートアップ修復、BCDBoot、BCD再構築、EFIパーティションの再作成まで状態別に解説します。
EFIシステムパーティションの修復が必要な症状
電源を入れると「No bootable device」、「オペレーティングシステムが見つかりません」、0xc000000fなどが表示され、Windows Boot Managerから起動できない場合、EFIシステムパーティション(ESP)の起動ファイルやBCDが壊れている可能性があります。
ESPはUEFI方式のPCで使われる小容量のFAT32領域です。通常はドライブ文字がなく、WindowsブートマネージャーやBCDを保存します。ただし、同じ症状は起動順序、Windowsがインストールされているパーティションの破損、BitLocker、ストレージ故障でも起こるため、いきなりESPをフォーマットしてはいけません。
修復は、UEFI設定とディスク認識の確認、Windowsのスタートアップ修復、既存ESPへのBCDBoot、最後に必要な場合だけESPの再作成、という順序で進めます。重要データが読めるなら先に別ドライブへ退避し、BitLocker回復キーも用意してください。
EFIシステムパーティションの状態を切り分ける
|
確認結果 |
考えられる問題 |
優先する方法 |
|
FAT32のシステム領域が存在 |
BCD・起動ファイル・登録の破損 |
スタートアップ修復、BCDBoot |
|
ESPはあるがRAW/読み取り不能 |
ファイルシステムエラーまたは媒体の異常 |
データ保全後に再構築を判断 |
|
ESPがなく未割り当て |
誤削除・クローン漏れ |
復元または新規作成を目的別に選択 |
|
ディスク自体がBIOSにない |
接続・コントローラー・物理故障 |
通電を止め専門業者へ |
WindowsインストールUSBまたは回復ドライブから起動し、「コンピューターを修復する」>「トラブルシューティング」>「詳細オプション」>「コマンドプロンプト」を開きます。WinREではWindowsパーティションのドライブ文字がC:とは限りません。
ステップ 1:「diskpart」、「list disk」を実行し、Windowsがある物理ディスクとGPT列を確認します。
ステップ 2:「select disk 0」、「list partition」を実行し、小容量のFAT32システム領域とWindowsパーティションを容量・ラベルで特定します。番号は実際の環境に置き換えます。
ステップ 3:exit後、「dir C:\Windows」、「dir D:\Windows」のように確認し、実際のWindowsフォルダーの文字を記録します。
修復前に確認する4つのポイント
- ファームウェアの起動モードがUEFIに設定され、Windows Boot Managerが起動順序に登録されているか確認します。
- WindowsパーティションとESPが同じOSディスクにあるか、別ディスクへ依存していないか確認します。
- BitLockerが有効なら回復キーでWindowsパーティションを解除し、対象パスへアクセスできる状態にします。
- 異音、容量異常、頻繁な切断があるディスクには修復コマンドを繰り返しません。
複数のWindows、Linuxとのデュアルブート、複数ディスク環境では、ESPを修復すると他OSの起動項目へ影響することがあります。現在のパーティション一覧とUEFI起動項目を記録してから作業してください。
方法1:スタートアップ修復を実行する
ESPとWindowsパーティションが認識されているなら、最初にWindows標準のスタートアップ修復を試します。Microsoftによると、スタートアップ修復は破損したシステムファイルやBCDなど、起動を妨げる一般的な問題を自動診断します。
ステップ 1:WinREで「トラブルシューティング」>「詳細オプション」>「スタートアップ修復」を選びます。
ステップ 2:対象のWindowsを選択し、求められた場合はアカウントのパスワードまたはBitLocker回復キーを入力します。
ステップ 3:修復完了後に再起動し、UEFI設定でWindows Boot Managerを選択します。失敗レポートが出た場合は内容を記録して次へ進みます。
方法2:BCDBootでEFI起動ファイルを修復する
既存のESPがFAT32として正常に読めるのに起動できない場合は、BCDBootでWindowsフォルダーから起動ファイルをコピーし、BCDを再構築します。MicrosoftはBCDBootを、システムパーティションのセットアップまたは起動環境の修復に使うツールとして案内しています。
ステップ 1:DiskPartでESPを選択し、「assign letter=V」で一時的にV:を割り当てます。既に使用中の文字は選びません。
ステップ 2:exit後、「dir V:\EFI\Microsoft\Boot」と「dir C:\Windows」を確認します。WindowsがD:なら以後のC:をD:へ置き換えます。
ステップ 3:「bcdboot C:\Windows /s V: /f UEFI」を実行し、「ブート ファイルは正常に作成されました」と表示されるか確認します
コマンド実行後もUEFIの起動一覧にWindows Boot Managerが表示されない場合は、同じコマンドを繰り返さず、UEFIの起動順序と修復対象ディスクを再確認してください。NVRAMへの起動項目登録が必要な場合は、対象ディスクを十分に確認したうえで、/sと/fを指定せずに「bcdboot C:\Windows」を実行する方法があります。ただし、複数ディスク環境では意図しないESPが選択される可能性があるため、MicrosoftおよびPCメーカーの手順を確認してください。
ステップ 4:再起動してWindows Boot Managerを選びます。正常起動後はDiskPartのremove letter=Vで一時的な文字を外します。
「bootrec /fixboot」で「アクセスが拒否されました」と表示される事例があります。UEFI環境では、正しいESPとWindowsパーティションを確認したうえでBCDBootを使う方が直接的な場合があります。エラーを無視して無関係なパーティションをフォーマットしないでください。
方法3:BCDを退避して作り直す
BCDBootが成功しても同じBCDエラーが続く場合は、既存BCDを退避して再生成します。複数OSの起動項目やメーカー独自設定が失われる可能性があるため、1つのWindowsだけを起動する構成で、かつバックアップを確保できる場合に限って実行してください。
ステップ 1:「V:\EFI\Microsoft\Boot」へ移動し、「dir /a」でBCDが存在するか確認します。
ステップ 2:BCDがある場合は「attrib BCD -s -h -r」を実行し、「ren BCD BCD.bak」で名前を変更します。削除はしません。
ステップ 3:「bcdboot C:\Windows /s V: /f UEFI」を再実行し、新しいBCDを作成します。
ステップ 4:再起動後にWindowsと必要な起動項目を確認します。デュアルブートでは他OS側のブートローダー再登録が必要になる場合があります。
方法4:EFIシステムパーティションを再作成する
ESPが本当に存在しない、RAWで再利用できない、またはクローン先にコピーされなかった場合は、新しいFAT32のESPを作成してBCDBootで起動環境を構築できます。これは既存ESPの軽微な修復ではなく、構造を書き換える上級者向け作業です。
ステップ 1:重要データをバックアップし、対象ディスクがGPTであること、Windowsパーティションと未割り当て領域を再確認します。
ステップ 2:安全に使える未割り当て領域へDiskPartでEFIパーティションを作成し、FAT32でクイックフォーマットして一時的にS:を割り当てます。
対象がGPTディスクであり、使用してよい未割り当て領域が確実に存在する場合の例です。nは実際のディスク番号に置き換え、select diskの直後にdetail diskで製品名と容量を再確認してください。300MBを確保できない場合は、既存パーティションを削除せず作業を中止します。
- diskpart
- list disk
- select disk n
- list partition
- create partition efi size=300
- format quick fs=fat32 label=System
- assign letter=S
- exit
ステップ 3:「bcdboot C:\Windows /s S: /f UEFI」を実行し、起動ファイルを配置します。Windowsパーティションの文字はWinREで確認した値を使用します。
ステップ 4:再起動してWindows Boot Managerを確認します。正常起動後に一時文字を外し、ディスク構成とBitLockerの状態を確認します。
未割り当て領域を作るために、確認せず既存パーティションを削除してはいけません。Secure Boot、最新の署名済み起動ファイル、メーカー固有構成が関係する場合は、最新の公式Windowsインストールメディアとメーカー手順を使用してください。
EFI修復コマンドが失敗した場合の切り分け
エラーが出た場合は、同じ書き込みコマンドを繰り返す前に、表示内容に応じて対象パス、ESP、暗号化状態、ディスクの健康状態を確認します。
|
結果・エラー |
最初に確認すること |
避ける操作 |
|
Failure when attempting to copy boot files |
Windowsフォルダーの文字、ESPの文字とFAT32状態、BitLockerの解除状態 |
ESPをすぐにフォーマットしない |
|
BCDBootは成功したが起動項目がない |
/s指定の有無、UEFI起動順序、修復対象ディスク |
同じBCDBootコマンドを繰り返さない |
|
ESPがRAWまたは読み取り不能 |
ディスクの健康状態、バックアップ、選択したパーティション |
原因確認前にCHKDSKやフォーマットを実行しない |
|
BIOS/UEFIでディスクを認識しない |
接続、ストレージコントローラー、容量表示、異音や切断 |
修復コマンドを続けたり通電を繰り返したりしない |
EFIパーティションが消失した場合にMyRecoverを検討する
Windowsを起動できる状態へ戻すだけなら、新しいESPを作成してBCDBootを実行する方が目的に合います。一方、ESPを誤削除して未割り当てになり、元のパーティション境界やメーカー固有の起動ファイルをできるだけ保持して戻したい場合は、MyRecover Professionalの「パーティションの復旧」を論理復旧の選択肢として検討できます。
- 対応デバイスの多様性:内蔵および外付けHDD、SSD、SDカード、USBメモリなど、さまざまなストレージデバイスからのデータ復元に対応しています。
- 広範なデータ損失原因への対応:誤削除、ディスクフォーマット、ウイルス感染など、さまざまな原因によるデータ損失を復旧可能です。
- 多彩なファイル形式に対応:JPEG、PNG、MP4、MOV、DOC、XLSX、PDF、ZIP、RARなど、1,000種類以上のファイル形式に対応しています。
- 便利なハイライト機能:スキャン中にファイルの検索、フィルタリング、プレビュー、復元が簡単に行えます。
- 高い互換性:Windows 11、10、8、7およびWindows Serverに対応し、NTFS、FAT32、exFAT、ReFSなど、多様なファイルシステムをサポートします。
MyRecoverはBCD編集やUEFI設定を直す起動修復ツールではありません。「パーティションの復旧」は失われた、またはアクセス不能なパーティションと、その中の復元可能なファイルやフォルダを探します。上書き、SSDのTRIM、ファイルシステム損傷、媒体の健康状態により結果は変わります。
Windowsを起動できない場合は、対象ディスクを正常に動作する別のWindows PCへ接続するか、別のWindows環境から認識させてスキャンします。WinREのコマンドプロンプト上でMyRecoverを実行する手順ではありません。
ステップ 1:対象ディスクへの書き込みを止め、MyRecoverを正常に動作する別のWindows環境へインストールします。「パーティションの復旧」でESPを失った物理ディスクを選びます。
ステップ 2:高速スキャンから開始し、候補が見つからなければ完全スキャンを試します。
ステップ3:検出結果の容量、FAT32、開始・終了セクター、フラグを元のESPと照合し、一致する候補だけを選択して「続行」を押します。
ステップ 4:復旧後にパーティション構成を確認します。ESPが戻っても起動できない場合は、BCDBootでWindows起動ファイルとBCDを再作成します。
EFI修復後に確認すること
- 複数回再起動し、Windows Boot Managerから安定して起動できるか確認します。
- msinfo32でBIOSモードがUEFIになっているか確認します。
- BitLockerの保護状態と回復キーのバックアップを確認します。
- デュアルブート環境では、すべてのOSと起動メニューを確認します。
- ディスクのSMART警告や読み取りエラーがあれば、起動できても早めに交換します。
まとめ
EFIシステムパーティションの修復では、ESPが存在するか、FAT32として読めるか、Windowsパーティションに割り当てられているドライブ文字を最初に確認します。ディスク構成を変更しないスタートアップ修復から始め、既存ESPにはBCDBoot、BCD破損時は退避後の再生成、ESPがない場合だけ再作成を検討してください。誤削除した元のESPをパーティション単位で戻したい場合に限り、MyRecoverの「パーティションの復旧」が候補になります。
よくある質問
1.EFIシステムパーティションをフォーマットしてもよいですか?
既存の起動ファイルや他OSのブートローダーが失われるため、最初からフォーマットしてはいけません。スタートアップ修復とBCDBootを先に試し、再作成が必要と確認できた場合だけバックアップ後に実行してください。
2.bootrec /fixbootでアクセスが拒否された場合はどうしますか?
UEFI環境では、DiskPartで正しいFAT32のESPへ一時的な文字を割り当て、Windowsパーティションを確認してBCDBootを実行します。ディスク番号やドライブ文字を推測せず、容量とフォルダーで必ず照合してください。
3.BCDBootでブートファイルをコピーできない原因は何ですか?
WindowsパーティションやESPの文字が違う、BitLockerが未解除、ESPがRAWまたは容量不足、Windowsファイルが破損している可能性があります。各領域を確認し、物理エラーがある場合は書き込みを止めてください。
4.EFIパーティションを修復すると個人データは消えますか?
BCDBootで既存ESPへ起動ファイルを配置するだけなら、通常はWindowsパーティションの個人ファイルを対象にしません。ただしDiskPartやフォーマットで対象を誤ると消失するため、事前バックアップと番号確認が必要です。
5.EFIパーティションがRAWの場合にCHKDSKを実行できますか?
FAT32のESPがRAWになった原因を確認せずCHKDSKを実行すると、管理情報が変わる可能性があります。ディスクの健康状態とバックアップを優先し、必要なら新しいESPを構築してBCDBootで起動環境を戻します。
6.MyRecoverだけでEFIの起動エラーも直せますか?
いいえ。MyRecoverは失われた論理パーティションと復元可能な内容を探すソフトです。ESPを復旧できても、Windows Boot ManagerやBCDが壊れていれば、スタートアップ修復やBCDBootが別途必要です。