クリックして評価とフィードバックをお寄せください
TechNet
TechNet ライブラリ
Windows
Windows Vista
Windows Vista : 製品評価
 ブート構成データ エディタに関してよく寄せられる質問

  低帯域幅での表示をオンにする
ブート構成データ エディタに関してよく寄せられる質問

更新日: 2007年4月

適用対象: Windows Server 2008, Windows Vista

ブート構成データ

BCD ストアとは何ですか。

ブート構成データ (BCD) ストアには、ブート構成パラメータが含まれており、Microsoft(R) Windows Vista® および Microsoft(R) Windows Server® 2008 オペレーティング システムでのオペレーティング システムの起動方法を制御します。これらのパラメータは、以前は Boot.ini ファイル (BIOS ベースのオペレーティング システム) または不揮発性 RAM (NVRAM) エントリ (拡張ファームウェア インターフェイスベースのオペレーティング システム) 内にありました。Bcdedit.exe コマンドライン ツールを使用して、BCD ストアのエントリを追加、削除、編集、および付加することで、以前のオペレーティング システム環境で動作する Windows(R) コードを操作することができます。Bcdedit.exe は、Windows Vista パーティションの \Windows\System32 ディレクトリにあります。

note
この文書では、主に Windows Vista を重点的に取り上げますが、この情報は Windows Vista と Windows Server 2008 の両方に適用されます。

note
コマンド プロンプトで使用するコマンドおよびオプションの詳細については、「bcdedit.exe /? command」と入力してください。たとえば、「bcdedit.exe /?CREATESTORE」と入力します。

Boot.ini から BCD へ変更されたのはなぜですか。

BCD は、ブート構成データを記述するメカニズムを強化するために作成されました。新しいファームウェア モデル (拡張ファームウェア インターフェイス (EFI) など) が開発されたことで、土台となるファームウェアを抽象化するための拡張可能で相互運用可能なインターフェイスが必要になりました。この新しい設計は、Windows Vista (スタートアップ修復ツールやマルチユーザー インストール ショートカットなど) のさまざまな新機能の基礎を提供します。

BCD ファイルはレジストリのどこにあるのですか。

  • BIOS ベースのオペレーティング システム。BCD レジストリ ファイルは、アクティブ パーティションの \Boot\Bcd ディレクトリにあります。

  • EFI ベースのオペレーティング システム。BCD レジストリ ファイルは、EFI システム パーティション上にあります。

どのユーザーでも BCD を編集できますか。

いいえ。BCD を編集するには、管理者資格情報が必要です。

BCD はどのように編集するのですか。

