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 have a machine with Windows XP, Server 2003 R2, and Server 2008 R2.

Right now, bootmgr has one entry for Server 2008 R2 and one entry for ntldr, which then leads to the ntldr boot.ini menu.

Is it possible to add two different nt52 entries on two partitions so that I can access all three OSes from the bootmgr menu?

Right now, Server 2008 and XP are in logical drives on an extended partition, but (I assume) I can image them onto basic partitions if necessary.

share|improve this question
add comment

2 Answers

Generally in the BCD (Vista/Windows7/Longhorn Boot loader) you only need one entry in total, for all ntldr based OS you'd like to boot. When the BCD transfers control to NTLDR, NTLDR uses boot.ini to provide a list, this list can and should contain all the NT-based OS you'd like to boot.

E.g.

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP"
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows Server 2003"

In short: Basically you have a BCD/Vista/Windows 7 Boot menu, that has an entry that lets you switch to the NTLDR/XP/Server 2003 Boot menu. Your Vista/2008 based entries show up in the BCD boot menu, your NT/XP based entries show up in the NTLDR menu. And you have an option to load the NTLDR menu in your BCD list.

Even shorter: You only need one nt52 entry for NTLDR in the bootmgr. Put all other nt52 based oses in the BOOT.ini of that entry. Boot.ini can handle booting various nt52 based OSes on different disk/volumes using the multi-disk-rdisk-partition format.

share|improve this answer
1  
I realize that; this is what I'm already doing. However, I want to have only one boot menu; having two nested ones in annoying. –  SLaks Jul 6 '10 at 2:27
add comment

EDIT: This does not work


I used EasyBCD to add an NTLDR entry for the second parition.
When I rebooted, selecting that entry gave an NTLDR not found error.
I copied NTLDR and boot.ini into that partition, and the entry worked, but still read boot.ini from the system partition.

Warning: Extremely Dangerous!

If I really wanted to, I could open the second copy of NTLDR (in the second partition) in a hex editor and change the references to boot.ini to, for example, boXP.ini. I could then create a boXP.ini in the system partition and only give it an entry for XP.

Of course, if ntldr does integrity checking, this won't work at all.
EDIT: I tried this in a virtual machine, and, when I rebooted into the partition with the modified copy of NTLDR, it said, NTLDR is corrupt. The system cannot boot.

This wouldn't be as dangerous as it sounds because the actual system partition would retain its pristine NTLDR, and have a boot.ini that defaults to Server 2003 with a very small timeout.

Even so, I'd prefer to do something more sane.

share|improve this answer
add comment

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.