Windows 7,10でブートローダーを復活させる anchor.png

Windows Vistaから,ブートローダーがNT Loader(NTLDR)からbootmgrに変更になった。

なんらかの原因でブートしなくなったり,Linuxを追加インストールしてデュアルブートにした時に,ブートローダーをgrubからbootmgrに戻したいときなどに使用できるコマンドが用意されている。

これらのツールを使用してMBRを修復すれば,bootmgrがブート時に起動するように戻せる。

WindowsとLinuxでディアルブートにしている場合,grubでブートさせている場合にはbootmgrでのブートするようにMBRを修復しないで単にLinuxのパーテーションを削除した場合には,OSが起動しなくなるので注意する。

Page Top

MBRを修復する anchor.png

Windows 7の場合はシステム回復ツールでコマンドプロンプトを起動する。システム回復ツールを起動するには以下のどちらかを行います。

  • PCの電源ON後F8キーを何回が押して詳細ブートオプションを開き,コンピューターの修復を選択する
  • システム修復ディスクを使ってPCの電源をONにする

Windows 10の場合は以下のようにする。

  • Windowsの設定>更新とセキュリティの回復で,「今すぐ再起動する」をクリックする
  • トラブルシューティング>詳細オプション>コマンドプロンプトを選ぶ
  • Windowsが再起動してコマンドプロンプト画面になる

コマンドプロンプトの画面で,以下のコマンドを実行する

> bootrec /RebuildBcd

PCが通常のBIOSを使用している場合は,

> bootrec /fixMbr

を実行。UEFIの場合は,これはやらない。
その後,

> bootrec /fixboot

を実行する。

コマンドプロンプトを終了して,PCをリブートする。
GRUBから元のbootmgrの画面が表示されて,Windows7や10が起動する。

Page Top

ブートローダー関連ツール anchor.png

Page Top

bcdboot anchor.png

ブートローダーをbootmgrに戻したり,ブートメニューを修復したりする場合に使用するコマンド。

使用例:C:\Windowsから,Windows Boot Manager(bootmgr)と,その設定ファイル(BCDストア,\boot\bcd\以下)を復元する。

> bcdboot c:\Windows /l ja-JP

オプション

source
Windowsのシステムルートを指定
/l
ロケールを指定(デフォルトはUS English)
/s
システム パーティションのボリューム文字の指定。(通常使用しない)
/v
verboseモード
/m, /m GUID
OSローダーのGUIDを指定すると,そのローダーをブート可能エントリに追加する(省略時,グローバルオブジェクトのみ)

他にもあるが省略。

Page Top

bcdedit anchor.png

bootmgrが使用するBCDストアを編集するコマンド。

Windows Vista以前のbootcfgコマンドみたいなもの。

使用例:現在のBCDストア情報を表示する。

> bcdedit

使用例:BCDストア情報をエクスポートする。/importも可能。

> bcdedit /export c:\bcd.bak

使用例:新しくBCDストア情報を作成する。

>bcdedit /createstore

他にも,エントリの中身を書き換えることが可能だが,通常はあまり使用しない。

Page Top

bootrec anchor.png

ブート情報を,修復するコマンド。

このコマンドは,Windows PE(Preinstallation Environment)では使用できず,以下のWindows RE(Recovery Environment)の状態で使用出来る。

  • インストールDVDでブートし,「コンピュータを修復する」を選んだ場合
  • ハードディスクからブートし,F8メニューで「コンピュータの修復」を選んだ場合
  • Windows 7のシステム復元ディスクでブートした場合

使用例:MBRのみを修復する。ブート時にMissing operating systemというエラーが出ている場合に有効。

> bootrec /fixmbr

使用例:PBR(パーティションの先頭にあるブート情報)を修復する。

> bootrec /fixboot

Vista/7以降をインストール後,xpなどをインストールしてNTLDR is missingというエラーの場合に有効。

使用例:ブート可能なWindowsをスキャンし,BCDストアにない情報を列挙する。

> bootrec /scanos

使用例:ブート可能なWindowsをスキャンし,BCDストアに追加するかどうかを選択する。

> bootrec /rebuildbcd
Page Top

bootsect anchor.png

ブート情報を,修復するコマンド。

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コマンドを使った方が簡単で確実。


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 2490, today: 1, yesterday: 0
最終更新: 2020-12-26 (土) 16:07:34 (JST) (1219d) by yuji