Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've had a working multi-boot setup with the Windows boot loader, containing menu items for two Windows 7 systems, and one for GRUB. GRUB in turn contains multiple menu items, but I think that's not relevant here. I've upgraded one system to Windows 8. When I now set a different system as the default, I lose the boot menu, and I lose the possibility of booting into the other systems. I've set Windows 7 as the default, rebooted, and get Windows 7, but I don't get to choose which system to boot into. I can run its own BCDedit to change the default back to Windows 8, and another reboot shows the boot menu again, but how can I avoid defaulting to Windows 8?

Here are my current boot settings. Is there anything that is misconfigured?

C:\WINDOWS\system32>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=F:
description             Windows Boot Manager
locale                  nl-NL
inherit                 {globalsettings}
integrityservices       Enable
default                 {current}
resumeobject            {2f8b77f0-a30b-11e1-a9c6-a4bd8d37f662}
displayorder            {current}
                        {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
                        {2f8b77ee-a30b-11e1-a9c6-a4bd8d37f662}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 8
locale                  nl-NL
inherit                 {bootloadersettings}
integrityservices       Enable
recoveryenabled         No
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {2f8b77f0-a30b-11e1-a9c6-a4bd8d37f662}
nx                      OptIn
bootmenupolicy          Standard

Windows Boot Loader
-------------------
identifier              {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
device                  partition=D:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  nl-NL
osdevice                partition=D:
systemroot              \Windows
resumeobject            {59616f59-a2ba-11e1-b73a-806e6f6e6963}
nx                      OptIn
pae                     Default
bootmenupolicy          Standard
hypervisorlaunchtype    Auto
detecthal               Yes
sos                     No
debug                   No

Real-mode Boot Sector
---------------------
identifier              {2f8b77ee-a30b-11e1-a9c6-a4bd8d37f662}
device                  partition=C:
path                    \grub\winloader\grub.boot
description             Grub 2
share|improve this question
    
As usual, boot loader for older versions of Windows cannot boot new generations of Windows. You must use the boot loader from Windows 8 to boot Windows 8. However, your Windows 8 bootloader should allow you to boot into Windows 7 though. –  billc.cn Oct 27 '12 at 10:58
    
I am using the boot loader from Windows 8, that part of the upgrade went well. My problem is that I would like to make Windows 8's boot loader default to booting Windows 7, which works, except I lose the option to boot anything else. –  hvd Oct 27 '12 at 11:38

3 Answers 3

up vote 1 down vote accepted

billc.cn's answer accidentally pointed me in the right direction. When I changed the default boot item to GRUB, without doing anything else, I got the old boot interface, and booting would wait for 30 seconds before loading GRUB. That is the behaviour I would also like for Windows 7. When looking at the differences, why it worked with one but not the other, I found:

Windows Boot Loader
-------------------
identifier              {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
device                  partition=D:
path                    \Windows\system32\winload.exe
description             Windows 7
...
bootmenupolicy          Standard

That is bogus. bootmenupolicy Standard is the new Windows 8 graphical boot menu. Since this menu item is for Windows 7, which does not have that, it should be set to bootmenupolicy Legacy:

bcdedit /set {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662} bootmenupolicy Legacy

What also works is to remove the value altogether:

bcdedit /deletevalue {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662} bootmenupolicy

This appears to be something that went wrong with the Windows 8 upgrade. It changed both boot menu items to the new graphical menu, but it should only have done so for the Windows being upgraded.

share|improve this answer
    
So we both learned new stuff today. This is great! –  billc.cn Oct 27 '12 at 12:35

Ah, I see your problem now. Probably the Windows 8 boot loader handed control to its Windows 7 counter part too fast (maybe if you hold down F8 you can see it).

I guess you can change your main bootloader to Grub and use its chainload feature. You'll have to have two copies of BCD store (i.e. the \boot folder) on separated system partitions and create two chainload entries in grub configuration file. This makes use of the fact that Windows relies on the first few sector of an NTFS partition to boot (instead of the MBR).

You must use tools (like EasyBCD) to create the second BCD store because the aforementioned boot sectors may need to be updated as well. I would suggest you create the second BCD on the Win7 partition and use it to boot Win7.

share|improve this answer
    
I appreciate your answer, it pointed me in the right direction, even if not the way you intended. Thanks. –  hvd Oct 27 '12 at 12:33

Try EasyBCD. You can choose default OS and much more along with backup and restore options!

share|improve this answer
1  
I'm familiar with EasyBCD, and it's good, but keep in mind that it's mainly a frontend for bcdedit and cannot do much that bcdedit cannot do. It would not have solved my problem. For a long while though, I have been using it as it was by far the easiest way to get Grub working from the Windows boot menu. –  hvd Oct 29 '12 at 11:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.