Windows起動エラー「No Bootable Device」の修復とBCD(続く)

  • パソコンが「No Bootable Device」で起動しなくなった。 原因を調べたら、BCDファイル(起動設定データ)が完全に消失してました。回復ドライブからbcdbootコマンドで再作成したものの、UEFIファームウェア側の認識問題が残ってて一筋縄じゃいかず…

はじめに

パソコンを起動しようとしたところ、「No Bootable Device」というエラーが表示され、Windowsが全く起動しなくなるトラブルが発生しました。回復ドライブを使った修復作業を通じて、この問題の根本原因を特定するまでの過程を記録します。

Windows起動エラー「No Bootable Device」修復プロセス 症状 「No Bootable Device」エラー • 青い画面で起動停止 • 前日まで正常動作 診断結果 diskpart → ディスク認識OK EFIパーティション確認 → 存在 BCDファイル → 完全欠損 修復実行 1. EFIパーティションフォーマット 2. bcdboot C:\Windows /s S: /f UEFI 3. BCDファイル新規作成 「ブートファイル正常コピー完了」 新たな問題 UEFI設定でSecure Boot有効 →ファームウェア制限で設定変更不可 回復ドライブ自体もBCDエラー Error: 0xc000000f 推奨解決策 正常な修復メディア(WindowsインストールUSB)で再修復 複数レイヤー問題 BCD + NVRAM + 回復メディア

単純な起動トラブルと思われた問題が、実は複数の深刻な問題が重なった複雑なケースであることが判明しました。同様の問題に直面した方の参考になれば幸いです。

初期症状と環境

初期症状と環境 発生した症状 No Bootable Device 起動停止 前日まで正常動作 使用環境 機種: Gateway (Acer) ノートPC OS: Windows (詳細不明) ブートモード: UEFI ストレージ: 931GB SSD 発生タイムライン 前日 正常動作 発生日 起動不能 SSD TS128SSD220E (931GB)

発生した症状

回復ドライブからの診断開始 回復ドライブ起動 USBメモリから起動 → コマンドプロンプト起動 diskpart実行 DISKPART> list disk ディスク構成確認結果 ディスク 0 931GB (メインSSD) 正常に認識 ディスク 1 28GB (回復ドライブUSB) 正常に認識 診断結果 物理的故障ではない → パーティション調査へ

パソコンの電源を入れると、青い画面に「No Bootable Device」と表示され、その後は何も操作できない状態になりました。前日まで正常に動作していたため、突然の症状でした。

使用環境

  • 機種: Gateway(Acer)製ノートパソコン
  • ストレージ: 931GB SSD(TS128SSD220E)
  • ブートモード: UEFI
  • OS: Windows(詳細バージョンは起動不可のため不明)

回復ドライブからの診断開始

ディスク構成の確認

まず、回復ドライブからコマンドプロンプトを起動し、ディスクの状態を確認しました。diskpartコマンドを使用して調査した結果は以下の通りです。

diskpart
list disk
Code language: PHP (php)

この結果、2つのディスクが認識されました。

  • ディスク0: 931GB(メインのSSD)
  • ディスク1: 28GB(回復ドライブのUSBメモリ)

メインディスクは正常に認識されているため、物理的な故障ではないことが確認できました。

パーティション構成の詳細調査

次に、メインディスクのパーティション構成を確認しました。

select disk 0
list partition
Code language: PHP (php)

パーティション構成は以下のようになっていました。

  • Partition 1: プライマリ、50MB(EFIシステムパーティション)
  • Partition 2: プライマリ、980GB(メインのWindowsパーティション)
  • Partition 3: 回復、589MB(回復パーティション)

パーティション自体は正常に存在していることが確認できました。しかし、EFIシステムパーティションの詳細を調査したところ、重要な発見がありました。

重要な発見:BCDファイルの欠損

重要な発見:BCDファイルの欠損 パーティション構成 EFI 50MB Windows 980GB 回復 589MB 全パーティション正常に存在 → EFIシステムパーティション詳細調査へ EFIパーティション調査 select partition 1 assign letter=S → Sドライブ内容確認 EFI・Microsoftフォルダは存在 重大な発見:BCDファイル完全欠損 Boot Configuration Dataファイルが見つからない → Windowsの起動設定を管理する重要ファイル BCDファイル = 家の玄関の鍵(起動に絶対必要)

