Yes, there's a way. Possible: yes. Simple: Possibly.
First let's clear up some terminology. What you're talking about is the boot volume. That's the Microsoft terminology, and I'm going to be using it throughout this answer, so as to not confuse you when you read the articles hyperlinked from this answer that use the same terminology. You want each operating system to have its own boot volume.
Fortunately, that's actually standard operating procedure for the Windows 7 installer. It's even SOP for the Windows 7 installer, subject to considerations that I'll outline in a moment, to give the Windows 7 boot drive the drive letter 'C'. So most of what you want will just happen.
What you also want, which is the very important thing that is probably the most complex part of the procedure, is a single system volume. This is necessary in order to dual boot. If you want to dual boot, you pretty much must use Microsoft's Boot Manager as the primary boot manager. It's far too painful to try getting Windows XP's NTLDR
to boostrap Windows 7. Whereas getting Microsoft's Boot Manager to bootstrap Windows XP is fairly easy. If you must use Microsoft's Boot Manager, you must, in turn, have a separate, single, system partition. That's where Microsoft's Boot Manager is going to live.
The procedure, in overview, is:
- Start with a blank disc. Create a 200MiB NTFS primary partition. This is going to end up as your system volume, with Microsoft's Boot Manager in it.
- Create a second NTFS primary partition. Make it the "active" partition, and then install Windows XP into it. Making it the "active" primary partition will prevent any problems caused by Windows XP thinking that it needs to fiddle with your system volume. Nothing should go into your system volume yet. You now have your Windows XP boot volume. Unfortunately, right at the moment it's a combined boot+system volume as well.
- Make the system volume the "active" partition. Create a third NTFS partition. Install Windows 7, by booting from the CD media, into that third partition. Microsoft provides a fairly superficial overview of the process. It's important to not install Windows 7 from within Windows XP. If you do that, Windows 7 will know about Windows XP drive letters, and you won't get drive 'C' for the boot volume in Windows 7. It's also important that Windows 7 recognize the system volume, with its active flag, so that it puts Microsoft Boot Manager there. It doesn't matter if the Windows 7 boot partition, the third partition created, is a secondary partition and not a primary partition. Indeed, in some ways it is better that it is a secondary partition. Only your system volume needs to be a primary partition at the culmination of this procedure. Your Windows XP partition is only a primary partition so that it was easy to install onto a blank disc.
- Move the Windows XP boot loader files into your system volume. The files
ntldr
, boot.ini
, and ntdetect.com
need to be copied from the root directory of your Windows XP partition into your system volume's root directory.
- Tell the Microsoft Boot Manager, in your system volume, about the Windows XP operating system loader and to add it to its menu. M. McTavish provides the commands to do this:
bcdedit /create {ntldr} /d “Windows XP”
bcdedit /set {ntldr} device partition=\Device\HarddiskVolume1
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast
- Tell Windows XP and Windows 7 not to assign drive letters to each other's boot volumes. This is a simple exercise in the use of the Disk Management tool, or of the
remove letter
command in diskpart
, when booted into each operating system.
It is possible to stuff up this procedure. One way of stuffing up results in Windows 7 treating the Windows XP partition as the system volume. Fortunately, Microsoft has a lengthy step-by-step procedure for getting out of that particular mess and ending up, as here, with Microsoft Boot Manager and the Windows XP loader in a single separate shared system partition, with Windows XP and Windows 7 each having their own boot partitions.
Another way of stuffing up, that leads to error messages when one reboots after installing Windows 7, is to somehow end up with a Windows NT 5.x NTFS VBR on the system partition rather than the Windows NT 6.1 NTFS VBR that should be there in order to invoke Microsoft's Boot Manager, and that Windows 7 installation would have put there. Microsoft has a step-by-step procedure, covering some of the same ground as M. McTavish did, for getting out of that mess, too.
Most, if not all, mainstream operating systems expect to have exclusive acccess to the host computer's low-level functionality (eg: hardware, ports etc.) and do not have any concept of sharing with anything else - it just won't work - so to try and run two OSs simultaneously on the same system requires some form of transparent arbitrator to shield the operating systems from each other - in other words, a virtualization application.
Best Answer
Simply create 2 partitions and install XP onto the first and 8DP onto the second.
I think you will have to do 8 second so the bootloader recognises the older version of Windows. Then when you boot up you will be able to select which OS you boot from.
UPDATE: (Taken from this question) 1. Yes, W8 supports dual boot, BUT you have to install it on another partition from bootable media (such as DVD or USB drive).
2. Do NOT install W8 from inside your OS by mounting the ISO, it will install over your primary partition WITHOUT giving you any other option (and without explicitly telling you what's going to happen).