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以外のコマンドでも利用できる。 |
|
更新履歴 |
【2011/12/05】バックアップされたBCDストアの情報を参照/操作するオプション(/store ~)の説明を追加しました。 |
|
Windows Server Insider フォーラム 新着記事