If you want both Windows XP and Windows Vista on your computer, you can set up a dual-boot configuration easily enough. But the default configuration may not be suitable for your needs. For example, I wanted to have XP and Vista installed on one hard drive, with XP being on a smaller partition which I planned on eventually using for a different operating system. However, setting up this dual-boot proved to be somewhat more complicated than I had imagined.
Various methods of dual-booting XP and Vista
The two most common methods for dual-booting XP and Vista are outlined below:
Method 1: Vista installed first
Install Vista, install XP, and repair Vista's boot loader. This method accomplished what I needed, except that XP labeled its boot drive as drive E:\ (not C:\), and it was impossible to change this. This would cause problems with various programs that assumed that C:\ was the drive that Windows was installed on. No go.
Method 2: XP installed first
This is the method I tried after I figured out that the other one didn't work for me. I installed XP on the smaller partition, and then I installed Vista on the larger one. However, this didn't work for me, because Vista installed its boot files on the XP partition.
Why is this bad? It doesn't matter to a good amount of people, but for me, this caused problems. If I wanted to delete the XP partition at some point in the future, I didn't want to go through the hassle of repairing Vista. Also, it didn't seem quite right in my opinion.
What I needed
I faced a dilemma. I wanted Vista's boot files on Vista's partition, and I wanted XP's main drive to be labeled C:\. But how could I do this?
Preparation
Assumptions:
In this tutorial, it is assumed that you have a single hard disk in your computer, and your computer meets Windows Vista's system requirements. If you have more than one hard drive, you will need to disconnect all drives but the one on which you will be installing XP and Vista. You need a bootable, unmodified Windows Vista DVD and Windows XP CD. It is also assumed that you have a certain degree of computer literacy.
Planning your disk configuration
The first thing to do when preparing a dual-boot is to plan how you will configure your hard drive. For a dual-boot configuration, you need 2 partitions for your operating systems (you may have more then 2 partitions if you want to keep your data files on another partition, for example).
It doesn't matter how big you make each partition (XP and Vista) will be, but it is a good idea to think carefully about the future when partitioning your drive. It is fairly difficult to change this configuration once you've installed Windows. The order of partitions is somewhat more important: if you put the XP partition after the Vista partition, you can later delete it and extend the Vista partition to reclaim the space, but if you reverse this order, you will not be able to extend the Vista partition.
For this tutorial, I will be using a 500GB hard drive (465GB actual capacity). I have partitioned
the disk as illustrated below:
Partitioning the disk
I happened to have a second installation of Windows XP on a separate hard drive, and I thus used Windows XP's diskmgmt.msc. Or, you may use your favorite partitioning tool (GPartEd, for example). I will not cover the usage of these tools in this tutorial. You may use Windows PE (Windows Preinstallation Environment) and diskpart on the Vista DVD; this is covered below.
Using the Vista DVD
Boot from the Vista DVD and click "Next". Click "Install Now". You will be asked for a product key.
Leave the field blank (DO NOT enter your product key at this time). Now, press Shift+F10 to
open a Windows PE command prompt. Type diskpart
and then list disk
.
NOTE: Despite the fact that you're booting from the Vista DVD, now is NOT the time to install Vista. The sole purpose of booting from the Vista DVD is to access Windows PE and the tools that come with it, specifically diskpart.
If all goes well, you should see something like this:
Disk ### Status Size Free Dyn Gpt -------- ---------- ------- ------- --- --- Disk 0 Online 466 GB 466 GB
NOTE: If you see more than one disk (Disk 1, Disk 2, etc.), turn off your computer and physically disconnect those disks.
Type select disk 0
to select the disk, and clean
to delete any existing
partitions on it.
Keep in mind that when you create a partition in diskpart, you must enter its size in megabytes.
To calculate the size of the Vista partition that you need to enter in the following step, take the size (in gigabytes)
and multiply by 1024. A calculator will definitely help... but so many devices (cell phone, MP3 player, etc.) now have
calculators, it shouldn't be a problem. In my case, I calculated 433 * 1024
to arrive at 444416.
Type create partition primary size=x
(replacing x with the figure you arrived at earlier)
to create the Vista partition. Type create partition primary
(not providing the size=
parameter
tells diskpart to use all available unpartitioned space) to create the XP partition. Verify that the steps worked by
typing list partition
.
Now, we must make the XP partition active. This step is important, as the Windows XP Setup will install XP onto the
active partition. Type select partition 2
, and then type active
to make it active.
Type exit
to exit diskpart.
Remove the Vista DVD from the drive, insert the Windows XP CD, and restart your computer.
Installing Windows XP
Insert the XP CD and boot from it. When prompted to select the location to which to install Windows, choose
"C: Partition2".
WARNING: If the partition you created for XP is not listed as C:, abort the installation, invoke diskpart from the Vista DVD, and make sure that the partition is marked as active.
Format the partition as NTFS. (It doesn't really matter as to what filesystem you use, but note that you cannot format a partition larger than 32GB as FAT32 using Windows XP Setup.) Proceed with Windows XP setup as you normally would.
Once XP has been installed, you can tweak it to your liking... but don't spend too much time on it yet. Remove the XP CD, insert the Vista DVD, and reboot.
Installing Windows Vista
Before we can actually install Vista, there is an important thing we must do, viz. to mark the Vista partition as active. If this is not done, then Vista will install its boot files onto the partition on which you have just installed XP. Although both XP and Vista will work, you will not be able to remove or format the XP partition in the future without repairing Vista.
Boot from the Vista DVD. Click "Next" and click "Install Now". Don't enter your product key. Click Next (click No if asked whether to continue without a valid key). On the next screen, select the exact version of Windows Vista that you have a product key for. (If you select the wrong one, you will have to reinstall Vista all over again in order to be able to use your purchased product key; you WILL be required to enter your product key when activating Windows.) DO NOT click Next yet.
Now press Shift+F10 as before to open a Windows PE command prompt. Type the following:
diskpart
select disk 0
select partition 1
active
Close the command prompt and click Next. Proceed with the Vista installation as usual.
Adding XP back into Vista's boot menu
Now that you have Vista installed and working, you may have noticed that there is no way to get into XP. Thankfully, getting XP into the boot menu is not particularly difficult.
Copy the XP boot loader
Windows Vista's boot loader (bootmgr) cannot boot Windows XP by itself, but it can chain ntldr (the Windows NT/2000/XP/2003 boot loader). Thus, a copy of ntldr must be installed on the Vista partition.
Open My Computer. Click Organize > Folder and Search Options and click the "View" tab. Select "Show hidden files and folders" and uncheck "Hide extensions for known file types" and "Hide protected operating system files (recommended)". Click OK.
Open drive D (the partition on which you installed Windows XP). Copy the files "ntldr", "ntdetect.com", and "boot.ini" onto the desktop (temporarily). Open drive C and drag the files in. Note that a UAC dialog may pop up asking for confirmation.
Add the Windows XP entry to the boot menu
Click Start and type cmd
. Right-click on cmd.exe and click "Run as Administrator". Type
the following:
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=c:
bcdedit /displayorder {ntldr} /addlast
The last line simply specifies that the Windows XP entry be listed after the Windows Vista one. If you
prefer Windows XP to be listed first, simply run bcdedit /displayorder {ntldr} /addfirst
.
To make XP the default operating system, run bcdedit /default {ntldr}
.
To change the timeout, run bcdedit /timeout xx
, where xx is the number of seconds
to wait until the default operating system is automatically selected.
Alternative: use EasyBCD
If you're uncomfortable using BCDEdit to modify your BCD store, download and install EasyBCD. EasyBCD is a graphical interface for BCDEdit that simplifies many tasks related to configuring Vista's boot loader, and I personally recommend this tool for anything related to adding or removing entries from the BCD. Note that you don't need EasyBCD just to add XP to Vista's boot loader.
Conclusion
Now that you have Windows XP and Vista installed on the same computer, you may install drivers and software. Remember to activate your copies of Windows within 30 days; before you activate, however, make sure that Windows runs correctly, and that everything is set up the way you want it.
Comments (5)
C > D in size for new OSes.
Install XP on D.
Install Vista/7 on C.
I remember from previous experiences that XP still called its drive C even though it is technically D.
Second, XP always calls the active partition on the first hard drive "C:" in the installer stage. It doesn't matter what size the partitions are. (Of course, if neither partition is marked as active, it might choose based on the size or order of partitions... not entirely sure on this one.)
Third, the main point of this tutorial was the separation of both systems. Even if you successfully install XP on C: and Vista on "D:" (the Vista installer still calls the active partition "C:" but renames the system partition to C: even if it was different in the installer window), it would work perfectly, EXCEPT for the fact that Vista's boot files will be on the active partition (in this case, the one XP is on). This would prevent you from just deleting the XP partition, and would give you issues if you're trying to boot from GRUB for example.
Though with the advent of Windows 7, I forgo installing XP.
This tutorial specifically addresses how to separate both operating systems completely and ensure that they both boot independently by simply switching the "active" bit. This is necessary if you want to use GRUB for multi-booting, and this allows you to just delete the XP partition without requiring you to repair your Vista partition's boot.
Leave a comment