2015/04/05(Sun)Windowsのブート修復に使うコマンド一覧

2015/04/05 15:13 Software::Windows
時々ブートできなくなったWindows 7を直すことがあるのだが、いつもコマンドをうろ覚えで調べるハメになっているので、ここにまとめておく。
※経験則で書いている部分もあるので、鵜呑みにはしないようにして下さい。

bcdboot

ブートローダーをシステムディスクを元に復元するコマンド。

例:bcdboot.exe c:\Windows /l ja-JP
C:\WindowsからWindows Boot Manager(bootmgr)と、その設定ファイル(BCDストア、\boot\bcd\以下)を復元する。

bootmgrは、Windows Vista以前まで使用されたNT OS Loader(NTLDR)の代替となるもの。
設定ファイルの実体は\boot\BCDというバイナリファイルで、\boot\以下のフォルダに格納されるのはbootmgrで使用される言語ファイルである。
source
Windowsのシステムルートを指定
/l
ロケールを指定(デフォルトはUS English)
/s
ブート環境ファイルのコピー先システムパーティションを指定(省略時、ファームウェアで認識されるシステムパーティションを自動選択)
/v
verboseモード
/m, /m GUID
OSローダーのGUIDを指定すると、そのローダーをブート可能エントリに追加する(省略時、グローバルオブジェクトのみ)

bcdedit

bootmgrが使用するBCDストアを編集するコマンド。Windows Vista以前のbootcfgコマンドの代替。

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

例:bcdedit /export c:\bcd.bak
BCDストア情報をエクスポートする。/importも同様。

例:bcdedit /createstore
新しくBCDストア情報を作成する。

他にも、エントリの中身を書き換えることが可能だが、通常の修復作業ではあまり使用しない。
参考:bcdeditでブート・メニューの項目を追加する - @IT

bootrec

ブート情報を修復するコマンド。
このコマンドはWindows PE(Preinstallation Environment)では使用できず、以下のWindows RE(Recovery Environment)でしか使用できないので、汎用性は低い。
例:bootrec /fixmbr
MBRのみを修復する。"Missing operating system"というエラーの場合に有効。

例:bootrec /fixboot
PBR(パーティションの先頭にあるブート情報)を修復する。Vista/7以降をインストール後、xpなどをインストールして"NTLDR is missing"というエラーの場合に有効。

例:bootrec /scanos
ブート可能なWindowsをスキャンし、BCDストアにない情報を列挙する。

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

bootsect

ブート情報を修復するコマンド。
bootrecと異なり、Windows PE環境でも使用可能。(ただしWindows Vista SP1のv2.1以降の環境。v2.1では手動で追加する必要有り。Windows 7のPE環境はv3.0、デフォルトで組み込まれる。)

例:bootsect /nt60 c:\
C:\にWindows Vista/7以降向けのブートローダー(bootmgr)を組み込む。

例:bootsect /nt60 sys /mbr
システムパーティションを自動選択し、Windows Vista/7以降向けのブートローダー(bootmgr)を組み込み、さらにMBRも初期化する。

例:bootsect /nt51 sys /mbr
システムパーティションを自動選択し、Windows xp向けのブートローダー(NTLDR)を組み込み、さらにMBRも初期化する。(が、NTLDRの修復ならxpのWindows 回復コンソールから、fixboot, fixmbrコマンドを使った方が簡単・確実という気もする。)

参考文献

win7 システムの修復
http://hrn25.sakura.ne.jp/win/w7-system-repair/w7-system-repair.shtml

Windows Vista/7 の bootmgr と BCD を編集する / Windows Boot Manager - 不完全なマシマロ
http://d.hatena.ne.jp/naba_san/20110925/1316968494

Windows 7/Vista でMBRブートストラップ修復のいろいろ - Palm84 某所の日記
http://d.hatena.ne.jp/palm84/20110605/1307277088