EFIシステムパーティションの調査

EFIシステムパーティション(起動に必要な重要なファイルが保存される領域)を詳しく調査するため、一時的にSドライブとして割り当てました。

select partition 1
assign letter=S

この領域の内容を確認すると、EFIフォルダやMicrosoftフォルダは存在していましたが、最も重要なBCDファイル(Boot Configuration Data)が見つかりませんでした。

BCDファイルとは、Windowsの起動設定を管理する重要なデータベースファイルです。家に例えると、玄関の鍵のような役割を果たします。このファイルがないと、どんなにWindowsのファイルが正常でも起動できません。

起動修復コマンドの実行結果

標準的な起動修復コマンドを順次実行しました。

bootrec /fixmbr

このコマンドは正常に完了しました。

bootrec /fixboot

このコマンドでは「アクセスが拒否されました」というエラーが発生しました。

bootrec /rebuildbcd

このコマンドでは「要求されたシステムデバイスが見つかりません」というエラーが発生しました。

これらの結果から、通常の自動修復では解決できない深刻な問題があることが明らかになりました。

BCDファイルの手動再作成

BCDファイルの手動再作成 ステップ1: フォーマット format S: /fs:fat32 /q EFI領域をクリーン状態に ステップ2: BCD作成 bcdboot E:\Windows /s S: /f UEFI 自動実行プロセス ✓ システムBCDストアの新規作成 ✓ 一般オブジェクトの作成 ✓ 復元オブジェクトの作成 ✓ メモリテストオブジェクトの作成 ✓ OSローダーオブジェクトの作成 ✓ ブートマネージャーオブジェクトの作成 「ブートファイルは正常にコピーされました」 修復作業完了 → 再起動テスト準備完了

EFIシステムパーティションのフォーマット

BCDファイルが完全に欠損していることが判明したため、EFIシステムパーティションを一度フォーマットして、クリーンな状態から再構築することにしました。

format S: /fs:fat32 /q
Code language: JavaScript (javascript)

フォーマットは正常に完了し、新しいボリュームラベル「EFI」が設定されました。

新しいBCDファイルの作成

フォーマット後、bcdbootコマンドを使用してBCDファイルを新規作成しました。

bcdboot E:\Windows /s S: /f UEFI

このコマンドにより、以下の作業が自動的に実行されました。

  • システムBCDストアの新規作成
  • 一般オブジェクトの作成
  • 復元オブジェクトの作成
  • メモリテストオブジェクトの作成
  • OSローダーオブジェクトの作成
  • ブートマネージャーオブジェクトの作成

最終的に「ブートファイルは正常にコピーされました」というメッセージが表示され、作業が完了しました。

予想外の展開:UEFI設定での新たな問題

予想外の展開:UEFI設定での新たな問題 再起動テスト失敗 BCD修復完了したが… 依然として起動できず → UEFI設定を確認 Secure Boot有効 新しく作成したBCDファイルが セキュアブートによりブロック → 設定変更を試行 ファームウェア固有の制限 Secure Boot設定変更 → Boot ModeがUEFIからLegacyに自動変更 UEFIモード用BCDファイル ≠ Legacyモード → ファームウェア実装による制限で両立不可 UEFIとSecure Boot設定の両立困難 回復ドライブでも新たな問題 Error: 0xc000000f – BCD missing or contains errors

UEFI設定での予想外の問題

BCDファイルの再作成が完了したため、再起動を試みましたが、依然として起動できませんでした。UEFI設定を確認したところ、Secure Boot(セキュアブート)が有効になっていることが分かりました。

Secure Bootとは、デジタル署名されていない不正なソフトウェアからシステムを保護するUEFI固有の機能です。新しく作成したBCDファイルや関連するブートローダーがこの機能によってブロックされている可能性を考え、一時的に無効にしようと試みました。

ファームウェア固有の制限

しかし、このシステムではSecure Bootの設定を変更しようとすると、Boot ModeがUEFIからLegacyに自動的に変更されてしまいました。これは一部のファームウェアで見られる実装で、設定画面の構造上の制限によるものです。

この変更により、新たな問題が発生しました。UEFIモード用に作成したBCDファイルは、Legacyモードでは使用できません。つまり、このファームウェアの制限により、UEFIとSecure Boot設定の両立が困難な状況になってしまったのです。

回復ドライブでの新たな問題

