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を入れることもなさそうなので、もういいや。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください