GRUB2 boots to Windows 7 by chainloading the BCD. BCD is usually is installed in the System Reserved Partition without drive letter.


Partition 1 - Ubuntu & GRUB2 bootmanager installed, Primary
Partition 2 - System Reserved, Contains BCD/Windows BootManager, Primary
Partition 3 - Windows 7 Home, Primary
Partition 4 - Windows 7 Pro, Primary
Partition 5 - Windows 7 Ultimate, Logical

When booting into Windows, it should work as

MBR -> GRUB2 -> BCD(Windows Boot Menu) -> Selected Windows 7

However, I would like add menu entries in GRUB2 that boot directly into a specific Windows 7.

MBR -> GRUB2 -> Selected Windows 7

(I had read about the add custom menu entries in GRUB2 blog, but all it does is make it load the Windows Boot menu) Is that possible?

The way I see the only way to make it work is to install multiple BCD on different partitions with each BCD containing only ONE Windows 7 entry. And then tell GRUB2 load to different BCD on menu entry select.

MBR -> GRUB2 -> BCD(Skipped Windows Boot Menu due to one entry) -> Selected Windows 7

However, the BCD could only be detected on Primary Partitions, so that won't work on the Windows installed on the logical partition. Is there a way to get around this?


Multiple BCD partitions could work. On an MBR system you'd be limited to 3 versions of Windows per drive with that method, because (as you mentioned) the boot partition has to be primary for Windows.

Another possibility with one partition would be passing parameters to the chainloaded bootmgr, but I don't think it or GRUB supports this. You're limited to configuring the BCD prior to booting.

Lastly you could try putting everything (Ubuntu in this case) in the Windows boot menu and doing away with the GRUB menu, giving a similar end result.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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