上級ユーザー向けのレジストリのトラブルシューティング手順

この記事では、レジストリの破損の問題のトラブルシューティング方法について説明します。

元の製品バージョン:   Windows 10-すべてのエディション、Windows Server 2012 R2
元の KB 番号:   822705

要約

コンピューターが再起動しない場合は、レジストリハイブが破損している可能性があります。 エラーメッセージは異なる場合があります。 次のいずれかを含めることができます。

次のファイルが見つからないか、または壊れているため、Windows を起動できませんでした: \ WINNT\SYSTEM32\CONFIG\SYSTEM.ced

次のファイルが見つからないか、または壊れているため、Windows を起動できませんでした: \ WINNT\SYSTEM32\CONFIG\SYSTEM

次のファイルが見つからないか、または壊れているため、Windows を起動できませんでした: \ WINNT\SYSTEM32\CONFIG\SOFTWARE

システムハイブエラー

Stop 0xc0000218 (0xe11a30e8, 0x00000000, 0x000000000, 0x00000000) UNKNOWN_HARD_ERROR

停止: 0xc0000218 {レジストリファイルエラー} レジストリはハイブ (ファイル) を読み込めません。
\SystemRoot\System32\Config\ CorruptHive またはそのログまたは代替。 壊れているか、存在しないか、または書き込み不可です。

詳細情報

レジストリハイブが破損している可能性がある多くの理由があります。 多くの場合、コンピューターがシャットダウンしたときに破損が発生し、シャットダウン中にコンピューターがプロセスとドライバーをアンロードしているため、原因を追跡できません。 場合によっては、レジストリが破損している原因を見つけるのが難しいことがあります。 次のセクションでは、考えられる3つの原因について説明し、問題のトラブルシューティングの手順を説明します。

電源障害

電源障害やその他の予期しないシャットダウンイベントによって、レジストリハイブが破損することがあります。 これが問題の原因であるかどうかを判断するには、イベント ID 6008 のエントリを探します。 イベント ID 6008 エントリは、予期しないシャットダウンが発生したことを示します。 この場合、一部のプロセスがレジストリハイブの一部を変更していて、その変更が完了する前にコンピューターの電源が失われた可能性があります。 これにより、レジストリハイブは不整合な状態のままになります。 オペレーティングシステムがレジストリハイブを読み込もうとすると、再起動時に、そのレジストリハイブが解釈できないデータを見つけてしまう可能性があります。また、「概要」セクションに記載されているエラーメッセージのいずれかが表示されることがあります。

ファイルの破損とハードウェアの障害

他のファイルが破損している可能性があります。 レジストリハイブのみが破損しているかどうか、または他のファイル (システムとデータ) が破損しているかどうかを判断する必要があります。 破損がレジストリハイブに限定されていない場合、破損はハードウェアの障害によって発生する可能性があります。 このハードウェアには、次のようなディスクへの書き込みに関係するものが含まれることがあります。

  • ランダムアクセスメモリ (RAM)
  • キャッシュ
  • プロセッサ
  • ディスクコントローラーハードウェアの障害が疑われる場合は、ハードウェアベンダーがすべてのコンピュータコンポーネントの状態を十分に調査する必要があります。

レジストリはシャットダウン時に書き込まれます。

何らかの理由で、1つまたは2つのレジストリハイブが一貫して破損していない場合は、シャットダウン時に問題が発生する可能性があり、次回の再起動時にレジストリハイブを読み込むまで検出されません。 このシナリオでは、コンピューターをシャットダウンするときにレジストリハイブがディスクに書き込まれます。このプロセスは、書き込みが完了する前にコンピューターまたはコンピューターのコンポーネントを停止することがあります。

トラブルシューティング

この問題のトラブルシューティングを行うには、次の手順を実行します。

  1. レジストリの破損が発生する前に、コンピューターを以前の状態に復元します。
    レジストリハイブのバックアップに使用できる1つのツールは、回復コンソールです。 レジストリのバックアップと復元の詳細については、以下の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

    322756 windows XP および windows Vista でレジストリをバックアップおよび復元する方法

    307654 Windows XP で回復コンソールをインストールして使用する方法

  2. ハードウェア、ディスク、ファームウェアドライバー、および BIOS を確認します。 それには、以下の手順を実行します。 これらの手順では、コンピューターのダウンタイムが必要になる場合があります。

    1. CPU がオーバークロックされていないことを確認してください。
    2. システムイベントログにイベント ID 9、イベント ID 11、またはイベント id 15 (またはこれらのイベントの組み合わせ) が含まれていないことを確認してください。 これらのイベントは、対処する必要があるハードウェアの問題を示している場合があります。
    3. chkdskレジストリハイブファイルが格納されているディスクで、コマンドラインコマンドを/r スイッチと共に実行します。 このコマンドは、レジストリハイブファイルが格納されているディスクの領域が問題に関係しないことを確認するのに役に立ちます。
    4. 最新のファームウェアリビジョンをディスクコントローラーに適用し、一致するドライバーバージョンを使用します。 ドライバーが署名されたドライバーであること、および適切なファームウェアのリビジョンがインストールされていることを確認します。
    5. コンピューターに最新の基本入出力システム (BIOS) の更新プログラムが適用されていることを確認してください。
  3. 手順2を完了した後、動作が変更されていない可能性があります。 破損しないようにするには、コンピューターをシャットダウンする前に、実行中のすべてのプロセスを閉じてください。 関係する単一のプロセスに範囲を絞ることができる場合があります。 プロセスを決定した場合でも、レジストリハイブの書き込み前にコンポーネントがアンロードされないようにすることができない場合があります。 ただし、シャットダウンの前にプロセスを停止したことが確認された場合は、レジストリハイブが破損しないようにすることができます。

  4. 手順3を完了した後、動作が変更されていない場合は、レジストリハイブを比較します。 破損していないレジストリハイブおよび破損したレジストリハイブをキャプチャし、Windiff.exe のような比較ツールを使用して2つを比較します。

  5. 拡張しているレジストリハイブセクションを特定します。 レジストリハイブの問題が大きくなりすぎているように思われる場合は、拡張されているセクションを特定し、そのハイブに書き込むプロセスに戻ることができます。