【3/19】@IT セキュリティ あの人気連載陣が熱く語る! スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

bcdeditでVista/Windows Server 2008のブートOSメニューを変更する

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

デジタルアドバンテージ 打越 浩幸
2008/12/12
対象OS
Windows Vista
Windows Server 2008
VistaやWindows Server 2008ではBCDストアという新しいブート・メカニズムを利用している。
BCDストアのデータを変更するにはbcdeditコマンドを利用する。
ブートするOSの名称を変更するにはdescriptionという変数の値を変更する。

解説

 Windows Server 2003以前のOSでは、システムがブートする場合にはシステム・ドライブのルートに置かれた\boot.iniというテキスト・ファイルを参照していた。これに対してWindows VistaやWindows Server 2008では、Windows OSのブート・メカニズムが抜本的に変更され、ブート時に使用する情報はBCD(ブート構成データ)ストアに格納されている。

 これに伴い、ブート情報を変更する方法も以前とはまったく異なっている。通常はこれらの情報を変更する必要はないだろうが、例えば1台のコンピュータに複数のOSをインストールした場合には、変更したくなるだろう。例えば、実験などの目的で32bit版のWindows Vistaと64bit版のWindows Vistaを1台のコンピュータにインストールした場合、システム起動時には次のようなメニューが表示される。

2つのWindows Vistaをインストールした例
1台のコンピュータに32bit版のWindows Vistaと64bit版のWindows Vistaをインストールすると、システム起動時にこのようなメニューが表示される。ユーザーはどちらのOSを起動するかをカーソル・キーで選択し、[Enter]キーを押すとそのOSが起動する。デフォルトでは、最後にインストールしたOSが有効になっている(30秒間応答がないと、自動起動する)。この例では、どちらも同じメニュー名なので区別が付かない。ちなみにインストール先はすべて別パーティションにしている(さもないと、さまざまなフォルダやファイルがOS間で衝突/競合するため)。
64bit(x64)版のWindows Vista Ultimate Edition。
32bit(x86)版のWindows Vista Enterprise Edition。

 このようにどちらのOSも「Microsoft Windows Vista」と表示されており、区別が付かない。これ以外にも、エディションや言語の異なるOSを導入したり、ベータ版やRC版などをインストールしたり、それらを削除したりすると、メニュー項目はさらに増えるため、デフォルトの名称のままでは非常に使いづらいだろう。

 このような場合、従来のOSならばboot.iniファイルを編集するのだが(TIPS「システムのブート情報ファイルBOOT.INIを編集する」参照)、BCDストアの場合はデータが完全にバイナリ・データベース化されているので、テキスト・エディタで簡単に編集するというわけにはいかない。BCDストアの内容を操作するためにはBCDEDIT.EXEというツールを利用する。これはコマンド・プロンプト上で操作するツールなので、Server Coreでも利用できるが、慣れないとやや使いづらいかもしれない。本TIPSでは、bcdeditの一番基本的な使い方として、ブート・メニューに表示されるOS名を変更する方法について解説する。より高度な使い方については、今後別TIPSで取り上げる。

操作方法

管理権限のあるコマンド・プロンプト上で起動する

 bcdeditはシステムの重要なファイルを変更するツールである。そのため、管理者として実行したコマンド・プロンプト上でのみ利用できる。通常のコマンド・プロンプト上で起動すると次のようなエラーが表示され、利用できない。

権限不足の場合のエラー
管理者権限のあるコマンド・プロンプト以外で起動すると、このようなエラーが表示され、実行できない。

 管理者権限のあるコマンド・プロンプトを起動させるには、[スタート]の[すべてのプログラム]−[アクセサリ]の[コマンド プロンプト]を右クリックして[管理者として実行]を選択する。

 bcdeditの基本的な使い方は「bcdedit /?」とすると、表示される。

