Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

bcdeditでブート構成情報をバックアップ/リストアする

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2009/04/24
対象OS
Windows Vista
Windows 7
Windows Server 2008
Windows Server 2008 R2
Windows Vista/Server 2008ではBCDストアという新しいブート・メカニズムを利用している。
BCDストアのデータをバックアップするにはbcdedit /exportコマンドを利用する。
リストアするにはbcdedit /importコマンドを利用する。

解説

 TIPS「bcdeditでVista/Windows Server 2008のブートOSメニューを変更する」では、Windows Vista/Server 2008以降で導入された、新しいブート・メニュー・システムについて解説した。これらのOSでは、従来のBOOT.INIファイルに変わり、新しく導入された「BCD(ブート構成データ)ストア)」を使ってブートするOSなどを管理している。このデータはバイナリ・データ・ファイルで管理されており、従来のように簡単にテキスト・エディタで作成したり、編集したりすることができない。これを行うには、bcdedit.exeというコマンドを利用する。

 ブート構成情報は起動パーティションの\Bootフォルダに保存されているので、(ディスクの移行ツールなどを使って)ディスク全体や各パーティションのデータをバックアップしたりリストアしたりする場合は、このBCDストアのデータも同時に保存/リストアしておく必要がある。さもないと、ブート情報が欠落し、システムが起動できなくなってしまう可能性があるからだ。

 特に1台のシステムに複数のOSをインストールしている場合(マルチブートしている場合)は注意が必要である。例えば第1ディスクに最初のOSをインストールしてディスク全体をバックアップし、次に第2ディスクに次のOSをインストールしたとする。その後、障害が発生したので第1ディスクの内容をバックアップから完全リストアすると、BCDストアのデータが最初の状態(1つ目のOSをインストールした直後の状態)に戻ってしまい、2つ目のOSを起動するためのメニュー項目がなくなってしまう。BCDストアはブート・ドライブにしか存在しないからだ。このような事態を避けるためには、BCDストアの情報が更新されるたびに(OSを追加インストールしたり、bcdeditで編集したりするたびに)その内容をどこか別の安全な場所に保存しておけばよい。そしてディスクやパーティションの内容をリストアした場合は、同時にBCDストアの内容も最新のバックアップからリストアする。これでブート・メニューは常に最新のものが維持できる。

 BCDストアの内容だけをバックアップしたり、リストアしたりするには、bcdeditコマンドを利用する。本TIPSではその方法について解説する。

操作方法

bcdedit /exportでBCDストアのデータをバックアップする

 BCDストアのデータをバックアップするには、bcdedit /exportコマンドを利用する。引数にはバックアップ先のファイル名を指定する。ファイルの拡張子は特に決められていないし、不要なので、分かりやすい適当な名前を付けておけばよい。コンピュータ名と日付を含めておくと、後で管理しやすいだろう。なお、bcdeditを利用するためには、管理者として実行したコマンド・プロンプト上で操作する必要がある(詳細は前出のTIPS参照)。[スタート]メニューの[すべてのプログラム]−[アクセサリ]の[コマンド プロンプト]を右クリックして、[管理者として実行]を選択して実行してから以下の操作を行っていただきたい。

bcdedit /exportによるBCDストア・データのバックアップ
BCDストアのデータをバックアップするには、/exportオプションを利用する。
バックアップ先フォルダの作成。独立したフォルダを用意しておくとよい。ローカルのディスクだけでなく、リムーバブル・ディスクやネットワーク・ドライブなどでもよい。
bcdedit /exportに続けてバックアップ先のファイル名を指定する。ここでは後で分かりやすいように、コンピュータ名と日付を付加している。拡張子は特に必要ない。
バックアップされたファイルの確認。ファイルが1つだけ作成されているように見える。
dir /aで隠しファイルも表示させてみる。実際にはこのようにいくつかの補助的なファイル(過去のバージョンのファイルと思われる)も保存されている。サイズはトータルで数十Kbytesから百数十Kbytes程度。
bcdedit /enumは現在のBCDストアの一覧を表示させるコマンド。これは必須ではないが、後でどのようなメニュー構成になっていたかを確認するために、同時に記録しておくとよい(/enumオプションについても前出のTIPS参照)。

 指定されたファイルのほかに、過去のバージョンと思われる隠しファイルもいくつか保存されているので、保存先に必要なサイズは数百Kbytesになることがある。バックアップ後、念のために別のドライブやシステムにもコピーしておくとよいだろう。

bcdedit /importでBCDストアのデータをリストアする

 bcdedit /exportでバックアップしたBCDストアのデータはbcdedit /importコマンドでリストアできる。

bcdedit /importによるBCDストア・データのリストア
BCDストアのデータをリストアするには、/importオプションを利用する。
bcdedit /importに続けてバックアップしたファイル名を指定する。

bcdedit /store 〜でエクスポートしたBCDストアのデータを操作する

 bcdedit /exportでバックアップしたBCDストアの内容を確認したり、操作したりするには、bcdeditに 「/store <保存したストア名>」というオプションを付けて操作する。例えばBCDストアの内容を表示させるコマンド「bcdedit /enum」(/enumは省略可能)をバックアップしたBCDストアに対して実行するには、「bcdedit /store <保存したストア名> /enum」とする。End of Article

バックアップしたBCDデータを参照する
bcdeditコマンドに「/store 」というオプションを付けると、現在アクティブなBCDストア(システム・ストア)ではなく、/exportでバックアップされたBCDストアが操作対象となる。
BCDストアをバックアップする。
引数なしのbcdeditコマンドを実行すると(これは「bcdedit /enum」と同じ)、現在のBCDストアの内容が表示されるが、「/store 」というオプションを追加すれば、保存されているBCDストアの内容が表示される。/enum以外のコマンドでも利用できる。

更新履歴
【2011/12/05】バックアップされたBCDストアの情報を参照/操作するオプション(/store 〜)の説明を追加しました。

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間