• BCD Application Objects
  • BCD Inheritable Objects
  • BCD Device Objects
  • Boot Configuration Data in Windows Vista Feb. 4, 2008 Abstract




    Download 162.72 Kb.
    bet3/5
    Sana21.03.2017
    Hajmi162.72 Kb.
    1   2   3   4   5

    BCD Objects


    There are three general categories of BCD objects: application objects, inheritable objects, and device objects.
    General (lot. generalis - umumiy, bosh) - qurolli kuchlardagi harbiy unvon (daraja). Dastlab, 16-a.da Fransiyada joriy qilingan. Rossiyada 17-a.ning 2-yarmidan maʼlum. Oʻzbekiston qurolli kuchlarida G.
    The most common type of BCD object is an application object, which describes a boot environment application such as the Windows boot manager or Windows boot loader. Each object is represented by a 128-bit unique GUID and contains a 32-bit description that describes the type of object.

    The following table shows the object codes and associated object code values for the three object categories.



    Object Types

    Description

    Value

    Application

    0x1

    Inheritable

    0x2

    Device

    0x3

    Figure 4 shows the layout of the type. The details of how data is packed into bits 0 through 27 depends on the category.





    Figure 4. Layout of the BCD object type.

    BCD Application Objects


    A BCD application object represents a boot environment executable such as the Windows boot loader. Standard application objects include:

    The Windows boot manager object, which controls boot flow. In a dual-boot system, the Windows boot manager displays a boot selection menu to the user.

    The Windows boot loader object, which loads a particular version or configuration of Windows Vista or later versions of Windows.

    The Windows Ntldr object, which loads versions of Windows earlier than Windows Vista.

    The Windows resume loader object, which restores Windows to its running state when a computer resumes from hibernation.

    The Windows Memory Tester object, which runs a set of memory diagnostics.


    BCD application objects have two defining characteristics: image type and application type. Image type specifies how the executable is loaded. For example, an executable can be loaded through the firmware or by the Windows boot manager (as a boot application). The following table lists the valid image types, along with the associated numerical value:

    Image Types

    Description

    Value

    Firmware application

    0x1

    Boot application

    0x2

    Ntldr-based loader object

    0x3

    Real-mode application

    0x4

    Application type specifies what the application does. Each valid type has an associated code. The following table lists the standard application types, along with their numerical codes:



    Application Types

    Description

    Value

    Description

    Firmware boot manager

    0x1

    Applies only to EFI systems.

    Windows boot manager

    0x2

    Controls boot flow. In a dual-boot system, displays a boot selection menu to the user.

    Windows boot loader

    0x3

    Loads a particular version or configuration of Windows.

    Windows resume application

    0x4

    Restores Windows to its running state when a computer resumes from hibernation.

    Windows memory tester

    0x5

    A memory diagnostics application.

    Ntldr

    0x6

    Applies only to PC/AT BIOS systems. Loads versions of Windows earlier than Windows Vista.

    Boot sector

    0x8

    A 16-bit real-mode application. Applies only to PC/AT BIOS systems. Can be used to restart the boot process and load a non-Windows operating system.

    Figure 5 shows how the layout of an object type.





    Figure 5. Layout of the BCD application object type

    The following table gives the BCDEdit identifier and GUID for some commonly used application objects:



    Standard Application Objects

    Description

    BCDEdit ID

    GUID

    Windows Boot Manager

    {bootmgr}

    9dea862c-5cdd-4e70-acc1-f32b344d4795

    Firmware Boot Manager

    {fwbootmgr}

    a5a30fa2-3d06-4e9f-b5f4-a01df9d1fcba

    Windows Memory Tester

    {memdiag}

    b2721d73-1db4-4c62-bf78-c548a880142d

    Windows Resume Application

    No alias

    147aa509-0358-4473-b83b-d950dda00615

    Legacy Windows Loader

    {ntldr}

    466f5a88-0af2-4f76-9038-095b170dc21c

    Current boot entry

    {current}

    fa926493-6f1c-4193-a414-58f0b2456d1e

    Default boot entry

    {default}






    BCD Inheritable Objects


    Some BCD elements can be applied to more than one BCD application object, and a few are global to the entire BCD store. It is possible to associate these elements separately with each instance of an object that uses them. A more efficient approach is to create an inheritable object. This is a container for elements that are shared across multiple BCD object instances. For example, there are inheritable objects to specify whether the kernel debugger uses a COM, USB, or 1394 connection. A BCD object includes the inheritable object that contains the element instead of having a separate instance of the element itself.

    As described in the BCD element section, BCD element namespace is divided so that elements that are used by two different application classes can share the same type code. This means that an inheritable application class object can be associated only with a particular class of BCD application objects. Alternatively, an inheritable BCD object can contain only BCD elements that apply to all boot environment applications. Such objects can be included by any BCD application class. The two types of inheritable object are distinguished by their class. The numerical class code is given in parentheses:

    Library class (0x1). Inheritable objects of this type can be inherited by any BCD object and can contain only library class BCD elements.

    Application class (0x2). Inheritable objects of this type can be inherited only by the specified BCD application class.


    Inheritable objects that have a class code set to Application class must also include the type of application objects that can include the inheritable object. Possible values include any of the BCD application object types, such as Windows boot loaders or Windows boot manager.

    The following table gives the BCDEdit identifier and GUID for some commonly used inheritable objects:



    Standard Inheritable Objects

    BCDEdit ID

    GUID

    Description

    {badmemory}

    5189b25c-5558-4bf2-bca4-289b11bd29e2

    Global RAM defect list that can be inherited by any boot application.

    {bootloadersettings}

    6efb52bf-1766-41db-a6b3-0ee5eff72bd7

    Global settings that should be inherited by all Windows boot loader applications.

    {dbgsettings}

    4636856e-540f-4170-a130-a84776f4c654

    Global debugger settings that can be inherited by any boot application.

    {emssettings}

    0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9

    Global Emergency Management Services settings that can be inherited by any boot application.

    {globalsettings}

    7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e

    Global settings that should be inherited by all boot applications.

    {resumeloadersettings}

    1afa9c49-16ab-4a5c-901b-212802da9460

    Global settings that should be inherited by all resume applications.

    The inherited type has the following layout. The contents of the value field depend on the class code:

    Library. Value is not used.

    Application. Value specifies the type of application that can inherit from the object. It should be set to one of the application codes that were listed earlier.




    Figure 6. Layout of the BCD inherited object type

    BCD Device Objects


    Most devices, such as a partition on a hard disk, can be described by a single BCD element. However, more complicated devices could exist that require more than one element to describe. A BCD device object is a container for BCD elements for a complex device.

    For example, a BCD device object is used when booting from a RAM disk that was created from a Windows image (WIM) file. The device object contains the location of the WIM file and, when booted over the network, the network port information. The BCDEdit identifier for this object is {ramdiskoptions}. The associated GUID is {ae5534e0-a924-466c-b836-758539a3ee3a}). It is also possible to create custom device objects.

    The device type has the following layout.



    Figure 7. Layout of the BCD device object type

    1   2   3   4   5


    Download 162.72 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa


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

    Download 162.72 Kb.