- Windowsの起動問題を修復するbootrecコマンドでOSが見つからない場合、基本フォルダ構造や重要なシステムファイルが破損している可能性があります。
- 修復には/fixmbrや/fixbootで物理的なブート領域を修復し、bcdbootでブート構成データを再作成します。
- それでも解決しない場合はSFCやDISMコマンドでシステムファイルやイメージの修復が必要です。
1. bootrecと起動プロセスの関係
bootrec
の/scanos
で「Windows のインストールとして認識された合計数:0」というエラー- Cドライブ(システムドライブ)にはアクセス可能でWindowsフォルダも表示できる
- ファイルシステム自体は問題なく機能している
「bootrec
」は、Windowsシステムの起動に関する問題をWindows回復環境(WinRE)から修復するためのコマンドラインユーティリティです。
システムが起動しない場合に特に役立ちます。
bootrecは、Windows回復環境(Windows RE)の一部で、通常のWindows環境では直接アクセスできません
ただし、起動プロセスのどこに問題があるかによって、対処方法が変わってきます。
bootrecは、コマンドオプションによって修復対象のデータを選びます。
/fixmbr
– マスターブートレコードを修復/fixboot
– ブートセクターを新しいものに書き換え/scanos
– インストールされているすべてのWindowsをスキャンする
システムに変更を加えない(読み取り専用の操作)/rebuildbcd
– BCD(Boot Configuration Data)ストアを完全に再構築
見つかったWindowsインストールをBCDストアに追加するか確認を求める
bootrec
は、「Boot Recovery」(起動の回復)に由来するコマンドです。
Windowsの起動プロセスに関する問題を回復・修復するために設計されています。
Windowsのブートローダーや起動関連の構成要素に問題が発生した際、それらを修復する役割を担っています。

簡単に言えば、/scanos
は情報収集のみを行います。/rebuildbcd
は内部的に/scanos
と同様のスキャン機能を使用していますが、さらに一歩進んでBCDストアの再構築も行います。
1-1. 起動プロセスとコマンドオプション
Windowsの起動プロセスでは、
物理ディスク → MBR → パーティションテーブル → ブートセクター → ファイルシステム → BCDストア → Windowsローダー → Windowsカーネルという流れでアクセスしていきます。

起動プロセスのどこかで問題があるはずです。
- 物理的なドライブの問題
(接続不良やドライブの認識エラー) - パーティション識別の問題
(MBRがアクティブパーティションを識別する段階)
→diskpart
で必要に応じてアクティブフラグを設定する
→/fixmbr
でMBRを再構築する - ブートセクターの破損
(アクティブパーティションのブートセクターを読み込む段階)
→/fixboot
でブートセクターを修復する - BCDストアの破損
(ブートローダーがBCDストアを参照する段階)
→/rebuildbcd
オプションでBCDストアを完全に再構築する - ファイルシステムの問題
(BCDの情報に基づいてWindowsシステムファイルにアクセスする段階)
例えば、C:ドライブ(システムドライブ)にアクセスできる場合は、1, 5の問題は除外できます。
2. bootrecでOSをスキャンする
BCDストアを再構築するためには、物理的なディスク上でWindowsインストールを探す必要があります。
それが、bootrecの/ScanOS
オプションです。

つまり、このプロセスは現在のBCDストアの内容には依存していません。
- システムに接続されているすべてのハードドライブを検出
- 各ドライブ上のすべてのパーティションをスキャン
- 各パーティションで有効なWindowsインストールの特徴を探す
2-1. 「Windows のインストールとして認識された合計数:0」の理由
通常であれば、Windowsがインストールされているドライブが認識されます。
物理的にWindowsフォルダが存在していても /ScanOS
でWindowsインストールが見つけられない場合は、bootrecがWindowsインストールとして認識するための重要なシステムファイルやフォルダ構造が破損している可能性があります。
有効なWindowsインストールは、以下のフォルダやシステムファイルで認識されます。
これらのファイルや構造が破損したり欠落したりすると、bootrecは有効なWindowsインストールを認識できなくなります。
基本フォルダ構造:
- \Windows
- \Windows\System32
- \Windows\Boot
重要なシステムファイル:
- \Windows\System32\winload.exe (Windows OS ローダー)
- \Windows\System32\config\SYSTEM (レジストリのシステムハイブ)
- \Windows\System32\ntoskrnl.exe (Windowsカーネル)
- \Windows\System32\HAL.dll (ハードウェア抽象化レイヤー)
ブート関連ファイル:
- \bootmgr (BIOS起動システム用のブートマネージャー)
- \EFI\Microsoft\Boot\bootmgfw.efi (UEFI起動システム用のブートマネージャー)
- \Boot\BCD (ブート構成データストア)
その他の重要ファイル:
- \Windows\System32\drivers (重要なドライバー)
- \Windows\System32\BOOTSECT.BAK (ブートセクターバックアップ)
- \Windows\System32\winresume.exe (休止状態からの復帰に必要)

ディスク上でWindowsインストールを探すのに、既存のBCDストアに依存しません。
しかし、WindowsをBCDストアに追加できるかを判断するために必要なブート関連ファイルを探します。
BCDストアに関連するブートファイル(bootmgr、winload.exeなど)の破損や欠落が問題になっている可能性があります。
3. BCDストアに関連するブートファイルを修正するには
BCDストアに関連するブートファイルを修正するコマンドは、直接的にはbootrec /rebuildbcd
です。
しかし、Windowsインストールが見つけられない以上、その前提となるデータを修復していく必要があります。
まず、基本的なブートレコード修復(bootrec /fixmbr
とbootrec /fixboot
)で物理的なブート領域を修復します。
それでも認識されない場合、ブート構成データの再作成(bcdboot)、システムファイルの修復(sfc)やシステムイメージの修復(dism)が必要になります。

bootrec /fixmbr
(MBRの問題)
MBRを新しいものに書き換える。bootrec /fixboot
(ブートセクターの問題)
ブートセクターを新しいものに書き換える。- bcdboot(ブートローダーの問題):
(bcdboot c:\Windows /s c: /f ALL)
ブートローダー設定が対象で、BCD情報を再構築してシステムパーティションに書き込む - SFC(OS内部の問題):
(sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows)
OSのシステムファイル(DLL、実行ファイルなど)が破損していれば、保護されたシステムファイルを元のバージョンと比較し、破損があれば置き換える - DISM(SFCより広範囲)1:
(dism /image:c:\ /cleanup-image /restorehealth)
Windowsイメージとコンポーネントストア全体を修復
SFCが修正できない深刻な破損やWindows Updateの問題を解決する

まずBCD修復→SFC実行→DISM実行の順で段階的に試みます。


![[Windows] 「自動修復を準備しています」から進まない【Dell Vostro 15-3568の事例(1)】](https://chiilabo.com/wp-content/uploads/2022/07/image-8-23-320x198.jpg)
