- Windowsの起動プロセスは、複数のフェーズ(プリブート、ブートマネージャ、OSローダー、カーネル)に分かれており、それぞれのフェーズで障害が発生すると、異なる症状が現れます。
- Startup Repair、BOOTREC、BCDEDIT、RegBackなどのツールを使用すると、破損したMBR、ブートセクタ、BCD、レジストリハイブを修復できます。
- ブートログファイルNtbtlog.txtは、boot.iniまたはBCDEDITによって起動され、ロードされたドライバとスキップされたドライバを記録します。これは、障害の診断において重要な情報です。
- ブートログ、イベントビューアー、SFC/DISM、およびメモリダンプを組み合わせることで、Windowsの起動を妨げているドライバーやアップデートを特定しやすくなります。
Windowsが起動せず、黒い画面、再起動ループ、またはブルースクリーンで止まってしまう場合通常の反応はパニックになることです。しかし、一般的な自動化ツール以外にも、何が起こっているのかを理解するための非常に強力なリソースがあります。それはブートログファイルまたは ブートログ特に有名な Ntbtlog.txt.
これらのログには、システム起動中にどのドライバーとコンポーネントがロードされるか(またはロードに失敗するか)が詳細に記録されています。スタートアップ修復などの他のユーティリティと組み合わせると、 BOOTREC, DISM または Windows レジストリ自体により、従来の BIOS を搭載したコンピュータと UEFI を搭載した最新のシステムの両方で、多くのブート問題の根本原因を攻撃することができます (UEFIでのブートプロセス).
Windowsの起動はどのように行われ、どの段階でエラーが発生するのでしょうか?
レビューを始める前に Ntbtlog.txt コマンドをコンソールに貼り付けるWindowsの起動プロセスがどのように構成され、各段階でどのコンポーネントがアクティブ化されるかを理解することが重要です。これにより、エラーが非常に早い段階(ファームウェア/BIOS)、ブートマネージャ、オペレーティングシステムローダー、またはWindowsカーネルが動作する段階で発生するのかを判断できます。
一般的に、最新のWindowsシステムの起動サイクルは4つの主要なフェーズに分けられます。 これらは従来のBIOSマシンとUEFIファームウェアシステムの両方で発生しますが、関連するファイルとパスは若干異なります。
- フェーズ1 – プリブートファームウェア(BIOSまたはUEFI)は、POST(電源投入時自己診断テスト)を実行し、基本ハードウェアを初期化して、有効なシステムディスクを特定します。BIOSマシンではMBR/PBRが読み込まれ、UEFIではファームウェアがロードされ、WindowsブートマネージャであるEFIアプリケーションが検索されます。
- フェーズ2 – Windowsブートマネージャーここでブートマネージャが登場し、ブート構成を検索して、どのシステムを起動するかを決定します。
- フェーズ3 – Windows OSローダー: システム充電器 (
winload.exeowinload.efi) 起動時にロードするようにマークされたカーネルとドライバをロードします。 - フェーズ4 – Windows NTカーネル: カーネル (
ntoskrnl.exe) 制御権を取得し、システムレジストリハイブをマウントし、ドライバをロードします。BOOT_STARTそしてシステムセッションが開始されます(Smss.exe) が起動し、それがさらに他のサービスとコントローラーを起動します。
これらの各段階には、それぞれ特徴的な症状とエラーメッセージがあります。典型的な「Bootmgr が見つかりません」から次のようなエラーまで INACCESSIBLE_BOOT_DEVICE または、Windowsロゴの直後にブルースクリーンが表示される場合など、さまざまなツールを使用して診断および修復が行われます。
| 段階 | ステージ | BIOS搭載機器 | UEFI対応デバイス |
|---|---|---|---|
| 1 | プリブート | MBR/PBR(ブートコード) | UEFIファームウェア |
| 2 | Windowsブートマネージャー | %SystemDrive%\bootmgr | \EFI\Microsoft\Boot\bootmgfw.efi |
| 3 | Windows OSローダー | %SystemRoot%\System32\winload.exe | %SystemRoot%\System32\winload.efi |
| 4 | Windows NTカーネル | %SystemRoot%\System32\ntoskrnl.exe | (同じだが、UEFI環境下で) |
始動不良の診断における目標は、この一連のプロセスの中でどの時点で不具合が発生しているかを「特定する」ことである。そこから、ブートログファイル、スタートアップ修復からのSrtTrail.txt、メモリダンプ、レジストリを調べるのが適切かどうか、あるいはブートコード(MBR、BCD、Bootmgrなど)に焦点を当てるべきかどうかを判断できます。
BIOSまたはファームウェアの障害:その検出方法
コンピューターにWindowsロゴすら表示されない場合 画面が真っ黒になって明確なメッセージが表示されない場合、あるいは電源すら正常に入らない場合は、通常、ファームウェア自体か基本ハードウェアに問題があります。
システムがBIOSフェーズを通過したかどうかを判断するための非常に簡単なチェックがいくつかあります。 もしくは、そこに引っかかっている:
- すべての外部周辺機器を取り外します (USBメモリ、外付けハードディスク、プリンターなど…)。ファームウェアがリムーバブルデバイスから起動しようとして、フリーズしてしまうことがあります。
- ハードドライブの動作LEDを確認してください電源投入時に全く点滅しない場合は、ブートセクタの読み取り段階に達していない可能性があります。
- Num Lockキーを押してみてください。キーボードのインジケーターが変化しない場合、通常はファームウェアまたはマザーボードのレベルでシステムが完全にフリーズしていることを示しています。
フリーズがこの初期段階にある場合、通常はハードウェアの故障が原因です。 (メモリ、マザーボード、電源、ハードドライブの故障など)ブートファイルの問題の場合はそれほどではないので、これらのケースでは分析は Ntbtlog.txt そして、類似のものはそもそも生成されない。
ブートマネージャおよびローダー(MBR、BCD、Bootmgr)のエラー
機械の電源を入れると、メーカーのロゴが表示され、その後、点滅するカーソルが表示された黒い画面が表示されます。 「オペレーティングシステムが見つかりません」、「Bootmgrが見つかりません」などのメッセージや、BCD関連のエラーが表示される場合は、問題はすでにブートマネージャ(ブートマネージャ/ブートローダー)の段階にあります。
この段階でよく見られるメッセージを見れば、状況はかなり明確になる。:
Boot Configuration Data (BCD) missing or corruptedBoot file or MBR corruptedOperating system missingBoot sector missing or corruptedBootmgr missing or corruptedUnable to boot due to system hive missing or corrupted
この時点で最も効果的な対処法は、外部のWindowsインストールメディアから起動することです。 (Microsoft ツールで作成された USB/DVD、または同等以上のバージョンの ISO イメージ) を使用し、Shift+F10 キーの組み合わせ、または高度な回復オプションを使用してコマンド プロンプトを開きます。
スタートアップ修復ツールを使用する
まず最初に試すべきは、Windowsのスタートアップ修復ユーティリティです。なぜなら、多くのチェックを自動化するからです。ブートファイルの整合性をチェックし、BCDの修復を試み、破損したブートセクタを修復し、実行した処理のログを生成します。
ユーザーの流れは非常にシンプルです。 インストール済みのWindowsと同じバージョンのインストールメディアから起動する場合:
- Windows インストール用 USB/DVD からコンピュータを起動し、最初のウィンドウでクリックします。 次へ > 機器の修理.
- 選択画面で、 トラブルシューティング.
- へのアクセス 詳細オプション > スタートアップ修復 そして、ツールにシステムを分析させましょう。
- 完了したら、ウィザードを使ってシャットダウンし、通常どおり起動してみてください。
このツールが行うすべてのことはファイルに記録されます SrtTrail.txtにある %windir%\System32\LogFiles\Srt\Srttrail.txtこれはブートログのスタイルではありませんが、 Ntbtlog.txtはい、検出された内容と、適用しようとした措置を理解することは有益です。
BOOTRECを使用してMBRとブートセクタを修復する
スタートアップ修復で問題が解決しない場合は、次の定番の手順としてツールを使用します。 BOOTREC (見る BOOTRECガイド) リカバリ環境のコマンドプロンプトから実行します。このユーティリティを使用すると、MBRの書き換え、ブートセクタの再構築、およびBCDデータベースの再生成を行うことができます。
一般的なMBRおよびブートセクタの問題に対処するための基本コマンド これらは次のとおりです。
- MBRを書き換える (別のシステムやサードパーティ製ツールによって上書きされている場合に非常に役立ちます):
bootrec /fixmbr - システムパーティションのブートセクタを修復する:
bootrec /fixboot
一部のシナリオ(特にFAT32でEFIパーティショニングを行うUEFIシステム)では 実行時に恐ろしい「アクセス拒否」メッセージが表示されることがあります /fixbootこのような場合は、システムパーティションに正しいドライブ文字が割り当てられていることを確認し、場合によってはアクティブとしてマークするか、ブートファイルをコピーして手動で修復する必要があります。 bootmgr そしてその内容 \EFI\Microsoft\Boot.
BCD倉庫のエラーを修正する
BCDが破損している場合、または存在しない施設を指している場合「ブート構成データ」に関するより具体的なエラーが表示されます。ここでは、BOOTRECとBCDEDITが連携して動作します(参照)。 BCDEDITによる診断).
BCDをゼロから再生するための典型的な手順 これは:
- 検出可能なWindowsインストールをスキャンします。
bootrec /scanos - スキャン後も起動しない場合は、BCDをバックアップして再構築してください。
bcdedit /export C:\bcdbackupattrib C:\boot\bcd -r -s -hren C:\boot\bcd bcd.oldbootrec /rebuildbcd - 見つかったインストールをブートリストに追加するかどうかを尋ねられたら、「はい」と答えてください。
場合によっては、「要求されたシステムデバイスが見つかりませんでした」というエラーメッセージが表示されることがあります。 インストールを追加しようとすると、そこで確認する必要があります。 diskpart システムパーティションが正しくマークされ、ドライブ文字が割り当てられており、破損していないことを確認する。
Bootmgr ファイルを置き換える
何度か試した後、エラーが直接 bootmgr 損傷を受けた問題のあるコピーの名前を変更し、システム予約パーティションまたはインストールメディアから新しいコピーを配置することができます。
基本的な考え方は、古いものをそのままにしておくことだ。 bootmgr 安全に動作しているものをコピーする システムが存在するパーティションへ:
- システム予約パーティション(通常はFAT32またはNTFSで文字なし、最新のWindowsでは約100MB)を特定し、それに文字を割り当てます。
diskpart必要に応じて - そのパーティションで、隠しファイルとシステムファイルを一覧表示するには、次のコマンドを使用します。
attrib -r -s -h - システムドライブでも同じ操作を行います(例:
C:) を見るためにbootmgr既存の。 - 名前を変更する
bootmgr損傷した例:ren C:\bootmgr bootmgr.old - をコピー
bootmgrシステム予約パーティションからWindowsドライブのルートまでが「正常」です。 - 再起動して、起動するかどうか確認してください。
システムレジストリサブツリーを復元する
エラーメッセージはシステムハイブをロードできないことを示しています 「システムハイブが見つからないか破損しています」というエラーメッセージが表示される場合、問題は純粋なブート関連の問題からレジストリの問題へと移行します。このような場合、通常は有効なバックアップからレジストリサブツリーを復元する必要があります(復元方法については、 RegScannerでレジストリを改善).
WinRE回復環境またはERD修復ディスクから 内容をコピーできます C:\Windows\System32\config\RegBack a C:\Windows\System32\config破損したファイル(SYSTEM、SOFTWAREなど)を上書きします。それでも起動しない場合は、システム全体のバックアップを復元し、必要なハイブのみを復元する必要があります。
カーネルフェーズ:ロゴ表示後にブルースクリーン、ループ、クラッシュが発生する
すでに Windows ロゴが表示されている場合は、回転する「ホイール」アイコンのドットも表示されます。しかし、突然ブルースクリーンが表示されたり、フリーズしたり、あるいは単にブラックスクリーンが表示されたりした場合は、問題はカーネルフェーズ、またはその段階でロードされるドライバにある可能性が最も高いです。
この段階における失敗の典型的な症状はよく知られている。:
- スプラッシュ画面の直後に停止コードを実行します(例:
0x00000C2,0x0000007Bなど)。 - のエラー
INACCESSIBLE_BOOT_DEVICE停止識別子0x7Bが表示され、これはブートディスクへのアクセスに問題があることを示しています。 - 回転するドットホイールは「システム処理中」の状態のままです。
- Windowsのロゴが表示された後、画面が真っ暗になり、メッセージも表示されません。
このような状況では、回復の選択肢は限定的な方法で開始することに基づいています。 そして、イベントビューアー、ブートログ、メモリダンプ、レジストリ自体などのツールを使用して診断を行います。
セーフモードと前回正常起動時の構成を試す
セーフモードは、必要最低限のものしか読み込まないため、今でも定番のモードです。 これにより、Windowsが起動する際に、問題の原因となっている可能性のあるサードパーティ製のドライバーやサービスの大部分が除外されます。
詳細ブートオプションから 試してみてください:
- セーフモード
- セーフモードとネットワーク
- 最後に正常に動作した構成 (お使いのバージョンで利用可能な場合)
チームがこれらのバリエーションのいずれかでうまく機能すれば最初に推奨されることの 1 つは、 イベントビューア また、症状が現れ始めた頃のシステムログやアプリケーションログを確認し、関連するイベントをコピーして冷静な分析に活用する。
競合するサービスやドライバーを見つけるためのクリーンなスタート
問題がサードパーティのサービスまたはコントローラーに起因する場合 (ウイルス対策ソフト、バックアップソフト、特殊ストレージドライバなど)このツールを使って「クリーンブート」を実行すると非常に便利です。 msconfig.
システム設定で「選択的スタートアップ」を選択できます。 そして、起動失敗の原因となっているサービスが見つかるまで、特にマイクロソフト以外のサービスなど、重要度の低いサービスを段階的に無効にしてください。原因が見つかったら、そのサービスを永久的に無効にして、「通常の起動」に戻すことができます。
問題がドライバの署名にある場合(特にセキュアブートや署名要件のあるx64システムの場合)別の方法としては、「署名付きドライバーの強制使用を無効にする」オプションから始めて、どのドライバーが署名を必要としているのか、あるいは競合を引き起こしているのかを分析する方法があります。その際、この種の問題に関するマイクロソフトの特定の記事に記載されているガイドラインに従ってください。
INACCESSIBLE_BOOT_DEVICE エラー (STOP 0x7B)
間違い INACCESSIBLE_BOOT_DEVICE それは最も恐れられているものの1つです これは、Windowsが起動するはずのドライブにアクセスできないことを意味するからです。原因としては、ストレージドライバの不備、サードパーティ製フィルタ、BIOSでのSATA/RAIDコントローラモードの変更などが考えられます。
このエラーに対処する高度な方法として、レジストリ内のサードパーティ製ドライバーをフィルタリングする方法があります。 回復環境から:
- 同じバージョンまたはそれ以降のバージョンのWindowsのISOイメージを使用して、WinREを起動します。
- レジストリ エディターを開き、システム ハイブを読み込み、例えば一時的な名前を付けます。 test.
- キーへ移動:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class - エントリを検索 UpperFilters y LowerFilters それらは、マイクロソフト製ではないドライバーを参照しています。
- 容疑者となる運転者ごとに、対応するフィルタ値の内容をクリアしてください。
- 巣箱の中で他に同様の事例がないか探し、慎重に修正を加え、作業が完了したら巣箱から蜜を取り出してください。
- システムを通常モードで再起動し、0x7Bエラーが解消されたかどうかを確認してください。
Windowsアップデートをインストールした直後に問題が発生した場合保留中のパッケージを削除したり、更新アクションを元に戻したりする必要がある場合があります。 DISMレジストリ内の値を変更する(たとえば、サービス TrustedInstaller)ファイル名の変更など pending.xml en WinSxS プロセスをブロック解除する。
Windowsでブートログを有効にする
ここで、この記事の主役であるアーカイブが登場する。 Ntbtlog.txtこのファイルは、Windowsの起動ログの典型例です。起動時に読み込まれた(または読み込まれなかった)ドライバやコンポーネントを記録しており、例えば、どの特定のドライバがシステムの起動を妨げているかを特定するのに役立ちます。
BootLogはデフォルトでは有効になっていませんしかし、それを有効化するのは非常に簡単で、主に2つの方法で行うことができます。 boot.ini 古いシステムまたは bcdedit Windows 10以降のような最新バージョンでは、以下の技術と組み合わせると非常に便利です。 BootTraceで分析する.
boot.iniベースのシステム(Windows XPなど)でブートログを有効にする
古いコンピュータでは、ブート構成ファイルは boot.iniこれは、Windows がインストールされているドライブのルートにあります (通常、 C:) は隠しファイルおよびシステムファイルとしてマークされています。
編集するには、まず保護されているシステムファイルを表示する必要があります。 フォルダーオプションから、 boot.ini そしてメモ帳で開いてください。すると、次のような行が表示されます(ただし、パラメータは異なります)。
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=»Microsoft Windows XP Professional» /noexecute=optin /fastdetect
ブートログを有効にするには、修飾子を追加するだけです。 /BOOTLOG その行の最後にその結果、次のようなものになります。
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=»Microsoft Windows XP Professional» /noexecute=optin /fastdetect /BOOTLOG
ファイルが保存されると、システムは起動時に毎回ブートレコードの生成を開始します。さらに、緊急時には、Windows の起動直前に F8 キーを押して「ブートログを有効にする」オプションを選択することで、詳細ブートメニューから個別にログ記録を有効にできます。
生成されたファイルは常に Ntbtlog.txt そしてそれはWindowsフォルダに保存されます、通常は C:\Windowsメモ帳で開いて、どのドライバーが正しくロードされたか、どのドライバーが正しくロードされなかったかを確認する準備ができています。
Windows 10以降でBCDEDITを使用してブートログを有効化および無効化する方法
BCDを使用する最新のシステム(Windows Vista以降、Windows 10を含む)ブート構成はもはや管理されません boot.iniしかしブート構成データストアとツール bcdedit.
特定のシステムでブートログを有効にするには BCD内のそのローダーの識別子(ID)を知る必要があります。これは、管理者権限でコマンドプロンプトを開き、次のコマンドを実行することで取得できます。
bcdedit
「Windows Boot Loader」ブロックには、「Identifier」という行が表示されます。 それは次のようなものかもしれない {current} または別のGUID。そのIDを使用して、次のようにBootLogをアクティブ化できます。
bcdedit /set {ID} bootlog Yes
無効にするには、値を「いいえ」に変更するだけです。:
bcdedit /set {ID} bootlog No
次回の再起動後、ログ記録が有効になっている場合、Windows はファイルを生成します。 Ntbtlog.txt 指定されたルートで 起動に関わるコントローラーやモジュールに関する必要な情報がすべて含まれているため、突発的な故障の診断に非常に役立ちます。
Ntbtlog.txtおよびその他のブートログの解釈
一見したけど Ntbtlog.txt 単純な行のリストのように見えます重要なのは、どのようなパターンを探しているのかを理解することです。このファイルには、コントローラーが正常にロードされたか、スキップされたかを示すエントリが表示されます。
重要なのは、クラッシュや再起動が発生する直前に不具合を起こすドライバを特定することです。…あるいは、明らかにマイクロソフト製品ではなく、競合を引き起こしている可能性のあるもの(ウイルス対策ドライバー、ディスク暗号化、バックアップソリューションなど)も考えられます。これらの情報をイベントビューアーのイベント情報、そして可能であればメモリダンプと組み合わせることで、問題の原因を大幅に絞り込むことができます。
多くの場合、メモリダンプは特定のドライバファイルを明示的に指し示している。 (たとえば、 \Windows\System32\drivers\stcvsm.sys (紛失または破損)。このような場合の一般的な推奨事項は以下のとおりです。
- そのコントローラーがどのような機能を提供しているか、またそれが起動に不可欠かどうかを確認してください。
- それが不要なサードパーティ製ドライバーである場合は、WinRE からレジストリのシステムハイブを読み込むことで無効にしてください。
- システムファイルチェッカーを実行します(
sfcシステムファイルの破損が疑われる場合は、オフラインモードで実行します。 - レジストリの広範囲にわたる破損や、最近複数のドライバー/サービスがインストールされた疑いがある場合は、古いハイブの名前を変更します(
.old名前にC:\Windows\System32\configそしてバックアップを復元するRegBackその後、通常のスタートを試みる。
時々、特に大規模な Windows アップデートの後、修復時に問題が発生することがあります。 DISM これはオリジナル画像バージョンからのものです復元に使用したISOがインストール済みのバージョンと完全に一致しない場合、 DISM エラー0x800f081f(「ソースファイルが見つかりませんでした」)が返されます。このような場合は、以下の点を確認することをお勧めします。 dism /get-wiminfo 画像の正確なバージョン(install.wim o install.esd)そして、修復対象のシステムのビルドに実際に対応するISOイメージを見つけます。
つまり、ブートレジスタは次のようなものです。 Ntbtlog.txtスタートアップ修復SrtTrail、メモリダンプ、およびログ DISM y SFC それらは情報「エコシステム」を形成する。 このツールを使用すると、起動時に何が起こるか(何がロードされ、何がスキップされ、何が破損し、どのような変更(ドライバー、アップデート、ウイルス対策ソフトウェア、各種ユーティリティなど)によってプロセスが破損したか)を再構築できます。これらのツールをMBR、BCD、Bootmgr、RegBack、クリーンブート修復技術と組み合わせることで、完全な再インストールなしでは起動しないWindowsシステムを復旧できる可能性は、当初考えられるよりもはるかに高くなります。
バイトの世界とテクノロジー全般についての情熱的なライター。私は執筆を通じて自分の知識を共有するのが大好きです。このブログでは、ガジェット、ソフトウェア、ハードウェア、技術トレンドなどについて最も興味深いことをすべて紹介します。私の目標は、シンプルで楽しい方法でデジタル世界をナビゲートできるよう支援することです。


