How do I set up Windows 7/Vista/XP to dual boot on an existing system?

Windows Vista Windows XP Windows system existing dual booting Dual booting 7 existing system
By See all their Tutorials
What is dual booting? Dual booting is the ability to boot into a select installation of an operating system from two or more operating system (OS) installations. Simply put, it is being able to boot into multiple OSs, one at a time. It is important to note that "dual boot" does not mean you can have Windows XP and Windows 7 running at the same time. Rather, it means that you can reboot your computer and switch to either Windows XP or Windows 7 to boot up when your computer starts.

Do you need dual booting? The answer is simple: only if you need to run two OSs at once. Often, this is not the case, but this may be desired for certain people.

Dual booting is not limited to Windows OSs only. If you are a Linux guru, Linux can be installed alongside Windows as well. However, Windows-only dual booting is only covered within this tutorial.

Let's get started!

We need to know a few things:
  • Is this a fresh install or an existing install? A fresh install is when you are starting off with a completely new system, with a blank hard drive. If your hard drive has an OS on it already, you are performing an existing install. This tutorial is only if you are doing an existing install. If you are not doing that kind of install, see my other tutorial for instructions on how to set up a dual boot configuration for a new system.
  • What are the disk space requirements for all of my operating systems? If you are installing Windows 7/8, you would generally need around 16-25 GBs of space. Vista may require 10-15 GBs of space, and XP may require 2-4 GBs of space. These are the entry-level requirements for each OS, and you should plan to have 10+ GBs extra alloted for each OS. Failure to do so could lead to problems in the future.

Finally, we need to have:
  • A reasonably sized HDD to hold 2+ OSs
  • Installation media to install the second OS
  • Main OS installation media for bootloader repair
  • A CD/DVD drive or USB port if the installation media is in the form of a USB flash drive

This tutorial assumes that the system is working properly and does not have any problems. To be specific, your system should be able to display the BIOS screen, and boot up to your current operating system. If not, your system has problems and should be fixed before attempting these instructions. (If you have been experiencing BSoDs, you should also fix them before continuing.)

That said, let's get started!

(Note: The screenshots below were taken in a virtual machine. Things should be pretty much the same as on a real machine, but there may be slight differences depending on your hardware configuration.)

1) Figure out partitioning!
Partitioning is where you create partitions on your hard drive. Partitions are really what they sound - actual partitions on your hard drive. (Still don't get it? Think of it as an acre of land, split up into sections for a farm, a lake, a house, etc... that's basically what is going to happen to your hard drive.) Different OSs operate within each partition. You can't install multiple OSs in one partition - it simply doesn't work. (In the farm example - imagine trying to build a house on top of your barn!) Therefore, we need to "partition" your hard drive so that we can install two (or more) Windows OSs on your system.

Currently, your system has 1 partition dedicated to your main OS. (Maybe two, depending on your system. We'll get more into that later.)

To install another OS on the system, we need to make room for the new OS.
Since you already have an existing system installed, we need to be careful and make sure things go smoothly!
We don't want to screw up your main OS partition, and therefore we do the math necessary to make sure the partitions are sized correctly.

We need to know some information before we begin. You will need to know the used space, current free space, and total size. Write them down!
You can get this information simply by opening My Computer, right clicking on your C: drive, clicking Properties, and looking at the information on the screen.

There are two ways you can partition your HDD:

a) Figure out free space in your system, and partition accordingly!
First, decide how much free space you want left on your current system. You want at least 5-10 GBs free space, if not more. Any less will cause problems with the main OS operation. Once decided, note the space requirements for your main OS in GBs. If you have plenty of space, you might want to try option (b) instead. If not, continue!