何を変更するかによって異なりますが、BCD の編集には次のツールを使用できます。

  • 起動と回復。[起動と回復] ダイアログ ボックスを使用すると、コンピュータに複数のオペレーティング システムがインストールされている場合に、起動する既定のオペレーティング システムを指定できます。タイムアウト値を変更することもできます。これらの設定は、[システムのプロパティ] ダイアログ ボックスの [詳細設定] タブにあります。

  • システム構成ユーティリティ (Msconfig.exe)。Msconfig.exe は、/debug/safeboot/bootlog/noguiboot/basevideo/numproc などのオプションを含むさまざまな機能を備えた、より高度なツールです。

  • BCD WMI プロバイダ。BCD Windows Management Instrumentation (WMI) プロバイダは、BCD を編集するユーティリティのスクリプト記述に使用できる管理インターフェイスです。これは、BCD に利用できる唯一のプログラム インターフェイスです。詳細については、Microsoft Web サイト (http://go.microsoft.com/fwlink/?LinkId=56792) で Boot Configuration Data (BCD) に関するページ (英語ページの可能性があります) を参照してください。

  • BCDEdit.exe。BCDEdit.exe は、Windows Vista の Bootcfg.exe に代わるコマンドライン ユーティリティです。詳細については、「Bcdedit.exe では何を行うことができますか」を参照してください。

    note
    Bootcfg.exe を使用して BCD を編集することはできません。ただし、古いオペレーティング システムをサポートするため、Bootcfg.exe はオペレーティング システムに残されます。

EFI ブート マネージャに Windows エントリが表示されません。また、ブート マネージャが 2 つあるのはなぜですか。

Windows エントリはすべて BCD ストアに格納されています。EFI ベースのオペレーティング システムの EFI ファームウェア ブート マネージャには、"Windows ブート マネージャ" というエントリ 1 つだけがあります。このファイルは \EFI\Microsoft\Boot\Bootmgfw.efi にあります。EFI ブート マネージャを使用して Windows ブート マネージャを起動した場合は、EFI ベースのオペレーティング システムと PC/AT ベースのオペレーティング システムの両方に共通の表示方法になります。たとえば、詳細ブート オプション メニューを使用できます。EFI ブート マネージャの既定のタイムアウトは 2 秒です。これにより、Service Pack 1 が適用された Windows Server 2003 と Windows Vista の起動を簡単に切り替えられるようになります。

マルチブート環境

Windows Vista は、既にオペレーティング システムが含まれているコンピュータにインストールできますか。

はい。Windows Vista は別のパーティションにインストールできます。最適な方法は、古いオペレーティング システムをインストールしてから Windows Vista をインストールすることです。古いオペレーティング システムでのブート構成には、引き続き Boot.ini が使用されます。

Boot.ini を使用して動作していたコードが Windows Vista では BCD を使用するように、コードを置換する必要はありますか。

いいえ。古いオペレーティング システムに関しては Boot.ini を使用し、Windows Vista では BCD を使用するようにコードを変更する必要があります。

マルチブート環境の場合、Windows Vista より前のオペレーティング システムで BCD を編集すれば、ブート構成を編集できますか。

いいえ。BCD を編集して、ブート構成を Windows Vista 用に変更する必要があります。また、Boot.ini (BIOS ベースのオペレーティング システム用) または NVRAM (EFI ベースのオペレーティング システム) を編集して、古いオペレーティング システム用のブート構成も変更する必要があります。

Windows Vista を起動しないときは、BCD を完全に無効にできますか。

いいえ。どのオペレーティング システムを起動するかは、Windows Vista のブート マネージャが最初に実行して決定します。したがって、古いオペレーティング システムを起動する場合は、BCD ストアで既定の順序を古いオペレーティング システムに設定する必要があります。詳細については、「既定のオペレーティング システム エントリを変更する方法」を参照してください。

BCDedit.exe

Bcdedit.exe とは何ですか。

Bcdedit.exe を使用して、BCD ストアのエントリを追加、削除、編集、および付加することで、以前のオペレーティング システム環境で動作する Windows コードを編集することができます。Bcdedit.exe は、Windows Vista パーティションの \Windows\System32 ディレクトリにあります。

Bcdedit.exe で何を行うことができますか。

Bcdedit.exe では、現在、以下を行うことができます。

•後からインストールした Windows Server 2008 の BCD ストアの作成

•既存の BCD ストアへのエントリの追加

•BCD ストア内の既存のエントリの編集

•BCD ストアからのエントリの削除

•BCD ストアへのエントリのエクスポート

•BCD ストアからのエントリのインポート

•現在アクティブな設定の一覧表示

•特定の種類のエントリのクエリ

•グローバル変更の (すべてのエントリへの) 適用

•既定のタイムアウト値の変更

bcdedit /enum を実行したとき、1 つの Windows Boot Manager エントリ、いくつかの Windows Boot Loader エントリ、および 1 つのレガシ エントリが表示されるのはなぜですか。

ブート環境は、2 つのカテゴリに分かれています。Windows ブート マネージャと、ブート環境で実行されるさまざまなブート アプリケーションです。Windows ブート マネージャは、基本的にはミニ オペレーティング システムであり、ブート動作を制御し、実行するブート アプリケーションを指定できます。ブート アプリケーション (Windows ブート ローダーなど) にはさまざまなものがあり、それぞれが異なる役割を持っています。たとえば、Windows ブート ローダー アプリケーションは、Windows をロードします。

/enum と指定した場合は、以下が表示されます。

  • 1 つの Windows ブート マネージャ エントリ (ブート マネージャは 1 つだけしかないため)。

  • コンピュータにインストールされている各 Windows Vista オペレーティング システムに対する Windows ブート ローダー アプリケーション。たとえば、2 種類のバージョンの Windows Vista を別のパーティションにインストールしている場合は、Windows ブート ローダー エントリは 2 つ表示されます。

  • 1 つのレガシ エントリ。このエントリは、ブート アプリケーションではありませんが、代わりに NTLDR および Boot.ini を使用して Windows Vista より前のオペレーティング システムを起動します。このエントリは Windows Server 2003、Windows XP、および古いオペレーティング システム (コンピュータにインストールしている場合) を起動するときに使用します。

Bcdedit.exe のコマンドライン ヘルプはありますか。

あります。コマンド プロンプトで使用するコマンドおよびオプションの詳細については、「bcdedit.exe /? 」または「bcdedit.exe /? Command」と入力してください。たとえば、「bcdedit.exe /?CREATESTORE」と入力します。

一般的なタスクを実行する新しい方法

グローバル デバッガ設定を変更する方法

コマンド プロンプトで、次のように入力します。

bcdedit /dbgsettings DebugType [debugport Port ] [baudrate Baud ]

[channel Channel] [targetname TargetName]

 

オプション 説明

DebugType

デバッガの種類を指定します。DebugType は、SERIAL、1394 または USB のいずれかです。その他のオプションは、選択したデバッガの種類によって異なります。

Port

SERIAL デバッグの場合、デバッグ ポートとして使用するシリアル ポートを指定します。

Baud

SERIAL デバッグの場合、デバッグに使用するボー レートを指定します。

Channel

1394 デバッグの場合、デバッグに使用する 1394 チャネルを指定します。

TargetName

ユニバーサル シリアル バス (USB) デバッグの場合、デバッグに使用する USB ターゲット名を指定します。

次のコマンドは、グローバル デバッガ設定をシリアル デバッグに設定します。

com1 での 115,200 ボー :

bcdedit /dbgsettings serial debugport 1 baudrate 115200

次のコマンドは、グローバル デバッガ設定を 1394 デバッグに設定します。

チャネル 23 を使用した場合 :

bcdedit /dbgsettings 1394 CHANNEL 32

次のコマンドは、グローバル デバッガ設定を USB デバッグに設定します。

ターゲット名 "debugging" を使用した場合 :

bcdedit /dbgsettings USB targetname debugging

デバッガ設定を確認する方法

コマンド プロンプトで、次のように入力します。

bcdedit /enum Type /v

 

オプション 説明

Type

一覧表示するエントリの種類を指定します。Type は、次のいずれかです。

  • ACTIVE

  • FIRMWARE

  • BOOTAPP

  • BOOTMGR

  • OSLOADER

  • INHERIT

  • ALL

たとえば、次のコマンドは、すべてのエントリを一覧表示します。

bcdedit /enum all /v

既定のオペレーティング システム エントリを変更する方法

コマンド プロンプトで、次のように入力します。

bcdedit /default ID

 

オプション 説明

ID

タイムアウト値に達したときに使用する既定の GUID を指定します。

{466f5a88-0af2-4f76-9038-095b170dc21c} は NTLDR に対して事前定義された GUID です。

特定のオブジェクトの ID は、bcdedit /enum all と指定することで調べることができます。

次のコマンドは、指定したエントリを既定のブート マネージャに設定します。

エントリ :

bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}

