BCD と NVRAM で重複しているファームウェア オブジェクトを削除する

適用対象: Windows Vista

一部の Unified Extensible Firmware Interface (UEFI) ベースのコンピュータでは、コンピュータの起動時に、CD-ROM やハード ディスク ドライブなどのローカル デバイスに対して、不揮発性ランダム アクセス メモリ (NVRAM) のエントリがファームウェアによって作成されます。Bcdedit は、NVRAM のファームウェア名前空間オブジェクトをシステム ブート構成データ (BCD) と同期します。bcdedit /set または bcdedit /enum コマンドを実行すると、Bcdedit によってシステム BCD ストアが開きます。bcdedit によって BCD が開くと、NVRAM のエントリと BCD のエントリが比較されます。ファームウェアによって作成された NVRAM のエントリのうち BCD に存在しないものが、システム BCD に追加されます。bcdedit によってシステム BCD が閉じると、BCD のブート マネージャ エントリのうち NVRAM に存在しないものが NVRAM に追加されます。bcdedit /import コマンドは、すべてのファームウェア名前空間オブジェクトをシステム BCD から NVRAM にコピーします。

bcdedit /import の操作を複数回実行した場合、システム上の CD-ROM やハード ディスク ドライブなどのデバイスに対応したエントリが複数、NVRAM に含まれる可能性があります。/import の操作を複数回実行することによって、多数のエントリが重複することがあります。BCD のファームウェア名前空間オブジェクトを列挙するには、次のコマンドを使用します。

Bcdedit /enum firmware

bcdedit /enum firmware コマンドの出力は次の例のようになります。

Firmware Boot Manager
---------------------
identifier              {fwbootmgr}
displayorder            {bootmgr}
                        {93cee840-f524-11db-af62-aa767141e6b3}
                        {93cee841-f524-11db-af62-aa767141e6b3}
                        {93cee842-f524-11db-af62-aa767141e6b3}
                        {93cee844-f524-11db-af62-aa767141e6b3}
                        {93cee843-f524-11db-af62-aa767141e6b3}
timeout                 2

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Firmware Application (101fffff)
-------------------------------
identifier              {93cee840-f524-11db-af62-aa767141e6b3}
description             Primary Master CDROM

Firmware Application (101fffff)
-------------------------------
identifier              {93cee841-f524-11db-af62-aa767141e6b3}
description             Harddisk 4

Firmware Application (101fffff)
-------------------------------
identifier              {93cee842-f524-11db-af62-aa767141e6b3}
description             Internal EFI Shell

Firmware Application (101fffff)
-------------------------------
identifier              {93cee843-f524-11db-af62-aa767141e6b3}
description             Floppy

Firmware Application (101fffff)
-------------------------------
identifier              {93cee844-f524-11db-af62-aa767141e6b3}
description             Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/CDROM(Entry1)

bcdedit /import を複数回使用した場合、複数のファームウェア オブジェクトが NVRAM とシステム BCD に含まれることがあります。BCD ストアをマスタ コンピュータからターゲット コンピュータにインポートした場合、同じデバイスに対して複数のファームウェア エントリが存在することがあります。ファームウェア エントリが複数存在すると、bcdedit /enum firmware の出力に、次の例のようなファームウェア エントリが表示されます。

Firmware Boot Manager
---------------------
identifier              {fwbootmgr}
displayorder            {bootmgr}
                        {93cee840-f524-11db-af62-aa767141e6b3}
                        {93cee841-f524-11db-af62-aa767141e6b3}
                        {93cee842-f524-11db-af62-aa767141e6b3}
                        {93cee844-f524-11db-af62-aa767141e6b3}
                        {93cee843-f524-11db-af62-aa767141e6b3}
                        {8b87c5a0-f2f2-11db-9717-f87ee6ea6002}
                        {8b87c5a1-f2f2-11db-9717-f87ee6ea6002}
                        {8b87c5a2-f2f2-11db-9717-f87ee6ea6002}
                        {8b87c5a3-f2f2-11db-9717-f87ee6ea6002}
                        {8b87c5a4-f2f2-11db-9717-f87ee6ea6002}
