Thank you boyans, a little help with VBCD (BM, language, etc.)...


  1. Posts : 29
    Windows 7 Home Premium 64bit
       #1

    Thank you boyans, a little help with VBCD (BM, language, etc.)...


    Hello!

    I would like to thank boyans for his input regarding BCD and his excellent utility. I was lost and searched the web thin on advice as to how to enable the F11-key at boot. Now I have solved this and it works great (even though I believe the original layout of the F11-key was built into the MBR-code/displayed on the BIOS screen).


    I just have a few questions (and hope boyans or others can clarify):
    • The Recovery volume is listed with the wrong name in the boot menu even though the settings are correct (double checked) and shows up correctly in Windows/System GUI. The choice "RAM disk" boots the Recovery partition but is displayed wrongly. Also, the boot manager is displayed in English even though locale is da-DK. See code below...
    • Is it possible to boot a VHD which contains the files of a bootable CD/DVD? Other ways to put a bootable media in here?
    • Can I put a bat or cmd file in the tools section or is this only for DOS exe's?
    I have enclosed output from bcdedit below. This has been edited from Vistax86 (original BCD) - should anything be different in Win7x64 especially with regard to resume and memory settings (x86PaeMode, AllowBadMemory etc.)? What is "hidden_integer" (custom:47000005 301989892 2) used for?

    Thanks,
    Søren

    Code:
    Windows Boot Manager
    --------------------
    id {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    device partition=C:
    path \bootmgr
    description Windows Boot Manager
    locale da-DK
    inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    default {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    resumeobject {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    displayorder {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    {a06974e0-99f5-11e1-8f20-001e4c11e7b1}
    toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
    timeout 5
    displaybootmenu Yes
    customactions 0x1000085000001
    0x5400000f
    custom:5400000f {a06974e0-99f5-11e1-8f20-001e4c11e7b1}
    Windows Boot Loader
    -------------------
    id {a06974e0-99f5-11e1-8f20-001e4c11e7b1}
    device ramdisk=[M:]\Recovery\WindowsRE\Winre.wim,{a06974e1-99f5-11e1-8f20-001e4c11e7b1}
    path \windows\system32\winload.exe
    description HP Recovery Manager
    osdevice ramdisk=[M:]\Recovery\WindowsRE\Winre.wim,{a06974e1-99f5-11e1-8f20-001e4c11e7b1}
    systemroot \windows
    nx OptIn
    detecthal Yes
    winpe Yes
    custom:46000010 Yes
    Windows Boot Loader
    -------------------
    id {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    device partition=C:
    path \Windows\system32\winload.exe
    description Windows 7 Home Premium
    locale da-DK
    inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence {a06974e0-99f5-11e1-8f20-001e4c11e7b1}
    recoveryenabled Yes
    osdevice partition=C:
    systemroot \Windows
    resumeobject {b98edb9c-cb23-11e0-b1bb-806e6f6e6963}
    nx OptIn
    Forts‘t efter dvale
    ---------------------
    id {b98edb9c-cb23-11e0-b1bb-806e6f6e6963}
    device partition=C:
    path \Windows\system32\winresume.exe
    description Windows Resume Application
    locale da-DK
    inherit {1afa9c49-16ab-4a5c-901b-212802da9460}
    filedevice partition=C:
    filepath \hiberfil.sys
    pae No
    debugoptionenabled No
    custom:42000002 \system32\winresume.exe
    custom:45000001 2
    custom:46000004 Yes
    Windows Hukommelsestester
    -------------------------
    id {b2721d73-1db4-4c62-bf78-c548a880142d}
    device partition=C:
    path \boot\memtest.exe
    description Windows Hukommelsesdiagnosticering
    locale da-DK
    inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    badmemoryaccess Yes
    custom:45000001 1
    custom:47000005 301989892
    2
    EMS-indstillinger
    ------------
    id {0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}
    bootems Yes
    Fejlfindingsindstillinger
    -----------------
    id {4636856e-540f-4170-a130-a84776f4c654}
    debugtype Serial
    debugport 1
    baudrate 115200
    RAM-fejl
    -----------
    id {5189b25c-5558-4bf2-bca4-289b11bd29e2}
    Globale indstillinger
    ---------------
    id {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    inherit {4636856e-540f-4170-a130-a84776f4c654}
    {0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}
    {5189b25c-5558-4bf2-bca4-289b11bd29e2}
    Indstillinger for afsnittet Boot Loader
    --------------------
    id {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    Indstillinger for afsnittet Resume Loader
    ----------------------
    id {1afa9c49-16ab-4a5c-901b-212802da9460}
    inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    Enhedsindstillinger
    --------------
    id {a06974e1-99f5-11e1-8f20-001e4c11e7b1}
    description Ramdisk Device Options
    ramdisksdidevice partition=M:
    ramdisksdipath \Recovery\WindowsRE\boot.sdi
    Last edited by a15995; 11 May 2012 at 03:43. Reason: Formatting
      My Computer


  2. Posts : 240
    Win 8 RP, Win 7, XP
       #2

    Hi a15995 ,

    Thank you for nice note on VBCD.

    To manage Windows 7 Recovery you can use ReAgentC.exe.
    You can specify source, target and key with /setreimage
    ReAgentC stores its parameters in \Windows\System32\Recovery\ReAgent.xml

    Reagentc can handle either standard winre.wim (contains recovery environment image) or user/oem supplied image.

    The Recovery volume is listed with the wrong name in the boot menu even though the settings are correct (double checked) and shows up correctly in Windows/System GUI. The choice "RAM disk" boots the Recovery partition but is displayed wrongly. Also, the boot manager is displayed in English even though locale is da-DK. See code below...
    A Recovery loader should not have a description in its device object(ramdisk object) as this description takes precedence over description for loader - and is displayed in boot-menu.
    If da-DK language is not displayed have a look if there is a \Boot\da-DK folder on active partition. Repair BCD (bcdboot.exe) can fix \Boot folder(with BCD inside) and bootmgr.

    Can I put a bat or cmd file in the tools section or is this only for DOS exe's?
    Only native applications can be executed as there is no Windows environment/support loaded yet !

    Is it possible to boot a VHD which contains the files of a bootable CD/DVD? Other ways to put a bootable media in here?
    If you extract CD/DVD to VHD you can then start the same executable file as on CD/DVD.

    What is "hidden_integer" (custom:47000005 301989892 2) used for?
    Some kind of parameters (no symbolic name) handed over to the application launched - in this case two integers for memtest - special meaning unknown.
      My Computer


  3. Posts : 29
    Windows 7 Home Premium 64bit
    Thread Starter
       #3

    Hello!

    Thanks for your answers.

    A Recovery loader should not have a description in its device object(ramdisk object) as this description takes precedence over description for loader - and is displayed in boot-menu.
    If da-DK language is not displayed have a look if there is a \Boot\da-DK folder on active partition. Repair BCD (bcdboot.exe) can fix \Boot folder(with BCD inside) and bootmgr.
    Hmm there is a da-DK folder in there and it has not been altered. I will try the fix after backing up the BCD file.

    I will remove the description from the loader object and see what happens.

    With regard to the parameters passed to memtest, I believe it must be the amount of ram to test and number of cycles. I'll have to edit the amount even though the number seems odd even in Kb...

    As to booting images I use EasyBCD to mount them. That works great actually...

    Thanks again for getting back :)

    /Søren
      My Computer


  4. Posts : 29
    Windows 7 Home Premium 64bit
    Thread Starter
       #4

    Everything except a few things seem fine now:
    • Boot Manager still in English after repair, maybe it's supposed to be in English (other menus in da-DK)
    • Recovery entry now displays correctly
    • F11 does not work, code intact. Seemed to work at some point...
    • Will try to grap the original BCD, MBR and Track0 from a factory reset and using Acronis TIH to get the original F11-code (analyzing a similar original system didn't show any OEM codes in the BCD meaning it must be in the MBR)
    TIH seems to be able to write the MBR/Track0 without affecting the partition table so I will give that a shot when I have to replace my disks...

    /Søren
      My Computer


  5. Posts : 240
    Win 8 RP, Win 7, XP
       #5

    F11 does not work, code intact. Seemed to work at some point...
    Will try to grap the original BCD, MBR and Track0 from a factory reset and using Acronis TIH to get the original F11-code (analyzing a similar original system didn't show any OEM codes in the BCD meaning it must be in the MBR)
    TIH seems to be able to write the MBR/Track0 without affecting the partition table so I will give that a shot when I have to replace my disks...
    I have not put F11 in custom actions as there are conflicting keyboard scan tables on the internet (there are several keyboard variations and standards on the market !).
    Also check with ExtendedInput (in {globalsettings}) set to true(1) and scan code 57 (instead of 85) hexadecimal.


    THERE IS NO KEYBOARD SCAN CODE IN MBR - keyboard input is handled either during BIOS PoweOnSelfTest(POST) or later by boot manager.

    Visual BCD (using bootsect.exe) can write MBR and partition boot records (PBR) - bootsect.exe is a Microsoft/Windows utility !

    No utility which updates MBR executable code should alter partition table !
    Partition table (part of MBR) should be altered only using disk management software - Windows Disk Management, Partition Wizard, Partition Guru, ....
      My Computer


  6. Posts : 29
    Windows 7 Home Premium 64bit
    Thread Starter
       #6

    Thanks again...


    Thanks boyans!

    Once again very helpful info for us messing with BCD for the first time.

    Will try the extended input and the alternative scan code. About the F11 code, my BIOS is original, but maybe the code is pointing to a fixed start sector of the recovery partition - and that partition has definitely a different start sector now. F11 is not responsive like F10 etc. on BIOS POST and I believe it used to output something like "Loading HP Recovery" or similar on the BIOS screen.

    But like you said this is handled by the BIOS POST...

    /Søren
      My Computer


  7. Posts : 29
    Windows 7 Home Premium 64bit
    Thread Starter
       #7

    ResumeObject?


    I fixed the F11, apparently ExtendedInput did the trick and I kept the scan code 85.

    One last question though. I have a ResumeObject in the bootmgr and in the bootloader of Windows 7 that points in different directions (I left something out below for clarity):

    Code:
    Windows Boot Manager
    --------------------
    id              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    device                  partition=C:
    path                    \bootmgr
    description             Windows Boot Manager
    locale                  da-DK
    inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    default                 {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    resumeobject            {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    displayorder            {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
                            {84a691b9-9b58-11e1-94b5-001f2027354f}
                            {cd1267e8-9e03-11e1-b181-001f2027354f}
                            {84a691ba-9b58-11e1-94b5-001f2027354f}
                            {84a691b1-9b58-11e1-94b5-001f2027354f}
    toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
    timeout                 5
    displaybootmenu         Yes
    customactions           0x1000085000001
                            0x5400000f
    custom:5400000f         {a06974e0-99f5-11e1-8f20-001e4c11e7b1}
     
    Windows Boot Loader
    -------------------
    id              {fe197d77-7d89-11e0-a4a6-6c626d73adb8}
    device                  partition=C:
    path                    \Windows\system32\winload.exe
    description             Windows 7 Home Premium
    locale                  da-DK
    inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    recoverysequence        {a06974e0-99f5-11e1-8f20-001e4c11e7b1}
    recoveryenabled         Yes
    osdevice                partition=C:
    systemroot              \Windows
    resumeobject            {b98edb9c-cb23-11e0-b1bb-806e6f6e6963}
    nx                      OptIn
    The bootmgr object points to Windows 7 and this bootloader object points to the winresume object {b98edb9c-cb23-11e0-b1bb-806e6f6e6963}.

    This is as original but I just find it curious that both don't point to the winresume object.

    What is the purpose of the ResumeObject in the bootmgr section as opposed to the one in the bootloader/Windows 7 section?

    Thanks,
    Søren
      My Computer


  8. Posts : 240
    Win 8 RP, Win 7, XP
       #8

    Hi Søren,

    Glad that F11 is working now.

    For every Vista/7 loader Windows creates a corresponding resume loader.

    {bootmgr}->resumeobject is for computer system and stores guid of last resume loader used.

    So if you have Vista and Win7 installed and if you hibernate Vista then Vista's resume loader guid is stored in bootmgr->resumeobject
      My Computer


  9. Posts : 29
    Windows 7 Home Premium 64bit
    Thread Starter
       #9

    OK, so these objects are dynamic and written when computer hipernates from within Windows 7.

    Thanks again, this will do it :)

    /Søren
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 08:25.
Find Us