次のコマンドは、レガシ Windows ローダー (Ntldr) を既定として設定します。

エントリ :{466f5a88-0af2-4f76-9038-095b170dc21c} は Ntldr に対して事前定義された GUID です。

bcdedit /default {466f5a88-0af2-4f76-9038-095b170dc21c}

次回に再起動したときのブート シーケンスを変更する方法

コマンド プロンプトで、次のように入力します。

bcdedit /bootsequence {ID} {ID} {ID} …

 

オプション 説明

ID

次回の再起動のときのブート シーケンスを構成する GUID を指定します。この 1 回限りのブート シーケンスの後は、既定のブート順序に戻ります。

次のコマンドは、指定したオペレーティング システムを次回再起動時の既定のオペレーティング システムとして設定します。この再起動の後は、DISPLAYORDER にリセットされます。

bcdedit /bootsequence {cbd971bf-b7b8-4885-951a-fa03044f5d71}

次のコマンドは、2 つのオペレーティング システム エントリと

レガシ Windows ローダー (Ntldr) をブート マネージャの 1 回限りのブート シーケンスに設定します。

bcdedit /bootsequnce {802d5e32-0784-11da-bd33-000476eba25f}

ブート マネージャのタイムアウトを変更する方法

既定のオペレーティング システムが変更されるまでコンピュータが待機する時間の長さを変更するには、次のように入力します。