timeout                 2

各デバイスに対して異なる GUID を持つ 2 つ以上のエントリが存在することがあります。たとえば、次のようにプライマリ マスタ CDROM に複数のエントリが含まれることがあります。

Firmware Application (101fffff)
-------------------------------
identifier              {93cee840-f524-11db-af62-aa767141e6b3}
description             Primary Master CDROM

Firmware Application (101fffff)
-------------------------------
identifier              {8b87c5a0-f2f2-11db-9717-f87ee6ea6002}
description             Primary Master CDROM

NVRAM および BCD システム ストアにある複数のエントリや重複するエントリを削除するには、複数の Bcdedit コマンドを使用します。削除する複数のオブジェクト エントリに対して正しいオブジェクト GUID を使用するため、場合によってはコマンド スクリプトを手動で作成する必要があります。

重複するエントリを削除するには

  1. 次の Bcdedit コマンドを使用して、現在のシステム ストアのコピーを保存します。

    Bcdedit /export savebcd
    
    後でこのファイルを回復の目的に使用できます。

  2. Bcdedit の削除操作に使用する SaveBCD ファイルのコピーを作成します。

    Copy savebcd newbcd
    
  3. システム BCD ストアにあるファームウェア名前空間オブジェクトを列挙し、その出力結果をテキスト ファイルに保存します。

    Bcdedit /enum firmware > enumfw.txt
    
  4. Enumfw.txt をメモ帳で開き、削除対象となる重複する GUID エントリの一覧を表示します。コンピュータの GUID エントリの一覧を確認します。

  5. メモ帳を使用して新しいコマンド ファイルを作成します。このファイルを RemoveDups.cmd として保存します。

  6. RemoveDups.cmd ファイルに、Firmware Boot Manager の表示順序で列挙された重複するファームウェア GUID を削除するコマンド ラインを追加します。

    Bcdedit /store newbcd /delete {93cee840-f524-11db-af62-aa767141e6b3}
    
    削除対象の GUID ごとにコマンドを繰り返します。前の例では、次のコマンドを RemoveDups.cmd に追加します。

    Bcdedit /store newbcd /delete {93cee841-f524-11db-af62-aa767141e6b3}
    Bcdedit /store newbcd /delete {93cee842-f524-11db-af62-aa767141e6b3}
    Bcdedit /store newbcd /delete {93cee843-f524-11db-af62-aa767141e6b3}
    Bcdedit /store newbcd /delete {93cee844-f524-11db-af62-aa767141e6b3}
    Bcdedit /store newbcd /delete {8b87c5a1-f2f2-11db-9717-f87ee6ea6002}
    Bcdedit /store newbcd /delete {8b87c5a2-f2f2-11db-9717-f87ee6ea6002}
    Bcdedit /store newbcd /delete {8b87c5a3-f2f2-11db-9717-f87ee6ea6002}
    Bcdedit /store newbcd /delete {8b87c5a4-f2f2-11db-9717-f87ee6ea6002}
    
    EFI ファームウェアによってローカル デバイスの NVRAM エントリが初期化されるコンピュータでは、必要に応じてすべての GUID を削除することもできます。{bootmgr} のエントリは削除しないでください。

  7. 最後に、新しい BCD ファイルをインポートするコマンドを RemoveDups.cmd に追加します。これには、インポート操作の一部として /clean オプションを使用し、すべての NVRAM エントリを削除します。

    Bcdedit /import newbcd /clean
    
  8. ファイルを保存し、コマンド プロンプトで RemoveDups.cmd を実行します。重複するすべてのエントリが newbcd ストアから削除され、newbcd ストアがシステム BCD にインポートされます。

  9. システムを再起動します。再起動中に、EFI ファームウェアによって NVRAM が再初期化され、システムに接続しているデバイスに対応するファームウェア オブジェクト GUID が使用されます。重複するすべてのファームウェア エントリが削除されたことを確認するには、bcdedit /enum firmware コマンドを使用します。

関連項目

コミュニティの追加

追加
表示: