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.

My idea is to setup a dual boot with Windows 7 and XP, and I want each OS to get his system drive as C:. On the other hand, I would like each OS don't see other partition.

Windows 7 is the main OS, XP is for legacy softwares (I don't have enough RAM to install VM).

Is there a simple way to do that?

share|improve this question
Don't think its possible, or even if it is, that you want it done. –  soandos Jul 5 '11 at 13:41
I think the best you can do is change the partition types to pretend that the one you don't want to see is a non-Windows partition. It is in theory possible to do this in the bootloader, but I don't know one that can do this. –  pjc50 Jul 5 '11 at 14:33
Another way would be to install a MBR bootloader like GAG, which can hide all primaries partitions but the active one, so Windows don't see them. (Before, I install Windows XP and 7 on differents partitions by swaping the active and hidden flags). Nevertheless, I would prefer to have Windows Boot Manager. –  Velcro Jul 6 '11 at 10:58
Why don't you just un-assign the drive letter for the other OS from inside Windows. Like in windows 7, just open Disk management and Remove the drive letter of Windows XP partition. And same in Windows XP. And also the drive letter of Windows in C: by default always(Even in Dual boot). –  Akshat Mittal Jun 21 '12 at 13:52

2 Answers 2

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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
  6. 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.

share|improve this answer
Thank you for detailed explanations! But I get a problem at step #3. Once Windows 7 has finished his installation (with the "active" system partition, and before I see "Starting Windows" screen), this error appear: A disk read error occured <newline> Press Ctrl+Alt+Del to restart. I tried a bootrec /(fixmbr|fixboot), and with a primary/secondary partition. –  Velcro Jul 6 '11 at 7:48
Note: Acronis shows the 200 MiB system partition as corrupted (red C letter). –  Velcro Jul 6 '11 at 7:55
That's another SuperUser question and answer. –  JdeBP Jul 6 '11 at 9:20
I just read it. So I tried again the process, but I moved partitions on the disk. I got the same result. So, there are two possibilities: either my hard drive has a big problem (whereas until now a typical installation of Windows XP worked well), or the described method has issues. –  Velcro Jul 6 '11 at 10:53
Step #3 is exactly as Microsoft tells you to do, as now noted. And Microsoft has a step-by-step procedure for getting you out of your current mess, too. –  JdeBP Jul 6 '11 at 11:33

I accomplished this using this tutorial and Master Booter (shareware, but till 3 OS free):


Now I have Win XP and Win 7 running alternatively without seeing each other, moreover I have a logical partition that is shared between all OS with the same letter.

It's written in italian but it's pretty clear.

share|improve this answer
Welcome to Super User! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Canadian Luke May 10 '13 at 17:36
Link is already provided, I'm going to provide basic steps in following answer. –  user223468 May 11 '13 at 7:27

Your Answer


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.