bcdedit /timeout TimeOut

 

オプション 説明

TimeOut

ブート マネージャが既定のエントリを選択するまで、待機する時間を秒単位で指定します。

たとえば、次のコマンドはブート マネージャが 15 秒でタイムアウトするよう設定します。

bcdedit /timeout 15

ブート マネージャの表示順序を設定する方法

コマンド プロンプトで、次のように入力します。

Bcdedit.exe /display {ID} {ID1} {ID2}

または

Bcdedit.exe /displayorder {ID} [/addlast|/addfirst|/remove]

 

オプション 説明

ID

表示順序に含める 1 つの GUID または GUID のリストを指定します。少なくとも 1 つのID を指定する必要があります。

識別子の詳細については、「bcdedit /? ID」と入力してください。

次のコマンドは、ブート マネージャの表示順序に含める 3 つのオペレーティング システム エントリを設定します。

Bcdedit.exe /displayorder {c84b751a-ff09-11d9-9e6e-0030482375e6} {c74b751a-ff09-11d9-9e6e-0030482375e4} {c34b751a-ff09-11d9-9e6e-0030482375e7}

次のコマンドは、ブート マネージャの表示順序に 2 つのオペレーティング システム エントリと 1 つのレガシ Windows ローダーを設定します。

bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}

次のコマンドは、GUID で表されるエントリをブート メニューの表示順序の最後に追加します。

bcdedit.exe /displayorder {c84b751a-ff09-11d9-9e6e-0030482375e6}-addlast

ブート エントリを削除する方法

コマンド プロンプトで、次のように入力します。

bcdedit /delete ID [/f]

 

オプション 説明

ID

削除するブート エントリの GUID を指定します。ID が指定されていない場合は、現在のブート エントリ ID が削除されます。

既知の GUID を指定した場合、/f を指定して強制的に削除するようにする必要があります。たとえば、次のように指定します。

bcdedit /delete {default} /f

たとえば、次のコマンドは、ID が {802d5e32-0784-11da-bd33-000476eba25f} であるエントリを削除します。

bcdedit /delete {802d5e32-0784-11da-bd33-000476eba25f}

カーネル デバッガを有効または無効にする方法

コマンド プロンプトで、次のように入力します。

bcdedit /debug [{ID}] {on|off}

 

オプション 説明

ID

編集するブート エントリの GUID を指定します。ID が指定されていない場合は、現在のブート エントリ ID が編集されます。

たとえば、次のコマンドは、指定したオペレーティング システム ブート エントリのブート デバッグを有効にします。

bcdedit /debug {cbd971bf-b7b8-4885-951a-fa03044f5d71} on

note
ID の詳細については、「bcdedit /? ID」と入力してください。

物理アドレス拡張 (PAE) を設定する方法

コマンド プロンプトで、次のように入力します。

bcdedit /set {ID} pae [Default|ForceEnable|ForceDisable]

 

オプション 説明

ID

変更するオペレーティング システム エントリの ID を指定します。ID を指定しない場合は、現在のオペレーティング システム設定が変更されます。