現在のBCDストア情報の列挙(表示)

 引数を付けずにbcdeditを実行すると、現在のBCDストアの情報が一覧表示される。これは「bcdedit /enum」を実行するのと同じである。今回はブート・メニューを変更するため、ブートされるOSの名前の部分(description)に注目する。

BCDストアの情報の例
これは2つのWindows Vistaがインストールされている場合の例。2つのパーティション(C:とD:)にそれぞれOSがインストールされている。
管理者権限のあるコマンド・プロンプトでは、タイトルの先頭に「管理者:」が表示される。
引数なしか、/enumオプションを付けてbcdeditを実行する。すると以下のようなブート情報が表示される。
ブート情報。この部分の指定に従って、起動するOSが決められる。
起動するデフォルトOS。デフォルトでは「{current}」というブート項目が選択され、ブートする。
ここでは「{current}」と「{99eba38a-……」という、2つのブート項目の表示順序を決めている。先ほど表示されていた2つのOSは、これらに相当する。
ブート項目1。これはデフォルトで起動する64bit版のWindows Vista。C:にインストールされている。
ブート項目1の表示名。「Microsoft Windows Vista」となっている。
ブート項目1のIDは「{current}」となっているが、本当のID数値はこの「{82fbba33-……}」。デフォルトのものは常に「{current}」という別名で参照できる。
ブート項目2。これは最初にインストールしてあった32bit版のWindows Vista。ブート項目1のOSから見ると、D:ドライブにインストールされているように見える(ブート項目2のOSを起動するとC:になる)。
ブート項目1のID数値列。
ブート項目2の表示名。これも同じく「Microsoft Windows Vista」となっている。

 この例では、2つの「Windows ブート ローダー」という項目があるが、これらが各OSのブート情報を表している。そしてその2つのうちからどちらを選ぶか、その表示順序はどうするかなどを記述しているのが最初にある「Windows ブート マネージャ」項目である。

bcdedit /setでメニューの文字列を変更する

 2つのブート項目にはそれぞれ固有のID数値が付けられており(「{99eba38a-……」と「{99eba38a-……」)、それらを使って識別される。ただし現在のデフォルト・ブート項目に限っては「{current}」という別名でも参照できるようになっているし、省略することも可能である。

 BCDでは、各ブート項目の中にある「description」の値をOS選択のためのメニュー名として表示するようになっている。この例ではいずれも「Microsoft Windows Vista」となっているので、同じ名前が表示されているが、これらを変更して、分かりやすい名前にしてみよう。

 まず現在のデフォルトのOSの名称を「Microsoft Windows Vista」から「Vista Ultimate x64」に変更してみる。このためにはbcdedit /setコマンドを利用する(使い方は「bcdedit /set /?」で表示される)。引数には変更する変数名(description)と変更後の文字列を指定する。

OS名の変更(1)
bcdedit /setコマンドでデフォルトのブート・メニュー項目のメニュー名を変更する。

 デフォルトでない項目を変更するには、/setの後にブート項目のID数字列を指定すればよい。

OS名の変更(2)
最初にインストールsたOSの名前を変更する。デフォルトのブート項目でない場合は、ID文字列を指定する。

 もう1度bcdeditもしくはbcdedit /enumで内容を確認後、システムを再起動すればブート・メニューが変更されているはずである。End of Article

新しく設定されたOS名
2つのOSが異なるメニュー名で表示されている。
変更されたメニュー名。

この記事と関連性の高い別のWindows TIPS
bcdeditでブート・メニューの項目を追加する
bcdeditでブート構成情報をバックアップ/リストアする
bcdeditでブート・メニューの表示順序やデフォルトを変更する
システムのブート情報ファイルBOOT.INIを編集する
システム全体で使用するCPU数を限定させる
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

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

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  直属上司が海外にいるのエンジニアに見る
【実例】場所に捉われないワークスタイル

  「仮想化工房」のマイスターが選んだのは
VMware、Hyper-V、そしてVirtageだった!

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?