Windows Vistaから,ブートローダーがNT Loader(NTLDR)からbootmgrに変更になった。
なんらかの原因でブートしなくなったり,Linuxを追加インストールしてデュアルブートにした時に,ブートローダーをgrubからbootmgrに戻したいときなどに使用できるコマンドが用意されている。
これらのツールを使用してMBRを修復すれば,bootmgrがブート時に起動するように戻せる。
WindowsとLinuxでディアルブートにしている場合,grubでブートさせている場合にはbootmgrでのブートするようにMBRを修復しないで単にLinuxのパーテーションを削除した場合には,OSが起動しなくなるので注意する。
Windows 7の場合はシステム回復ツールでコマンドプロンプトを起動する。システム回復ツールを起動するには以下のどちらかを行います。
Windows 10の場合は以下のようにする。
コマンドプロンプトの画面で,以下のコマンドを実行する
> bootrec /RebuildBcd
PCが通常のBIOSを使用している場合は,
> bootrec /fixMbr
を実行。UEFIの場合は,これはやらない。
その後,
> bootrec /fixboot
を実行する。
コマンドプロンプトを終了して,PCをリブートする。
GRUBから元のbootmgrの画面が表示されて,Windows7や10が起動する。
ブートローダーをbootmgrに戻したり,ブートメニューを修復したりする場合に使用するコマンド。
使用例:C:\Windowsから,Windows Boot Manager(bootmgr)と,その設定ファイル(BCDストア,\boot\bcd\以下)を復元する。
> bcdboot c:\Windows /l ja-JP
オプション
他にもあるが省略。
bootmgrが使用するBCDストアを編集するコマンド。
Windows Vista以前のbootcfgコマンドみたいなもの。
使用例:現在のBCDストア情報を表示する。
> bcdedit
使用例:BCDストア情報をエクスポートする。/importも可能。
> bcdedit /export c:\bcd.bak
使用例:新しくBCDストア情報を作成する。
>bcdedit /createstore
他にも,エントリの中身を書き換えることが可能だが,通常はあまり使用しない。
ブート情報を,修復するコマンド。
このコマンドは,Windows PE(Preinstallation Environment)では使用できず,以下のWindows RE(Recovery Environment)の状態で使用出来る。
使用例:MBRのみを修復する。ブート時にMissing operating systemというエラーが出ている場合に有効。
> bootrec /fixmbr
使用例:PBR(パーティションの先頭にあるブート情報)を修復する。
> bootrec /fixboot
Vista/7以降をインストール後,xpなどをインストールしてNTLDR is missingというエラーの場合に有効。
使用例:ブート可能なWindowsをスキャンし,BCDストアにない情報を列挙する。
> bootrec /scanos
使用例:ブート可能なWindowsをスキャンし,BCDストアに追加するかどうかを選択する。
> bootrec /rebuildbcd
ブート情報を,修復するコマンド。
bootrecと異なり,Windows PE環境でも使用可能。(ただしWindows Vista SP1のv2.1以降。また,v2.1では手動で追加する必要有り。Windows 7のPE環境は,v3.0で,デフォルトで組み込まれる。)
使用例:C:\にWindows Vista/7以降向けのブートローダー(bootmgr)を組み込む。
> bootsect /nt60 c:\
使用例:システムパーティションを自動選択し,Windows Vista/7以降向けのブートローダー(bootmgr)を組み込み,さらにMBRも初期化する。
> bootsect /nt60 sys /mbr
使用例:システムパーティションを自動選択し,Windows XP向けのブートローダー(NTLDR)を組み込み,さらにMBRも初期化する。
> bootsect /nt51 sys /mbr
しかしNTLDRの修復なら,XPのWindows回復コンソールから,fixboot,fixmbrコマンドを使った方が簡単で確実。
新しくコメントをつける