Thank you boyans, a little help with VBCD (BM, language, etc.)...
-
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
-
-
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.
-
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
-
-
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
-
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, ....
-
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
-
-
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
-
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
-
OK, so these objects are dynamic and written when computer hipernates from within Windows 7.
Thanks again, this will do it :)
/Søren