たとえば、次のように指定します。

bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f} pae forceenable

REMOVEMEMORY を設定する方法

コマンド プロンプトで、次のように入力します。Removememory は、オペレーティング システムが使用できる総メモリ容量から指定したメモリ容量を削除します。

bcdedit /set {GUID} removememory bytes

 

オプション 説明

ID

変更するオペレーティング システム エントリの ID を指定します。ID を指定しない場合は、現在のオペレーティング システム設定が変更されます。

bytes

削除するバイト数。

この例は、総メモリ容量から 256 MB のメモリを削除します。

bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f } removememory 256

MAXMEM/TRUNCATEMEMORY を設定する方法

コマンド プロンプトで、次のように入力します。Truncatememory は、指定された物理アドレスを超えるすべてのメモリを無視します。

bcdedit /set {ID} truncatememory bytes

note
代わりに removememory を使用することをお勧めします。これは、指定されたメモリのオペレーティング システムによる使用を制限するには適していますが、メモリ ホールの原因となります。

 

オプション 説明

ID

変更するオペレーティング システム エントリの IDID を指定しない場合は、現在のオペレーティング システム設定が変更されます。

bytes

切り捨てるバイト数を指定します。

この例は、メモリを 1024 MB までで切り捨てるように設定します。

bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f} truncatememory 1073741824

プライベート カーネルを追加する方法

コマンド プロンプトで、次のように入力します。

bcdedit /set {ID} kernel "Path"

 

オプション 説明

ID

変更するオペレーティング システム エントリの識別子を指定します。ID を指定しない場合は、現在のオペレーティング システム設定が変更されます。

たとえば、次のように指定します。

bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f} kernel "mykrnl.dll"

新しい Windows Vista オペレーティング システム エントリを作成する方法

新しい Windows Vista オペレーティング システム エントリを作成するには、次の手順に従います。

新しい Windows Vista オペレーティング システム エントリを作成するには
  1. まず、レプリケートするオペレーティング システム エントリをコピーして、NewEntryDescription という名を付けます。

    bcdedit /copy {GuidToCopy} /d “NewEntryDescription

  2. このコマンドは、新しい GUID を生成します。新しい GUID を使用して、次のように指定し、パーティション情報を変更します。

    bcdedit /set {NewGuid} device partition=x:

    bcdedit /set {NewGuid} osdevice partition=x:

  3. 次のように指定して、作成された新しいオペレーティング システム エントリを表示に追加します。

    bcdedit /displayorder {NewGuid} /addlast

特定の種類のエントリを一覧表示する方法

/enum コマンドは、BCD ストア内のエントリを一覧表示します。エントリを一覧表示するには、次のように入力します。

bcdedit /enum [Type]

 

オプション 説明

Type

一覧表示するエントリの種類を指定します。Type は、次のいずれかです。

  • active (既定値)。ブート マネージャの表示順序のすべてのエントリを一覧表示します。

  • Firmware。すべてのファームウェア アプリケーション エントリを一覧表示します。

  • Bootapp。すべてのブート環境アプリケーション エントリを一覧表示します。

  • Bootmgr。すべてのブート マネージャ エントリを一覧表示します。

  • Osloader。すべてのオペレーティング システム エントリを一覧表示します。

  • Inherit。すべての継承するタイプのエントリを一覧表示します。

  • All。すべてのエントリを一覧表示します。

次のコマンドは、すべてのオペレーティング システム ローダーのブート エントリを一覧表示します。

bcdedit /enum osloader

次のコマンドは、すべてのブート マネージャ エントリを一覧表示します。

bcdedit /enum bootmgr

Windows Vista を実行しているコンピュータに前のバージョンの Windows をインストールするときに BCD を編集する方法

Windows Vista を実行しているコンピュータに古い Windows オペレーティング システムをインストールするには、次の手順を使用します。

