Q

Windows NTで修復セットアップを実施し,コンピュータを再起動してログオンしようとすると,「システムにログオンできません(C00000DF)。再実行するか,システム管理者に問い合わせてください。」というエラー・メッセージが表示され,システムにログオンできなくなりました。また,このエラー・メッセージを解決するために,MicrosoftのKnowledge Baseにある文書番号「Q196603」「Q146887」の対策を実施すると,「STOP: c000021a{Fatal System Error}The Windows Logon Process system process terminated unexpectedly with a status of 0xc0000080(0x00000000 0x0000000)The system has been shutdown.」のエラーを表示します。どうすればよいのでしょうか?

A

Windows NT 4.0セキュリティ・ロールアップ・パッケージ(SRP)を適用済みのマシンで,修復セットアップを実施し,「Windows NTシステム・ファイルの確認」を行い,システム・ファイルをWindows NTオリジナル・ファイルで上書きすると,このような問題が発生する場合があります。

 Windows NT修復プロセスにおけるシステム・ファイルの確認では,システム修復ディスクもしくは%SystemRoot%Repair(通常は,C:\WINNT\Repair)に保存されているSetup.logというファイルに記述されたCRC値(巡回冗長検査情報)を参照し,ファイルの上書きコピーを行います。CRC値が,システムにインストールされているファイルと異なる場合,Windows NT修復プロセスはWindows NTオリジナル・ファイルでシステム・ファイルを上書きします

 ここで問題となるのは,SRPのインストーラがSetup.logファイル内のCRC値を更新しない点です。そのため,SRP適用済みのシステムにてWindows NT修復プロセスを実施すると,上書きしてはならないシステム・ファイルを上書きしてしまい,このような問題が発生します


図1●ホットフィックスを適用して変更されるCRC値の例

 この問題に対処するためにはSecurity Tool Kitにも含まれているQ307866ホットフィックスを実行します。このホットフィックスは現在のシステム・ファイル内のCRC値を調査し,正しいCRC値をSetup.logファイルに書き込みます。例えば,Setup.log内の"ntoskrnl.exe"に関する行については"f4e85"が"fe94c"に変わります(図1)。これは特定のファイルやレジストリを変換するホットフィックスではなく,リブートも不要です。

 Q307866ホットフィックスはSRP適用後,いくつかのホットフィックス,セキュリティ・パッチなどを適用していても,その時点で正しいCRC値をSetup.logファイルに書き込みます。修正済みのSetup.logを使用すれば,Windows NT修復プロセスにおいて,上書きしてはならないファイルはそのまま維持されます。


図2●ホットフィックス適用前にログオンできなくなってしまった場合の対処法

 なお,以前のSetup.logファイルは「setup.log.srpbackup」というファイル名でコピーされるので,適用前と適用後のファイルを比較することが可能です。また,ホットフィックス実行後は「RDISK /s」コマンドを実施し,システム修復ディスクおよびシステム修復ディレクトリを更新します

 万が一,ホットフィックスを適用する前にWindows NT修復セットアップを実施し,システムにログオンできなくなってしまった場合には,図2の手順に沿って対処します。対象ファイル一覧などの詳細についてはマイクロソフトのサポート技術情報(JP307866)を参照してください

瀧澤俊臣