さらに、この時点で回復ドライブからも起動できなくなるという予想外の問題が発生しました。回復ドライブからは以下のエラーが表示されるようになりました。

Recovery
Your PC/Device needs to be repaired
The Boot Configuration Data for your PC is missing or contains errors.
File: \EFI\Microsoft\Boot\BCD
Error code: 0xc000000f
Code language: JavaScript (javascript)

この現象により、回復ドライブ自体のBCDファイルにも問題があることが判明しました。

問題の複雑さの理解

問題の複雑さの理解 2つの異なるエラー状況 回復ドライブ接続時 青画面 – Recovery Error 0xc000000f 回復ドライブなし 黒画面 – No Bootable Device 根本原因の複合的発生 ローカルドライブ BCDファイル完全欠損 UEFIファームウェアが Windowsブートエントリ を認識できない 回復ドライブ BCDファイルも破損 正常な修復作業が 実行できない状態 UEFI ファームウェア NVRAM内ブートエントリ 認識問題 設定制限あり 複数のシステムレイヤーで同時発生した複合的問題

2つの異なるエラーの確認

状況を整理するため、回復ドライブの有無による違いを確認しました。

回復ドライブを接続した場合: 青い画面でRecoveryエラーが表示され、回復ドライブのBCDファイルに問題があることを示しています。

回復ドライブを外した場合: 黒い画面で「No Bootable Device」が表示され、ローカルドライブがブート可能として認識されていないことを示しています。

この結果から、問題が複数存在することが明らかになりました。

根本原因の推測

これまでの調査と修復作業を振り返ると、以下の問題が重なっていることが分かりました。

ローカルドライブの問題: BCDファイルの完全な欠損により、UEFIファームウェアがWindowsブートエントリを認識できない状態になっています。

回復ドライブの問題: 回復ドライブのBCDファイルも破損しており、正常な修復作業ができない状態です。

UEFIファームウェアレベルの問題: UEFIファームウェアのNVRAM内にWindowsブートエントリが正しく登録されていない可能性があります。一部のファームウェアは「NVRAM maintenance」機能により、認識できない無効なブートエントリを自動的に削除することがあります。

起動プロセスの理解と問題の特定

起動プロセスの理解と問題の特定 1. 電源ON UEFIファームウェア 起動 2. NVRAM ブートエントリ リスト参照 3. EFI システム パーティション 4. BCD ファイル読込 起動設定適用 問題発生箇所の特定 「No Bootable Device」 ステップ2で発生 NVRAMにWindowsエントリなし Recovery BCDエラー ステップ4で発生 回復ドライブBCD破損 NVRAM Maintenance機能 一部のUEFIファームウェアは認識できない無効な ブートエントリを自動的に削除する機能を持つ → BCDファイル欠損でエントリが無効化され削除された可能性

UEFI起動プロセスの詳細

この問題を理解するために、UEFI起動プロセスを詳しく見てみましょう。

  1. UEFIファームウェアの起動: パソコンの電源を入れると、まずUEFIファームウェア(従来のBIOSの後継)が起動します。
  2. NVRAMブートエントリの参照: UEFIファームウェアはNVRAM(不揮発性RAM)に保存されたブートエントリリストを確認します。この情報は、各ドライブのBCDファイルとは独立してファームウェア内部で管理されています。
  3. EFIシステムパーティションへのアクセス: 選択されたブートエントリに基づいて、該当するEFIシステムパーティションにアクセスし、bootmgfw.efiファイルを実行します。
  4. BCDファイルの読み込み: ここで初めて、ローカルドライブのBCDファイルが読み込まれ、具体的な起動設定が適用されます。

問題の所在

「No Bootable Device」エラーは、主にステップ2の段階で発生します。つまり、UEFIファームウェアのNVRAM内にWindowsの起動エントリが正しく登録されていない状態です。

一方、回復ドライブから起動した際のBCDエラーは、ステップ4の段階で発生しています。回復ドライブのブートエントリはNVRAM内で認識されているものの、BCDファイルの内容に問題があるということです。

現在の状況と次のステップ

