ntoskrnl.exeでトラブった顛末

【経緯】

余っていたハードディスクで遊んでみようと、CとDの2つのパーティションを作成。
CドライブにWindows XP Professionalのボリュームライセンス版をインストール(※1)。
飽きたので別HDDから起動し、※1に上書きするかたちで別のシステムを復元(※2)。
※2のシステムで起動しようとしたら

次のファイルが存在しないかまたは壊れているため、
Windowsを起動できませんでした:
\system32\ntoskrnl.exe.
上記のファイルをインストールし直してください。

と表示され、起動せず。

※2:EaseUS Todo Backupで以前バックアップを取っていたパーティションまるまるの復元

【対処(未解決)】

割とよくあるトラブルのようですが、私自身は初めて経験しました。
上記のメッセージ「存在しないか壊れている」を真に受けてsystem32を開き、当該ファイルが存在していることを確認。なので別の健全なシステムからexeファイルを単純コピーしてやり再起動するもやはり同じメッセージで解決せず。

【疑問】

※2のシステムを復元したことは過去にもあり、このような問題は起きていない。そのパーティションバックアップに含まれているntoskrnl.exeがピンポイントで壊れたということは考えにくい。念のため別のバックアップからの復旧を試みても起動しません。
よくある、メッセージを額面通りに解釈しているだけでは解決しないパターンでしょう。

そこでPCと解>起動時>「system32\ntoskrnl.exe」が壊れているを参照すると、このように書かれていました。

(要約)
「ntoskrnl.exe」エラーが表示されるのは、Windowsそのものを見つけられていない可能性が高いのです。
そうなってしまう主な原因は、「boot.ini」ファイルにあります。

この段階で思い当たる節があったので、今回はboot.iniは編集しないでおきます。

【解決】

ディスクの管理を起動してみるとCではなくDドライブに「アクティブパーティション」が設定されていました。そこでCドライブに「アクティブとしてパーティションをマーク」と設定して呆気なく解決。
システムの存在しないDドライブから起動しようとすれば、そりゃntoskrnl.exeは見つかりませんよ。

【原因】

※2で復元する際に、Cドライブの前に狭いパーティションが存在していたことはEaseUS Todo Backupの操作画面で分かっていました。私が意図的に作ったものではないので、XP Proをインストールする際に自動的に確保されたのでしょうか。
Windows 7(以後?)では…

ボリュームの先頭に第1パーティションとして100MBが確保されブート パーティションに割り当てられ、Windows Boot Managerとその関連ファイルが収められる。以降は第2パーティションとして確保されシステム パーティションに割り当てられる。
Wikipediaより引用)

…なので、これと同じような現象に思えますが、XP Proがそのようにパーティションを分離する仕様なのかはちょっと分かりません。回復したし、またXP Proを入れることもなさそうなので、もういいや。

コメントを残す

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.