○症状
パソコンの電源を入れると、BIOSが起動した後、黒い画面に「Error Loading Operating System」や「NTLDR is missing」といったエラーメッセージが表示され、Windowsが起動しない。

○原因
ブートストラップローダーがブートローダーを読み込めずエラーメッセージを表示している状態。
その原因としては、OSの起動に必要な情報(ブートセクタ)が破損している、またはシステムパーティションがアクティブとしてマークされていない。
OSのインストールを途中で中断したりパーティションごとOSを削除した後に起動しようとした時にも出る。
主にパーティションの操作を行った後やマルチブート環境のPCで発生しやすい。

○対策
以下 Win Vistaの場合
1.スタートアップ修復を行う
詳細はシステム回復オプション [Vista] を参照。

再起動後も同じような症状が起こり、起動できないなら2を行う。
2.起動パーティションをアクティブに設定する
システム回復オプションを起動してコマンドプロンプトを起動する。
以下コマンド、、、黄:入力するコマンド 緑:解説 白:出力例
X:\>diskpart

Microsoft DiskPart バージョン 6.0.6002
Copyright (C) 1999-2007 Microsoft Corporation.
コンピュータ: PC-NAME


;接続されているHDDの一覧を表示
DISKPART> list disk

  Disk ###  Status           Size     Free     Dyn  Gpt
  --------  ---------------  -------  -------  ---  ---
  Disk 0    オンライン        149 GB  4997 MB
  Disk 1    メディアなし          0 B      0 B
  Disk 2    メディアなし          0 B      0 B
  Disk 3    オンライン        466 GB      0 B


;Vistaをインストールしたボリュームを含むHDDを番号で選択
DISKPART> select disk 0

ディスク 0 が選択されました。


;HDDの詳細を表示
DISKPART> detail disk

FUJITSU MHV2160BT PL ATA Device
ディスク ID: ********
種類       : ATA
バス       : 0
ターゲット : 0
LUN ID     : 0
読み取り専用  : いいえ
ブート ディスク  : はい
ページ ファイル ディスク  : はい
休止状態ファイル ディスク  : いいえ
クラッシュ ダンプ ディスク  : はい

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 2    C   WinVista     NTFS  Partition    101 GB  正常
  Volume 3    F   WinXP        NTFS  Partition     18 GB  正常
  Volume 4    J                NTFS  Partition     16 GB  正常


;Vistaがインストールされているボリューム(ドライブ、パーティション)を選択する。
;※初期状態ではボリュームラベルは設定されていないので、
;この例のように'WinVista'や'WinXP'といった表示はない。
;このようなトラブルに陥る前に、あらかじめボリュームラベルを設定しておくとよい。
DISKPART> select volume 2

ボリューム 2 が選択されました。


;ボリューム(パーティション)の詳細を表示
DISKPART> detail partition

パーティション 1
種類         : 07
隠し属性     : いいえ
アクティブ   : いいえ

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
* Volume 2    C   WinVista     NTFS  Partition    101 GB  正常 

;詳細で「アクティブ」が「いいえ」になっていたらアクティブ設定をする。
;「はい」の場合は既に設定されているので、必要ない。
DISKPART> active

DiskPart は現在のパーティションをアクティブとしてマークしました。


;設定が正しく反映されたかどうか確認
DISKPART> detail partition

パーティション 1
種類         : 07
隠し属性     : いいえ
アクティブ   : はい

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
* Volume 2    C   WinVista     NTFS  Partition    101 GB  正常


;DiskPartを抜ける
DISKPART> exit

DiskPart を終了しています...

;コマンドプロンプトを終了
X:\>exit

この後再起動する。


これでもまだ直らないようであれば、
3.chkdsk.exeを利用してVistaがインストールされているパーティションにチェックディスクをかける。
既にチェックディスクを行ったのであれば4へ。


4.bootrec.exeを利用してMBR、ブートセクタ、BCDストアの書き込み、再構築を行う。
詳細→ http://support.microsoft.com/kb/927392

上の解説によれば、まずは「bootrec」をコマンドプロンプト上で実行する。
一度再起動してみても直らなかったら、次のようなコマンドを実行しろと書いてある。

* bcdedit /export C:¥BCD_Backup
* c:
* cd boot
* attrib bcd -s -h -r
* ren c:¥boot¥bcd bcd.old
* bootrec /RebuildBcd

最初の5行は「とりあえず今のBCDストアのバックアップをとっておこう」という作業で、
実際に修復を行うコマンドは6行目の「bootrec /RebuildBcd」である。
bootrecはWindowsXPの回復コンソールの「fixmbr」「fixboot」に当たる機能も持っている。


マルチブート環境でXP以前のWindowsやLinux系OSその他を入れていた場合は、再度bcdedit等を利用して設定しなおす必要がある。
Windows 7やserver 2008はスタートアップ修復の時点で認識、設定されるので手動で設定し直す必要はない(たぶん...)

-----------------------------
追記1:こちらの方の説明がとても分かり易かったので参考にするといいかもです。
http://uiuicy.cs.land.to/bootdisk5.html
ただしこちらのページでの修復方法はXPのもので、Vistaの場合は通常はスタートアップ修復によって MBR、ブートセクタ、ブートメニューも自動で修復してくれます。
(ただしHDDのアクティブ切り替えは手動で行わなければならない。スタートアップ修復で直してくれない辺りが不親切。)

追記2:Windows 7の場合、アクティブに設定するパーティションは必ずしもWindows 7をインストールしたパーティションとは限りません。
例えば次のような構成になっている場合、Windows 7がインストールされているのはVolume 3ですが起動するためのプログラムはVolume 1に含まれているため、Volume 1をアクティブに設定します。
DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0    D                      DVD-ROM         0 B  メディアなし

  Volume 1        boot         FAT   Partition     39 MB  正常
  Volume 2        RECOVERY     NTFS  Partition     14 GB  正常       システム

  Volume 3    C   Win7         NTFS  Partition    157 GB  正常       ブート
これはBitLocker機能のための処置なのですが、Windows 7ではBitLockerを使わない環境でも自動インストール時にパーティションをWindows 7起動用パーティションとWindows 7本体を含むパーティションに分けるようになっています。
(参照→ http://windows.microsoft.com/ja-JP/windows7/Set-up-your-hard-disk-for-BitLocker-Drive-Encryption)

旧ブログでのコメント

AUTHOR: からす
URL:
DATE: 2010/10/31 17:26:49
参考にさせていただきました
初めまして、からすともうします。
友人が、NTLDR is missing に引っかかったので
こちらのパーティションをアクティブのする方法を参考にさせていただきました。
結果無事解決。
コマンド等、色分けされていてとても解りやすかったです。
助かりました、有難うございます。

AUTHOR: silverhead
URL:
DATE: 2011/08/18 23:52:32
解り易さ№1
NTLDR is missing を解決するためにかなりのURLを参照させていただきましたが、もっとも的確で解り易かった。一発解決です。問題発生の原因、それぞれの対処法、パーフェクトの印象です。ありがとうございました。

AUTHOR: せきちゃん
URL: http://blog.livedoor.jp/sekichan7_com/
DATE: 2012/03/04 16:16:59
ありがとうございました
非常に助かりました。

どのサイトよりもわかりやすく,この記事の方法で直りました。

ありがとうございました。

ブログで紹介させていただきます。


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!