現在の状況と次のステップ 修復作業の成果 ✓ 完全なディスク診断 ✓ EFIシステムパーティション再構築 ✓ 新しいBCDファイル作成 ✓ 技術的手順は正常完了 残存する限界 × UEFIファームウェアレベル認識問題 × 使用可能な修復ツール不足 × 回復ドライブのBCD破損 × 根本的解決に至らず 推奨解決アプローチ 正常な修復メディアの作成が最も確実 Macパソコンでの作成手順: 1. Microsoft公式からWindows ISOダウンロード 2. Balena Etcher等でUSB作成 期待される効果 UEFIブートエントリ再登録 + より深いレベルでの修復作業

修復作業の成果と限界

これまでの作業により、以下のことが達成できました。

  • ローカルドライブの完全なディスク診断
  • EFIシステムパーティションの再構築
  • 新しいBCDファイルの作成

しかし、根本的な解決には至っていません。主な理由は以下の通りです。

  • UEFIファームウェアレベルでの認識問題
  • 使用可能な修復ツールの不足(回復ドライブの問題)

解決のための新しいアプローチ

現在の状況を打開するためには、新しいアプローチが必要です。最も確実な方法は、正常な修復メディアの作成です。

MacパソコンでWindowsのインストールメディアを作成する場合、以下の手順が有効です。

  1. Microsoft公式サイトからWindows ISOファイルをダウンロード
  2. Balena Etcher等のツールを使用してUSBメモリに書き込み
  3. 作成されたメディアから起動して修復作業を実行

この方法により、正常な修復環境を構築し、UEFIブートエントリの再登録や、より深いレベルでの修復作業が可能になります。

技術的考察と学んだこと

BCDファイル欠損の深刻さ

今回のケースで最も重要な発見は、BCDファイルの完全な欠損でした。このファイルは単なる設定ファイルではなく、Windowsの起動に絶対必要なデータベースです。

通常、部分的な破損であれば自動修復で解決することが多いですが、完全に欠損している場合は手動での再作成が必要になります。また、再作成しただけでは解決しない場合、UEFIファームウェアレベルでの問題も考慮する必要があります。

UEFI環境での起動トラブルの複雑さ

従来のBIOS環境と比較して、UEFI環境での起動トラブルは複数のレイヤーで問題が発生する可能性があります。

  • ファームウェアレベル(ブートエントリの管理)
  • パーティションレベル(EFIシステムパーティション)
  • ファイルレベル(BCDファイル、ブートローダー)

それぞれの層で独立した問題が発生する可能性があり、包括的な診断と修復が必要になります。

回復ツールの重要性

今回の経験から、回復ドライブやインストールメディアの品質が修復作業の成否を大きく左右することが分かりました。使用する回復メディア自体に問題がある場合、正確な診断や効果的な修復ができません。

複数の回復メディアを用意しておくこと、定期的に回復メディアの動作確認を行うことの重要性が改めて認識されました。

まとめ

「No Bootable Device」エラーから始まった今回のトラブルシューティングにより、以下の重要な事実が判明しました。

問題の根本原因は、BCDファイルの完全欠損とUEFIファームウェアレベルでのブートエントリ認識問題の複合的な発生でした。単純な起動トラブルではなく、複数のシステムレイヤーにわたる問題が同時に発生していたケースです。

技術的には、EFIシステムパーティションの再構築とBCDファイルの新規作成は正常に完了しましたが、UEFIファームウェアレベルでの認識問題が残存しており、正常な修復メディアを使用した追加の作業が必要な状況です。

  1. BCD ファイルの消失・破損による OS 起動不可 | Microsoft Japan Windows Technology Support Blog – BCDファイルの修復に関する Microsoft公式の詳細な手順説明
  2. BCDBoot のコマンド ライン オプション | Microsoft Learn – bcdbootコマンドの使用方法とオプションについてのMicrosoft公式ドキュメント
  3. UEFI 用の BCD システム ストアの設定 | Microsoft Learn – UEFIシステムでのBCD設定に関するMicrosoft公式技術資料
  4. 回復ドライブ – Microsoft サポート – Windows回復ドライブの作成と使用方法についてのMicrosoft公式ガイド
  5. Windows Server: BCDファイルの修復方法(起動モード: UEFI) | Dell 日本 – UEFIモードでのBCDファイル修復手順についてのDell公式サポート文書
  6. UEFI環境でのBOOT修復(Windows Boot Managerが表示されない場合) | Solomonレビュー – UEFIブート修復の実践的な手順解説
  7. Windows 用のインストール メディアを作成する – Microsoft サポート – 正常な修復メディア作成についてのMicrosoft公式手順