Now lookup the space requirements for your other OS and note them. The space requirements are generally in GBs. (I've listed an estimate above.)

Let's stop to do a sanity check with math. Calculate the following:
Total space = Used space on main OS + desired free space on main OS after partitioning + new OS required space

Now check: does "total space" exceed your hard drive's size? If so, you can:
  • Lower the free space left on your main OS partition. This can be done as long as it isn't 5 GBs or less. Any less, and you could be in trouble.
  • If anything, clean up your files! This will quickly free up drive space, making the final partitioning possible!

If not, you can continue!

Example: I have a 50 GB drive, with a total of 49.8 GB in my main OS. 41.3 GBs are free at the moment, and I only really need 15 GBs of free space.
I want to install Windows XP on the side, which only needs 1.5 GBs.

Total space = 8.58 GBs used + 15 GBs + 1.5 GBs = 25.08 GBs, which is less than 50 GBs. Looks good!

Once we've verified that we can do this partitioning, we need to find the new main OS partition size.

New main OS partition size = Currently used space in main OS partition + desired free space

In our case:
New main OS partition size = 8.58 GBs used + 15 GBs desired free space = 23.58 GBs

Finally, let's calculate the difference:
Shrinking amount = Current size - new main OS partition size

For us, it looks like:
Shrinking amount = 49.8 GBs - 23.58 GBs = 26.22 GBs to shrink

Write down all of those numbers, and head to the next step! (Step 2, not step 1b!)

b) Partition by ratio
If you have plenty of space, you can opt to size your partition by ratio!

Your main OS partition should generally be larger than the other partitions, since this is your main OS that you will use. Generally, you would need a 70-30 split of the hard drive. If you intend to use the other OS a lot as well, you can do a 60-40 split or even a 50-50 split. Pick the ratio based on your intended usage of both OSs.

Once you have decided, it's time to do a little math!

Partition #1 size: First percentage * HDD size
In my case, it's 70% * 49.8 GBs, or 0.70 * 49.8 = 34.86 GBs.
Check to make sure it meets the requirements of your main OS. In my case, I'm using Windows 7 as my main OS, and I have at least 16-25 GBs of space, so I'm good.
ALSO - check to see if this is a sensible value. Do the math:
Free space after resize = New size - used space

If the number you get is less than 5 GBs, you may need to go back to the other method (step 1a), or adjust your ratio.

Once done, check to make sure it meets the requirements of your other OS. In my case, I'm dual booting with Windows XP, and I have at least 1.5 GBs of space left over - plenty.

Partition #2 size: Second percentage * HDD size
In my case, it's 30% * 49.8 GBs, or 0.30 * 49.8 = 14.94 GBs.

Write the sizes down and label them as partition #1 and partition #2.

Finally, let's calculate the difference:
Shrinking amount = New OS partition size

For us, it looks like:
Shrinking amount = 14.94 GBs to shrink

Once everything is written down, head to the next step!

2) Actually partition the hard drive!
Windows has a nice partition editor built-in to help us partition the hard drive.

a) Open the partition tool!
To open it, open the Control Panel. This can be found in the Start Menu.

If you have Windows Vista/7/8, you may need to switch the view. For XP and Vista, choose Classic View. For 7/8/+, click on the View dropdown box, and select Large icons. (The screenshot below shows the view change for Windows 7.)

Then open Administrative Tools.

Then open Computer Management.

Once open, click on Disk Management.

After a bit, now you should see your partitions.

But wait! There's not one... but TWO partitions!
There is a partition called "System Reserved", which is indeed reserved by the system. This partition holds the boot files. Needless to say, you should NEVER touch this partition!
Nevertheless, since we based our calculations off of the original main OS partition (which is smaller than the HDD), we should be fine.
(If you see more than two partitions, this again applies - just make sure to resize the right one.)

The partition we want to resize is the striped one. This is the partition our main OS is installed on.

Right click the partition, and select Shrink Volume.

You may see this window while the partition tool is scanning your hard drive.

Now you should see this window.

Notice the message about defragmentation. If you are using Windows Vista/7/8, you don't need to worry about fragmentation on your hard drive unless you've moved, created, or deleted a lot of files recently. If you did shuffle some stuff around, you can run a manual defragmentation by right clicking the C: drive, clicking Properties, clicking the Tools tab, and clicking Defragment now.

b) Calculations

Now let's look at the shrink window. My main OS partition is 49.8 GBs, and the window is displaying it as 51098 MBs.

To ensure we convert the MBs to GBs correctly, we need to determine what unit the setup is using.