Windows Vista を実行しているコンピュータに前のバージョンの Windows をインストールするには
  1. 前のバージョンの Windows をインストールします。

  2. 古いオペレーティング システムにログオンし、次のコマンドを実行して、最新のブート マネージャを復元します。Fixntfs.exe はアクティブ パーティションの \boot ディレクトリにあります。

    fixntfs /lh

  3. 次のように指定して、古いオペレーティング システムの BCD エントリを作成します。Bcdedit.exe は、Windows Vista パーティションの \Windows\System32 ディレクトリにあります。Description は、古いオペレーティング システムの新しいエントリに関する説明です。

    Bcdedit /create {legacy} /d “ Description

    Bcdedit /set {legacy} device boot

    Bcdedit /set {legacy} path \ntldr

    Bcdedit /displayorder {legacy} /addlast

  4. 変更を反映させるために、コンピュータを再起動します。

ハード ディスクから WIM イメージを起動するエントリを作成する方法

Windows イメージ形式 (WIM) イメージを起動するエントリを作成するには、ブート パーティションを指すように RAMDISK オプションを使用して OSloader タイプのエントリを作成する必要があります。そのためには、次の手順に従います。この手順では、arcpath multi(0)disk(0)rdisk(0)partition(1) は、コンピュータ上の C: ドライブを参照し、Boot.wim は、WIM イメージ内の System32 フォルダの Winload.exe に含まれる通常の Boot.wim です。

ハード ディスクから WIM イメージを起動するエントリを作成するには
  1. 次のように指定して、BCD ストアに {ramdisktoptions} オブジェクトを作成します。Drive は、イメージが含まれているドライブである必要があります。

    bcdedit /create {ramdiskoptions} /d "Ramdisk options"

    bcdedit /set {ramdiskoptions} ramdisksdidevice partition= Drive

    bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi

  2. 次のように指定して、新しいブート アプリケーション エントリを作成します。

    bcdedit /create /d "Boot from WIM" /application OSLOADER

  3. これは、新しく作成されたエントリの識別子 (GUID) を返します。この新しいエントリは、これ以降の手順では {GUID} として参照されます。次に、以下のように指定します。

    bcdedit /set {GUID} device ramdisk=[c:]\sources\boot.wim,{ramdiskoptions}

    bcdedit /set {GUID} path \windows\system32\winload.exe

    bcdedit /set {GUID} osdevice ramdisk=[c:]\sources\boot.wim,{ramdiskoptions}

    bcdedit /set {GUID} systemroot \windows

  4. Windows プレインストール環境 (Windows PE) で起動する場合は、以下も指定する必要があります。

    bcdedit /set {GUID} winpe yes

    bcdedit /set {GUID} detecthal yes

  5. さらに、次のように指定して、新しいエントリを表示順序に追加します。

    bcdedit /displayorder {GUID} /addlast

特定のエントリのデバッガ設定を変更する方法

特定のデバッガ設定に対するグローバル エントリを上書きするには、次のいずれかを入力します。

note
このコマンドは、特定のブート エントリに対するデバッガを有効または無効にするものではありません。

  • シリアル デバッグを設定するには、次のように入力します。

    bcdedit /set {GUID} debugtype:serial

    bcdedit /set {GUID} baudrate:Baudrate

    bcdedit /set {GUID} debugport:Port

  • USB デバッグを設定するには、次のように入力します。

    bcdedit /set {GUID} debugtype:usbbcdedit /set {GUID} targetname:debugging

  • 1394 デバッグを設定するには、次のように入力します。

    bcdedit /set {GUID} debugtype:1394bcdedit /set {GUID} targetname:32

次のコマンドは、c74b751a-ff09-11d9-9e6e-0030482375e4 のデバッガ設定を com1 での 115,200 ボーのシリアル デバッガに設定します。

Bcdedit /set {c74b751a-ff09-11d9-9e6e-0030482375e4} debugtype:serial

Bcdedit /set {c74b751a-ff09-11d9-9e6e-0030482375e4} baudrate:115200

Bcdedit /set {c74b751a-ff09-11d9-9e6e-0030482375e4} debugport:1

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker