NTLDR is missing(起動不能)

メインで使っているWindowsXPのノートが起動しなくなりました。
NTLDR is missing
Press CTRL+ALT+DEL to restart.
が表示されます。Googleで「NTLDR is missing」を検索してみると原因がわかりました。
起動DISCの中の以下のファイルが参照できないと表示されるエラーでした。
「boot.ini」
「NTDETECT.COM」
「ntldr」
「bootfont.bin」
でも起動DISC(普通はCドライブ)をいじったりしていない。
直前にやったことはDドライブがエクスプローラーやマイコンピュータから
アクセスできなくなってセーフモード+ネットワーク環境で起動してファイルを
ネットワーク経由でnas(Network Attached Storage)に退避しようとしていました。
結局セーフモードでもマイコンピュータやエクスプローラからDドライブにアクセス
できなくてコマンドからCOPYを打ってnasに移動させたあとDEL打って・・・・MS-DOS時代の技を活用したあと空きを少しでも作ってデフラグしようと思って1CDでBOOTするLinux(Ubuntu7.10-JA)で、CDからBOOTしてDドライブの中のファイルを削除しました。


そのときにCドライブにあるはずの「boot.ini」が、Dドライブにあったので
上記の「NTDETECT.COM」「ntldr」「bootfont.bin」とともに削除していました。
再度UbuntuでBOOTしてゴミ箱からファイルを戻したところ復旧できました。
しかし、Dドライブにboot.ini他のNTLDRがあるのは、気持ち悪いのでXPのCDから回復
コンソール(CDから起動して修復Rを選択する)を使ってCドライブに「NTLDR」関連3ファイルをCOPYしました。4ファイルでないのは、boot.iniはコマンドからシステムにあわせて生成するからです。回復コンソールからCドライブにファイルを復元してBoot.iniを作ってやるとWindowsのシステムはCドライブと認識されているのにBoot.iniをDドライブに作りますとのたまう・・・・一旦作ってからCドライブに移動してみた。
再起動すると今度は違うメッセージがでた。
NTLDR is compressed
Press CTRL+ALT+DEL to restart.
再び回復コンソールで
C:¥>ATTRIB -C C:¥NTLDR
とするとエラー表示は再びNTLDR is missing に戻ってしまった。
結局CドライブからDドライブに
「NTDETECT.COM」
「ntldr」
「bootfont.bin」
を移動して「boot.ini」もDドライブに生成して起動するように戻した。
WindowsXPで起動時に、NTLDR is missing が、表示される原因と対処
原因編 複数あります。
1)Cドライブの直下(ルートディレクトリ)にあまりの多くのファイルを置きすぎ
マイクロソフトのサイト「コンピュータの起動時に “NTLDR is missing” エラー メッセージが表示される」
NTFS ファイル システムを使用するブート ボリュームのルート フォルダに多数のファイルをコピーすると、次にコンピュータを再起動したときに、次のエラー メッセージが表示されることがあります。
NTLDR is missing
Press CTRL+ALT+DEL to restart.
ルート フォルダにコピーしたファイルを削除しても、マスタ ファイル テーブル (MFT) の割り当てインデックスが元のサイズに戻りません
2)自分で、「BOOT.ini」や「NTDETECT.COM」「ntldr」「bootfont.bin」を削除してしまった。※これは、今回の私の例。
3)システムが入っていないドライブから起動している。
 (1)FDDにFDが入っていて起動順がHDDよりFDDが先になっている。
    WindowsUPDATEの後に再起動したら起動しないという場合にこれが・・
 (2)BIOSの設定が換わってしまって起動HDDが正しく選ばれていない。
4)「BOOT.ini」や「NTDETECT.COM」「ntldr」「bootfont.bin」のどれかのファイルが壊れている。
5)BIOSが古い。
対処編
原因別に対処を考えないと再発します。
1)の場合はリンク先のマイクロソフトの対処法を参照
  私ならHDDをはずしてUSBの外付けケースにいれて他のPCからHDDにアクセスしてデータをバックアップしてからサクッとFORMATしてPCにHDDを戻してWindowsをインストールしなおします。
2)、4)は、「BOOT.ini」や「NTDETECT.COM」「ntldr」「bootfont.bin」を再度作ります。
WindowsXPのシステムディスクから起動させてRキーを押して修復を選びます。
1: C:\WINDOWS
どのWindows インストールにログオンしますか?(取り消すにはEnterキーを押してください)_という画面が表示されますので、点滅しているアンダーバーの箇所に1を入れキーボードの「Enterキー」を押します。Administratorのpassの入力を要求されます。なにも入れていない場合はそのままENTERを押す。ここでPassがわからなければ回復コンソールに入れません。その場合は、DOSで起動するCDを作ってそこに、「BOOT.ini」や「NTDETECT.COM」「ntldr」「bootfont.bin」をCOPYしていてそのDISKから起動します。回復コンソールに入った直後の画面は以下の表示です。
C:¥Windows>
C:¥Windows>CD_¥
Cドライブのルートディレクトリに移動します。
「CD_¥」の_の部分はアンダーバーでなく半角スペースです。HELPコマンドをみると「CD..」と
すべきなのですが、なぜか私の環境ではうまくいかず。MS-DOSのコマンドでは「CD¥」なのですが
それもうまくいかず「CD_¥」でうまくいきました。「CD_¥」でうまくいかない人は「CD..」
を試してください。日本語対応していないDOSで起動したばあいは「CD..」でいいのでしょう。
では、XPのシステムDISCからファイルをCOPYします。
XPのCDがEドライブの前提です。DならEをDと読み替えてください。
1)ntldrファイルのコピー
C:¥>copy E:¥i386¥ntldr
既にCドライブに「ntldr」ファイルがある場合、上書きしますか?と聞かれるので「YES」を選択します。そしてEnterキーを押します。以下同様に
2)bootfont.binのコピー
C:¥>copy D:¥i386¥bootfont.bin
3)NTDETECT.COMファイルのコピー
C:¥>copy D:¥i386¥NTDETECT.COM
4)boot.iniの生成(bootcfgを利用する)
C:¥>ATTRIB -H C:¥boot.ini
C:¥>ATTRIB -S C:¥boot.ini
C:¥>ATTRIB -R C:¥boot.ini
※この三行は、boot.iniを書き直せるように属性を変更しています。
C:¥>del boot.ini
※既存のboot.iniを削除します。
C:¥>BOOTCFG /Rebuild
※ここで時間が少しかかります。
読み込み識別子を入力してください
Microsoft WindowsXP Professional(またはHOMEEDITION)
読み込みオプションを入力してください
/fastdetect
C:¥>FIXBOOT
C:¥>exit
とキーボードにてexitと入力し、パソコンを再起動させます。
再起動して、NTLDR is compressed が出たら、再び回復コンソールで起動。
C:¥>ATTRIB -C C:\NTLDR
C:¥>exit
再び再起動すれば正常に起動するはず。
3)の(1)は簡単です。FDを抜いて再起動でいいわけですから
3)の(2)は、BIOSを起動して起動ドライブを選びなおして保存(F10)
それで直らない場合は、起動ドライブをチェックしましょう。最悪HDDが壊れて
いるかも。
5)の場合は、メーカーのWebサイトからBIOSの最新版を探して更新します。
※コマンドモードで、階層を示す通貨記号の¥マークは同じ文字コードを英語圏ではバックスラッシュになるため
半角の¥マークを使うとWeb上ではバックスラッシュで表示されてしまいます。今回の不具合を検索した際に
バックスラッシュばかりでてくるので、なんでみんな英語環境なんだろうとおもってましたがUPされている方に
認識が無いわけで困ったものです。このアーティクルは、¥マークを出すために全角で¥を入力しています。
本来は半角ですのでお間違いの無いように。

コメントを残す

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

CAPTCHA