MBs -> GBs can be expressed in two ways:
  • 1 GB = 1024 MBs
  • 1 GB = 1000 MBs

If you're unsure, the former is usually the standard. (The latter is just used for quick calculations, but doesn't represent actual size.)

To verify, we can take the amount and divide it by each to find which one is closer to our 49.8 GBs:
  • 51098 MBs / 1024 MBs/GB = 49.900
  • 51098 MBs / 1000 MBs/GB = 51.098

Without a doubt, the 1024 MBs/GB is correct.

Therefore, the correct shink amount in MBs should be:
  • Shrink amount: 14.94 GBs * 1024 MBs/GB = 15298.56 MBs

Rounding it, we get 15299 MBs. This is the number we will enter in.

Write these values down. Now we're ready to partition!

c) Actually partitioning!
NOTE: The partition tool applies partition changes immediately, so beware!

In the box labeled "Enter the amount of space to shrink in MB:", enter your shrink amount. For me, it was 15299 MBs.
Once done, verify that the total size after shrinking is equal or greater to the calculated first partition size.

For me, my screen showed 35799 MBs left. 35696.64 GB is supposed to be left, and the number on the screen is greater than the estimated value, so we're good!

Once you've verified that everything is good, click Shrink.
No progress dialog will be shown while the shrinking is done.

Once shrinking is complete, you should see something like this:

d) Create the new OS partition!
Right click on the black unallocated partition, and click New Simple Volume.

You should see this wizard window:

Click Next. You should now see this window:

Accept the defaults offered by the partition tool. You want to use the entire empty space, after all!

Accept the defaults offered again by the partition tool, this time for drive availability.

On this screen, leave everything the same. If you want to change the Volume label and name it, you can. I strongly suggest making a label, as this will make identifying this partition MUCH easier later on. In this case, it was changed to "WINXP" to label it as a Windows XP partition.

Verify that everything looks sane, and then click Finish.

Now your partitions should look like this:

If not, and it says "Formatting...", give the system a few moments to format the drive. Once complete, it should change accordingly.

Yay! Partitioning complete!

2) Installing the new OS!
Now insert your new OS installation media, and reboot.

You may encounter this screen, asking you to "Press any key to boot from CD..." or "Press any key to boot from CD or DVD...". Hit any key on the keyboard (like ENTER) to start installation.

Follow the prompts on the screen. Once you get to the partitioning portion, you should see this:

Select the third partition - in this case, the one labeled WINXP - and then press ENTER.
(If you're installing Windows Vista/7/8: Select Custom (advanced) when you get to the installation options screen. You should arrive at the partitioning portion. Use your mouse to select the new partition that you created, and click Next.)

Since you already formatted this partition, there's no need to do it again. Hit ENTER again.
(If you're installing Windows Vista/7/8: If a similar prompt appears, opt to not format. If you must format for whatever reason, it's fine - it will just take more time.)

Now finish the installation!

Once the install is done, you should be at your shiny new desktop!

If you open My Computer, you should see your partitions. Open the partition for your new OS.

If you see this (or something similar), you installled it on the correct partition. Yay!

3) Bootloader rollback
If you happened to install an older OS (like XP), you may find that this is now your only OS!
This happens because the older OS installer is designed to recognize only the older OSs. (Windows 7 didn't exist when XP was made, remember?)

No worries - this can be fixed with our main OS installation CD!

Insert the main OS installation CD/DVD or USB, and reboot. Hit a key (like ENTER) when you see the message "Press any key to boot from CD..." or "Press any key to boot from CD or DVD...".

Our main OS is Windows 7, so the steps below will use Windows 7's repair. Windows Vista and 8 should have similar steps. For Windows XP, follow additional steps below. For Windows XP, you should select Repair at the main installation menu (after driver loading), select your OS, and follow the command line steps below only.

Once the setup starts up, click Next.

Then click Repair your computer.

Once it's done finding all of the Windows 7 OSs on your system, select it and click Next. Note that it only finds Windows 7 (or your version) OSs.

There are two ways you can go from here:

a) Startup Repair (Windows Vista/7/8/+ only)
You could select Startup Repair, and follow the prompts. The Windows installer has evolved over the years, and it's clever enough to fix things up. You can try this option and see if Windows 7 can be booted. If not, no worries - head to step 3b!

If successful, head to step 3c!

b) Manual Repair via Command Prompt
We can also fix this ourselves on the Command Prompt. How?

Click on Command Prompt.

Once opened, enter these commands:
bootsect /nt60 [drive letter of Windows 7 in relation to partitions]

How can we figure out the drive letter? Remember the partitions?
[System Reserved][Windows 7][Windows XP]

The active partition is always C:. If you have a "System Reserved" partition, this is usually the active partition.
If not, you can usually find it by doing the following:
  • While in the command prompt, type: diskpart
  • Then type: select disk 0 (if you have another hard drive, specify a higher number)
  • Then type: list partition
  • You should now have a list of partitions. Take note of the range of partition numbers.
  • Then type: "select partition X" and "detail partition" (without quotes), where X is the partition number.
  • If the output says "Active: Yes", then you've found your partition!
  • If not, continue searching within your range. Repeat the commands again, but with different X partition numbers this time!

(We've highlighted the text in the screenshot to help you find the "Active: Yes" within the output.)

After figuring out the active partition, remove it from the list. Now we have:
[Windows 7][Windows XP]

Now the letters continue in alphabetical order based on the remaining partitions' order.

Therefore, the second partition is D:, the third is E:, etc.

For us, it's D:. So the command will become:
bootsect /nt60 D:

We also want to restore the active partition, so:
bootsect /nt60 C:

If you have Windows XP (or older) as your new OS:
If you use Windows Vista as your main OS, type:
bcdedit /create {legacy} /d "Windows XP"
bcdedit /set {legacy} device partition=C:
bcdedit /set {legacy} path \ntldr
bcdedit /displayorder {legacy} /addlast

...for Windows 7/8/+, type:
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

(If you are not installing Windows XP, you can safely replace the text with something else, like "Windows 2000".)

Why C: drive, even when XP is not installed there? The reason is that NTLDR is always installed to the C: drive, aka the active partition. NTLDR is considered to ALWAYS be on the "active" partition.

If you don't have Windows XP as your new OS, and wish to do a rebuild of your boot entries, run:
bootrec /rebuildbcd

Finally, run:
bootrec /fixmbr
bootrec /fixboot

You're done! Head to step 3c!

c) Final fixes
Close the console window, and click Restart. On Windows XP, simply type exit.

Boot into your OS. It should now be the main OS. You now either have a successful multi-boot or a single-boot.

If you're not presented with options at boot, and you are using Windows XP as your new OS, continue on.
Otherwise, head to step 4!

If you don't have a multi-boot (or it isn't working), do the following:
  • Start the Windows setup, select Repair your computer, select your Windows OS, and click on Command Prompt.
  • Once opened, type in: diskpart
  • Then type in: select disk 0
  • Then type in: list partition
  • Examine the list of partitions and figure out which partition (and its number) should be active. This is most likely the System Reserved partition. If the partition doesn't exist, it should be your Windows 7 partition.
  • Now enter: "select partition X", where X is the partition number, without quotes.
  • Then type in: detail partition
  • Check to see if the partition details say "Active: Yes". If not, type in: "active". Then type "exit", and reboot. You must reboot for changes to take effect! Allow the system to do a regular boot. If it fails, do the above steps again and follow the next steps.
  • If it does say "Active: Yes", then do the next steps.
  • Referencing the information above about drive letters, type this in: "if exist N:\ntldr echo NTLDR found", where N is the drive letter, without quotes. If you see "NTLDR found" after you enter the command, note the drive letter you tested and go to the next step.
  • Now type in: "copy N:\ntldr C:", where N is the drive letter that you wrote down in the previous step. If they ask about overwriting, press "Y" and then hit ENTER.
  • Reboot!
  • If things still do not work, consult this, this (the actual tool for the first link). If the first two links (and the program mentionned) do not help, try this tool.

4) Enjoy!
Your dual boot is now ready to go! Hopefully you learned a bit from this tutorial, and enjoy your dual booting Windows system!