Windows TIPS
[System Environment]
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」とする。
バックアップしたBCDデータを参照する
bcdeditコマンドに「/store 〜 」というオプションを付けると、現在アクティブなBCDストア(システム・ストア)ではなく、/exportでバックアップされたBCDストアが操作対象となる。
BCDストアをバックアップする。
引数なしのbcdeditコマンドを実行すると(これは「bcdedit /enum」と同じ)、現在のBCDストアの内容が表示されるが、「/store 〜 」というオプションを追加すれば、保存されているBCDストアの内容が表示される。/enum以外のコマンドでも利用できる。
この記事と関連性の高い別のWindows TIPS
generated by
更新履歴
【2011/12/05】 バックアップされたBCDストアの情報を参照/操作するオプション(/store 〜)の説明を追加しました。
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ
**先週の人気講座ランキング**
〜 Android編 〜