インターネットにつながらなくなったのでパソコンの設定をいじっていると真っ暗な画面に「C:\WINDOWS\SYSTEM32\ntoskrnl.exe
が存在しないか壊れているため Windows が起動できません。」と表示されてWindowsXPが起動しなくなった。
PCはNECのノートパソコンである。
こんな内容の相談を受けて依頼人宅を訪問した。
そこであたらしくわかったのはシステムの復元をして再起動すると上に書いているような状態になったということ、ネットには無線LANで接続しているという二つである。
ntoskrnl.exeというのはWindowsOSの核というべきファイルでこれがなければWindowsは動きません。
今回のような表示が出る場合には実際にntoskrnl.exe に問題がある場合とboot.iniファイルの内容がおかしい場合がある。
一般にパソコンの電源が入るとまずMBRの情報に従ってアクティブなパーティションにあるブートローダーが読み込まれる。
つぎにブートローダーはboot.iniファイルに書かれている情報に従ってWindowsを起動していく。
ここでboot.iniの中身が間違っているとエラーが表示されてWindowsは起動しなくなってしまう。
今回の場合、boot.iniファイルの中身は
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
というふうになっていれば正常である。
今回、boot.iniを確認するためにWindowsPEを利用した。
これはWindows系のOSをインストールしたときやスタートアップ修復をした時に動いているソフトである。
WindowsPEをCDブートで起動すればエクスプローラーや、メモ帳、レジストリエディタ、コマンドプロンプトなどが使える。
ただし、PCのメモリーが500MB以上必要である。
WindowsPEは無事に起動したのでメモ帳でboot.iniを確認した。
異常はない。
上に書いているものとまったく同じである。
boot.iniは今回のトラブルの原因ではないことがわかった。
つぎにWindowsPEのエクスプローラーを使ってntoskrnl.exeが所定の場所に存在しているのを確認した。
まずこのntoskrnl.exeの名前を変える。
ntoskrnl.oldにした。
次にこのPCのC:\windows\i386にあるntoskrnl.ex_を解凍して、C:\windows\system32にコピーした。
再起動してみるとWindowsXPのロゴが出た。
うまくいったのもつかの間、
autochec program not found - skipping AUTOCHECK
という表示が出て、再起動を繰り返し始めた。
この問題を解消するにはレジストリを扱う必要がある。
しかし、何か次から次に問題が出てくるような気がしたので依頼人にリカバリーを勧めてみた。
依頼人はデータはUSBメモリーにバックアップしてあるのでリカバリーをしてかまわないといった。
依頼人にインターネットやメールの設定に必要な書類、プリンタのドライバなど必要なものがあることを確認してリカバリーを開始した。
パソコンがCドライブにリカバリーデータ領域からコピーを実行している間に無線LANのSSIDと暗号化キーを確認した。
コピーは40分ほどで終わり、再起動した。
PCの名前を決め、ユーザー名を入れた。
至って順調である。
次にMS Officeをインストールした。
ここからインターネットの設定である。
無線LANに付属しているCDは使われた形跡がなかったので、Windowsの機能を使って設定することにした。
PCは無線LANの電波を受信している。
設定を開いてみると複数のSSIDが表示されているが依頼人宅の無線LANルータのSSIDが表示されていない。
仕方がないのでCDから設定用ソフトをインストールして使うことにした。
ルータのボタンを押してやりとりをするのを見守った。
なぜかタイムアウトしてキャンセルされた。
なぜだろう。
再度挑戦したが同じである。
マニュアルを見るとアドレスがすべて使われてしまっているかもしれないので有線で接続して確認する様にと書かれていた。
手持ちのLANケーブルを使ってPCとルータを接続した。
つながらない。
lanケーブルが接続されていませんというエラーが表示された。
この記事の最初に書かれているトラブルが復元してしまった。
リカバリーを実施したのでネットの接続ができないというトラブルは解消したものと思っていたがそうではなかった。
ここから自分が検証用に持ち歩いているノートパソコンを使ってみることにした。
このPCは正常に動くことが確認されている。
検証用のPCでも無線LANのSSIDは表示されない。
隣近所のものと思われるSSIDはたくさん表示されている。
有線LANもやはりlanケーブルが接続されていませんというエラーが表示された。
そこでlanケーブルをNTTのルータに直結した。
インターネットは正常に使えるようになった。
lanケーブルを依頼人のPCにつなぎ替えた。
依頼人のPCはインターネットに接続できるようになった。
結論はその昔、PCと同時に購入した無線LANルーターが壊れているというものである。
依頼人は無線LANルーターってこわれるんですかというが勿論こわれる。
新しい無線LANルーターを購入するのを待って設定の続きを行うことになった。