この記事では、レジストリの破損の問題をトラブルシューティングする方法について説明します。
元の KB 番号: 822705
まとめ
コンピューターが再起動しない場合は、レジストリ ハイブが破損している可能性があります。 エラー メッセージは異なる場合があります。 次のいずれかを含めることができます。
次のファイルが見つからないか破損しているため、Windows を起動できませんでした:\WINNT\SYSTEM32\CONFIG\SYSTEM.ced
次のファイルが見つからないか破損しているため、Windows を起動できませんでした:\WINNT\SYSTEM32\CONFIG\SYSTEM
次のファイルが見つからないか破損しているため、Windows を起動できませんでした:\WINNT\SYSTEM32\CONFIG\SOFTWARE
システム ハイブ エラー
0xc0000218 (0xe11a30e8、0x00000000、0x000000000、0x00000000) UNKNOWN_HARD_ERRORを停止する
停止: 0xc0000218 {Registry File Failure} レジストリは Hive (ファイル) を読み込めません。
\SystemRoot\System32\Config\ CorruptHive またはそのログまたは代替。 破損しているか、存在しないか、書き込み不可です。
詳細
レジストリ ハイブが破損する理由は多数あります。 ほとんどの場合、破損はコンピューターのシャットダウン時に発生し、シャットダウン中にコンピューターがプロセスとドライバーをアンロードしているため、原因を追跡できません。 場合によっては、レジストリの破損の原因を見つけるのが難しい場合があります。 次のセクションでは、問題の 3 つの考えられる原因について説明し、問題をトラブルシューティングする手順を示します。
電源障害
電源障害またはその他の予期しないシャットダウン イベントにより、レジストリ ハイブが破損する可能性があります。 これが問題の原因であるかどうかを判断するには、イベント ID 6008 エントリを探します。 イベント ID 6008 エントリは、予期しないシャットダウンが発生したことを示します。 この場合、一部のプロセスでレジストリ ハイブの一部が変更され、その変更が完了する前にコンピューターの電源が失われた可能性があります。 これにより、レジストリ ハイブは不整合な状態になります。 再起動時に、オペレーティング システムがレジストリ ハイブを読み込もうとすると、そのレジストリ ハイブに解釈できないデータが見つかり、"概要" セクションに含まれるエラー メッセージのいずれかが表示されることがあります。
ファイルの破損とハードウェアの障害
他のファイルが破損している可能性があります。 レジストリ ハイブのみが破損しているかどうか、または他のファイル (システムとデータ) が破損しているかどうかを判断する必要があります。 破損がレジストリ ハイブに限定されない場合は、ハードウェアの障害が原因で破損が発生する可能性があります。 このハードウェアには、次のようなディスクへの書き込みに関係するものが含まれる場合があります。
- ランダム アクセス メモリ (RAM)
- キャッシュ
- プロセッサ
- ディスク コントローラー
ハードウェアの障害が疑われる場合、ハードウェア ベンダーはすべてのコンピューター コンポーネントの状態を徹底的に調査する必要があります。
シャットダウン時にレジストリが書き込まれる
1 つまたは 2 つのレジストリ ハイブが何の理由もなく一貫して破損した場合、問題はシャットダウン時に発生する可能性があり、次回の再起動時にレジストリ ハイブを読み込もうとするまで検出されません。 このシナリオでは、コンピューターをシャットダウンするとレジストリ ハイブがディスクに書き込まれます。このプロセスでは、書き込みが完了する前にコンピューターまたはコンピューター内のコンポーネントが停止する可能性があります。
トラブルシューティング
この問題をトラブルシューティングするには、次の手順に従います。
レジストリの破損が発生する前に、コンピューターを以前の状態に復元します。
レジストリ ハイブのバックアップに使用できるツールの 1 つは、回復コンソールです。 レジストリをバックアップおよび復元する方法の詳細については、次の資料番号をクリックして、Microsoft サポート技術情報の記事を表示します。322756 Windows XP と Windows Vista でレジストリをバックアップおよび復元する方法
307654 Windows XP での回復コンソールのインストールおよび使用方法
ハードウェア、ディスク、ファームウェア ドライバー、BIOS を確認します。 これを行うには、以下の手順を実行します。 これらの手順では、コンピューターのダウンタイムが必要になる場合があります。
- CPU がオーバークロックされていないことを確認します。
- システム イベント ログに、イベント ID 9、イベント ID 11、またはイベント ID 15 (またはこれらのイベントの任意の組み合わせ) が含まれていないことを確認します。 これらのイベントは、対処が必要なハードウェアの問題を示している可能性があります。
- レジストリ ハイブ ファイルを含むディスク上の /r スイッチと共に、
chkdsk
コマンド ライン コマンドを実行します。 このコマンドは、レジストリ ハイブ ファイルを含むディスクの領域が問題に関与しないことを確認するのに役立ちます。 - 最新のファームウェア リビジョンをディスク コントローラーに適用し、一致するドライバー バージョンを使用します。 ドライバーが署名されたドライバーであり、適切なファームウェア リビジョンがインストールされていることを確認します。
- コンピューターに最新の基本的な入出力システム (BIOS) 更新プログラムを適用してください。
手順 2 を完了すると、動作に変更が表示されない場合があります。 破損を防ぐには、コンピューターをシャットダウンする前に、実行中のすべてのプロセスを閉じてみてください。 スコープを、関連する 1 つのプロセスに絞り込む場合があります。 プロセスを決定した場合でも、レジストリ ハイブが書き込まれる前にコンポーネントがアンロードされないようにできない場合があります。 ただし、シャットダウンする前にプロセスを確実に停止すると、レジストリ ハイブの破損を防ぐことができます。
手順 3 を完了した後、動作に変化がない場合は、レジストリ ハイブを比較します。 破損していないレジストリ ハイブと破損したレジストリ ハイブをキャプチャし、Windiff.exeなどの比較ツールを使用して 2 つを比較します。
どのレジストリ ハイブ セクションが拡大されているかを確認します。 レジストリ ハイブの問題が大きすぎると思われる場合は、どのセクションが増加するかを判断し、これをハイブに書き込むプロセスまでトレースすることができます。