• Introduction
  • Boot Configuration Data in Windows Vista Feb. 4, 2008 Abstract

    Download 162.72 Kb.
    Hajmi162.72 Kb.
      1   2   3   4   5


    Boot Configuration Data in Windows Vista

    Feb. 4, 2008


    Microsoft has completely reengineered the boot environment for Windows Vista to address the increasing complexity and diversity of modern hardware and firmware. One aspect of this reengineering is a new firmware-independent data store that contains configuration data that influences the boot process. This paper provides an overview of this configuration data—called boot configuration data (BCD)—and describes how to use the related tools to manage boot options.

    This information applies to the Windows Vista operating system.

    The current version of this paper is maintained on the Web at:


    References and resources discussed here are listed at the end of this paper.


    Introduction 3

    BCD Overview 4

    BCD Architecture 5

    BCD Stores 5

    BCD Objects 7

    BCD Application Objects 8

    BCD Inheritable Objects 9

    BCD Device Objects 10

    BCD Elements 10

    Tools for Managing the BCD 11

    The Shell 11

    MSConfig 11

    BCDEdit 12

    How to Manage BCD Programmatically with WMI 14

    The BCDStore Class 14

    The BCDObject Class 14

    BCDElement Classes 15

    BCD Cookbook 15

    Kernel Debugging 15

    Enable Kernel Debugging 15

    Specify Global Debug Settings 16

    Specify Debug Settings for a specified Boot Entry 16

    Specify the Default Operating System 16

    Specify the Boot Manager's Timeout Value 17

    Manage Boot Entries 17

    Change a Boot Entry's Description 17

    Control How Boot Entries Appear to the User 17

    Create a New Windows Vista Boot Entry 18

    Delete a Boot Entry 18

    Enable PAE 20

    Create a Boot Entry to Boot a WIM from a Hard Disk 20

    Make a Non-system Store into the System Store 20

    Resources 21

    This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.
    The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
    Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
    Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
    Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred.
    © 2006 Microsoft Corporation. All rights reserved.
    Microsoft, Visual Basic, Windows, Windows Server, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
    The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

    Document History




    Removed reference to Longhorn




    When a computer is started or rebooted, it must load the operating system. The details of this process vary depending on the system's hardware and firmware and whether the system is booted from a disk drive, a network, or some other source.

    For the common scenario of a PC/AT BIOS computer that is booting from its hard drive, the BIOS reads the master boot record (MBR) and transfers control to the MBR's code. MBR, in turn, transfers control to the code that loads the operating system. Historically, the primary application that is responsible for loading Windows® has been Ntldr.

    The data that has determined how Ntldr loaded Windows has been contained in a text file that is named boot.ini and resides on the root folder of the boot drive. Boot.ini contains a separate boot entry for each version or configuration of Windows that is available to the user. If multiple configurations or versions of the operating system are available, Ntldr displays the list of boot entries to allow the user to specify which one should be loaded. It then proceeds to load the selected version of the operating system with a configuration that is based on the selected entry's boot options.

    The boot process for computers that use Extensible Firmware Interface (EFI) firmware is completely different from that for PC/AT BIOS computers. EFI is the next-generation firmware model that serves as the interface between hardware platform and the operating system. It provides information about the platform that is necessary for the operating system to boot and is expected to replace the legacy BIOS in the coming decade.

    The firmware on a computer that uses EFI contains a boot manager that loads an operating system EFI application that is based on variables that are stored in non-volatile RAM (NVRAM). The Windows EFI operating system loader does not use boot.ini at all. For further information on EFI, see the white paper titled “EFI and Windows Vista.”

    Windows Vista® introduces boot configuration data (BCD). This new data store serves essentially the same purpose as boot.ini. However, BCD abstracts the underlying firmware and provides a common programming interface to manipulate the boot environment for all Windows-supported computer platforms. BCD currently supports PC/AT BIOS and EFI systems. However, its programming interface is extensible and portable and has the ability to support other types of firmware in addition to the two discussed here.

    Windows Vista introduces several new boot applications, including:

    Bootmgr: A system-wide application that controls boot flow. With a multiboot system, the boot manager displays an operating system selection menu.

    Winload.exe: The Windows Vista operating system loader. Each version of Windows Vista and Windows Server® 2008 that is installed on a computer has its own instance of winload.exe. The operating system loader creates the execution environment for the operating system and also loads the Windows Vista kernel, hardware abstraction layer (HAL), and boot drivers into memory.

    Winresume.exe: The Windows Vista resume loader. Each version of Windows Vista and Windows Server 2008 that is installed on a computer has its own instance of winresume.exe. The resume loader restores Windows to its running state when a computer resumes from hibernation.

    NTLDR can still be used on PC/AT BIOS systems to dual boot a Windows version earlier than Windows Vista.

    This white paper includes:

    The architecture of BCD.

    How to manage the boot environment and BCD with system tools.

    How to manage the boot environment and BCD programmatically through the BCD Windows Management Instrumentation (WMI) provider.

    A “cookbook” that shows how to do a number of common operations with BCDEdit and the BCD WMI interface.

    Download 162.72 Kb.
      1   2   3   4   5

    Download 162.72 Kb.

    Bosh sahifa

        Bosh sahifa

    Boot Configuration Data in Windows Vista Feb. 4, 2008 Abstract

    Download 162.72 Kb.