Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have two hard drives. One with Windows 7 32-bit (C:) and one with Windows XP 32-bit (D:). I didn't partition the hard drive, they are two separate drives.

I want to have an option whether to boot into 7 or XP. How can I do that?

Note: I have tried EasyBCD but it's only for partitioning reasons.

Edit #1:

alt text

My computer keeps going into a reboot loop. This is how it happened:

  1. I rebooted
  2. Selected Windows XP
  3. Computer reboots; asks me agian where to boot
  4. Again I select Windows XP
  5. Keeps going over and over again
  6. NOTE: I can still boot into both OSes by going through the boot menu in BIOS.
share|improve this question
It depends on which one was installed first and which is the master drive. Windows 7 always recognizes it's drive as C:, XP will probably claim that its drive is C:. – Moshe Dec 11 '09 at 5:17
7 is supposed to be the main but the OSes fight to be C: – Chris Tarazi Dec 11 '09 at 5:29
My XP 32-bit install boots as G...partition letters got a bit confused after a gParted session. – MartW Dec 11 '09 at 8:23
up vote 4 down vote accepted

Guess what: EasyBCD should be able to do so anyway!

In cases where the drive letters change depending on what OS you're booted into, all changes should be made according to the drive letters you currently see in My Computer. EasyBCD automatically converts drive letters to the appropriate Drive and Partition numbering scheme, so enter the drive letter as you see it from the OS you are in at the time. If/When you run EasyBCD from another partition, enter the letters according to that install as well!

share|improve this answer
Can u give more detail how to do this? – Chris Tarazi Dec 12 '09 at 0:30

Can't you just put it in your boot.ini on whichever drive you tell the BIOS to boot from? I'm not exactly sure what the boot string is for Windows 7, but try something similar to this in your boot.ini:

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows 7" /fastdetect /NoExecute=OptIn
multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP" /fastdetect /NoExecute=OptIn

I've set the "disk" argument to 1 to indicate the 2nd hard drive, I'm not sure if that's entirely correct, so you might have to play around with it. You may want to make sure you have a recovery console or something so that you can boot with in case the boot.ini get's screwed up.

share|improve this answer
That gives same result as EasyBCD – Chris Tarazi Dec 13 '09 at 3:09

I would suggest to use a boot manager. Some such products are :

GAG (initials in spanish of Graphical Boot Manager) (open-source)
Allows boot of up to 9 different operating systems installed in primary and extended partitions. Never used it.

Smart BootManager
Free and open-source, I've no first-hand experience with it.

BootIt NG ($34.95)
Support of over 200 primary partitions (if desired). I've used it and it's one of the best. Recommended.

Partition Commander 11 ($49.95)
No info on maximum partitions number. I've used it a long time ago and it worked pretty well.

Warning: Before playing with partitions, take great care with your backups!

share|improve this answer

take a look at this: it explain a step-by-step dual boot solution for every combination of Win XP, Win Vista and Win 7.

Hope that helps!


share|improve this answer

It sounds to me like Windows XP is confused about which drives are where in the system. Did you, by any chance, install the OSes with the drive order changed in the bios? If so that could be the source of your OS's confusion. Once the second drive is in the system the automatic drive letter assignment doesn't work.

First, check the boot.ini for Windows XP. Make sure it is properly set up for booting from the second drive. This may solve your problem but I'm not sure. If it boots, but stuff is broken, you may have change XP's drive letters (in the Disk manager).

If this doesn't work for you, I would recommend installing from scratch. First, I'd partition both drives. Make the C: partition something Windows can't use and partition D: with NTFS. Then install XP on D: (which it might think is C:). After it's installed, re-letter the partition as needed in Disk management. Then install 7 on C:. You may need to temporarily change the partition type of D: so that it becomes hidden from 7's installer, or else it may try to upgrade that drive. For changing the partition type I normally use Linux's fdisk which can edit the type without making any other changes. Once 7 and XP are both installed, set up the boot.ini as Ted Elliot recommended.

I have not tested these instructions and a lot has changed since I last tried to dual-boot two different Windows installs but the general principle is to avoid changing partition layout and drive letter detection after the first install, so that it continues to work once you install the second drive.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .