Windows 2000 でSYSTEM レジストリが肥大化すると起動できなくなる話

Windows Server 2003 におけるシステム ハイブのメモリ制限の緩和

Windows Server 2003
では、コンピュータを起動するときに使用可能なメモリの量が以前のバージョンよりも拡張されました。Microsoft Windows 2000
では、起動処理中に使用可能なメモリは 16 MB です。この 16 MB のメモリに、システム ハイブ、ページ フレーム番号 (PFN)
データベース、Windows NT Loader (NTLDR)、カーネル、ハードウェア抽象化レイヤ (HAL)、ブート
ドライバなどの項目を読み込む必要があります
。通常は、コンピュータを起動するのに必要なリソースのみが、システム ハイブに情報を転送できます。

|。・ω・)。・ω・)。・ω・) 。o (なんだってー!?)

エラー メッセージ : 次のファイルが存在しないかまたは壊れているため、Windows を起動できませんでした: \Winnt\System32\Config\Systemced

現象
Microsoft Windows 2000 ベースのコンピュータを再起動した際、次のエラー メッセージが表示されることがあります。
次のファイルが存在しないかまたは壊れているため、Windows を起動できませんでした: \WINNT\SYSTEM32\CONFIG\SYSTEMced
注 : エラー メッセージの最後の文字 "ced" は、実際にはエラー メッセージの一部ではありません。この文字は、エラー メッセージが表示される前の画面に表示されていたもので、エラー メッセージが表示されたときに完全には消去されませんでした。

次のエラー メッセージが表示されることもあります。
System hive error

Windows 2000ってお茶目ですね・ω・

Windows 2000
では、レジストリが非常に大きい場合はレジストリを読み込めないことがあります。この問題は、プロセスによって、非常に大きなデータがレジストリの
System サブキーに書き込まれる際に発生することがあります。System
サブキーは、コンピュータの起動に必要な情報のみを含むように設計されています。

Intel アーキテクチャまたは ARC (RISC) アーキテクチャ ベースのコンピュータは、ブート処理のこの段階ではメモリを 16 MB
しか使用できません。System レジストリ サブキーは、16 MB をローダー、カーネル、HAL、およびブート
ドライバと共有する必要があります。場合によっては、System サブキーのサイズが 13 MB 以上になることがあります。

やっぱ同じこと書いてる

多数の論理ユニットおよびボリュームを作成するとシステムが起動しないことがある

Windows 2000 Server および Windows Server 2003 では、コンピュータにインストールされ構成されている LUN およびボリュームに関する情報が、レジストリのシステム ハイブに格納されます。Windows 2000 Server および Windows Server 2003 では、デバイス (ドライブを含む) がシステムから取り外されても、デバイスがシステムに再構成される場合に備えて、レジストリ エントリが保持されます。これは、プラグ アンド プレイに含まれている機能です。この問題は、ドライブのアレイまたはセットが再構成された後、これらのドライブが新しいデバイスとして検出され、重複するエントリが作成された場合に発生することがあります。ドライブの数が多い場合 (700 を超える場合)、この動作により、システム ハイブが肥大化する可能性があります。

Windows 2000 Server では、システム ハイブのサイズは約 10.3 MB に制限されます。これは、Windows が起動する際に、システム ハイブと Windows カーネル ファイルが 16 MB 未満に収まる必要があるためです。

|。・ω・)。・ω・)。・ω・) 。o (なんだってー!?)

10.3M制限なんてはじめて知った

5.2M 越えた辺りで不安定になる気がするんだけど。バックアップとあわせて 10.3M 超えた時点で
クラッシュするとか ・ω・?

注意書きに「700を超えるドライブが存在する場合レジストリが肥大化する可能性」と書いてあって
そんなにドライブ使うわけがないと思われる方もいるかもしれない

ここで、会社で使ってるデバッグマシンを見てみることにしましょう
hive
VMWare インストールしてると、USBメモリ接続するだけであほみたいに増えます・ω・
同じメディアでも、シリアル番号が違うと別のドライブとしてインストールされます。
このパソコンにインストールされているドライブ数えたら300こえていました
(VMWare Device 以外にも数百単位でUSBメモリがインストールされていた)

この辺りのレジストリはすっぱり消してしまってもいいと思います・ω・ええ

おすすめ

4件のフィードバック

  1. tanaka より:

    >Windows 2000ってお茶目ですね・ω・
    なんで10の時みたいに手抜きだって大騒ぎしないの?

  2. tanaka より:

    >Windows 2000ってお茶目ですね・ω・
    なんで10の時みたいに手抜きだって大騒ぎしないの?

  3. (S) より:

    サポートのドキュメントを見た感じでは、起動して動かしている分にはSystemハイブが約10.3MB超えてもBSoDとかにはならないけど、再起動とかするとNTLDRでメッセージが出てきて起動できないって感じですね。
    (起動しなくなった場合の対処で、起動できるレジストリデータに差し替えて起動、起動後に起動できなかったレジストリハイブをロードして編集、最後に元に戻して起動させる手順を示していることからこのように予想しました)

  4. (S) より:

    サポートのドキュメントを見た感じでは、起動して動かしている分にはSystemハイブが約10.3MB超えてもBSoDとかにはならないけど、再起動とかするとNTLDRでメッセージが出てきて起動できないって感じですね。
    (起動しなくなった場合の対処で、起動できるレジストリデータに差し替えて起動、起動後に起動できなかったレジストリハイブをロードして編集、最後に元に戻して起動させる手順を示していることからこのように予想しました)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です