タイトルの通り、黒背景に白文字で
Windows could not start because the following file is missing
or corrupt:
<Windows root>¥system32¥ntoskrnl.exe.
Please re-install a copy of the above file.
というメッセージが出てWindows XPが起動しなくなった。
英語はあまり得意ではないのだが、大方
次のファイルの読み込みに失敗したか壊れているため、Windowsが開始できませんでした。
<Windowsルートディレクトリ>¥system32¥ntoskrnl.exe
上記のファイルを再インストールしてください。
と言ったところだろう。
今は通常はWindows 7を使っているが、Walkmanに曲を入れる時や動画編集をするときはその環境は7では構築していないので、既に環境が構築されているXPを起動して作業をする。
普段は使わないが、やはり起動しないのは困るのだ。ということで、直そう。
他にXPをインストールしているパソコンがあればそのパソコンから該当するファイルをコピーすればいいだけなので簡単に終わるが、残念ながら無いのでその方法は使えない。該当するファイルがネットに落ちているか調べてみたが、配っているサイトも無さそう。(各種dllファイルなどは調べると意外と出てくるので、dllファイルが原因でOSが起動しない時はネットで該当するファイルを拾って上書きすると直ることが多い。)
黒画面に白文字で英語のメッセージが出るとパニクってしまいがちだが、冷静にメッセージを読み取り対処すれば意外と簡単に解決するトラブルもある。今回は正にそのパターンだ。
要は、Windowsルートディレクトリ(通常はC:¥WINDOWSになっている人が大半だと思われる)中のsystem32フォルダの中のntoskrnl.exeというファイルを新しい正常なもので上書きすればいいのだ。
今回はWindows XPインストールディスクから回復コンソールを起動して修復する方法を紹介する。
まず、光学ドライブにWindows XPインストールディスクを入れた状態でPCの電源を入れる。
予めBIOSで光学ドライブを一番最初に起動するようにしておくか、Boot Menuを開いて(BIOSによって異なるがBIOSの起動画面でF12を押したりすると開く)光学ドライブを選択する。
Press any keyと表示されたらどれかのキーを押す。
青背景に白文字の画面が出てきたら、Rを押して回復コンソールを選択。
日本語キーボードか英語キーボードか選択する画面が出てくるので該当する方を選択。
どのWindowsを修復するか選択画面が出てくるので、番号で選ぶ。Windowsが複数インストールされているとドライブ文字が変わったりして訳が分からなくなるので、修復したいWindowsが入っているHDD以外のケーブルは予め抜いておくのもあり。ケーブルを抜く時は必ず電源を切ってから。
黒背景に白文字のコマンド入力画面が出てくる。
「cd system32
」とコマンドを入力して、system32ディレクトリに移動する。
「ren ntoskrnl.exe ntoskrnl.abc
」などと入力して元々ある壊れていると思われるファイルをリネームする。
「expand d:¥i386¥ntoskrnl.ex_ c:¥windows¥system32
」と入力し、Windowsインストールディスクからsystem32ディレクトリにntoskrnl.exeファイルを展開する。筆者のように光学ドライブやHDDが何個も付いている様な環境の人は光学ドライブ文字がdとは限らなく、文字が不明になることがままあるので「map
」というコマンドでドライブ一覧を表示できる。
「exit
」と入力して回復コンソールを終了して起動を試みる。無事に起動したら成功!
参考にしたサイト:“ntoskrnl.exe が存在しないか壊れている” と表示されて Windows XP を起動できない場合の対処方法