How to dual boot Vista and XP (with Vista installed first) — the step-by-step guide with screenshots

How to dual boot Vista and XP (with Vista installed first) -- the step-by-step guide with screenshots


Scenario: You want to install Vista on your PC alongside your XP installation on the same drive. You have installed Vista already. (If you have XP installed first check out our earlier tutorial on how to dual boot Vista and XP with XP installed first.)

Tutorial Summary: We need to shrink the Vista partition on the hard disk and create enough space for an installation of XP. This can be done in three ways – using the GPartEd Live CD the DISKPART utility on the Vista DVD or the Vista Disk Management GUI – and we’ll cover all three. We’ll then install XP and install EasyBCD to reinstate the Vista bootloader which will be overwritten during the XP installation and then use EasyBCD to configure Vista’s bootloader to boot the XP partition.

Updated September 2008: This is an updated tutorial based on our first Windows Vista/XP dual-booting workshop. The main differences are that we are now using Windows Vista SP1 and Windows XP SP3. EasyBCD has also been updated and this makes some of the steps in our first tutorial redundant – the whole process is now easier.

This tutorial has been tested on a VMWare 6 Workstation.

[#PAGE-BREAK#Create Free Space for Windows XP#]

We assume that before you start this tutorial you have backed up the drive (partitions and data) that will host the two operating systems.

Your first step will be to modify the Windows Vista system partition to make space for XP using GParted

The GParted Live CD ISO is available here – burn it to CD and boot the system from the disc. The version we used was 0.3.7-7.

When you boot from the GParted LiveCD depending on your system you should just need to select the auto-configuration boot option.

Option 1 – Using GPartEd

During boot press Enter twice when prompted to select the keymap and language settings.

When the main GUI loads right-click on the main Windows XP NTFS partition (depending on your setup probably /dev/hda1) and select Resize/Move.

Use the slider to reduce the partition size and free up enough room to install XP (at least 5GB) and click Resize/Move.

The changes haven’t actually been made they’ve just been scheduled to run. To commit the changes and resize the partition click Apply. GParted will ask to confirm the changes – hit OK and away you go.

Option 2 – Using DISKPART

Boot the machine from the Vista DVD. Select the appropriate language and then “Install Now”.

On the product key page press SHIFT + F10 to launch a Windows PE 2.0 command window. Then type in DISKPART and press enter to get into the DISKPART utility.

Now type in LIST VOLUME – this gives you a readout of the volumes available on the system. Select the main Windows XP volume by typing in SELECT VOLUME 0 (in most cases it will be Volume 0 – in our lab in was Volume 1).

Now type in SHRINK. Vista will reduce the size the selected Volume by around 50%.

Option 3 – Using Disk Management

Using the Disk Management GUI is really no different to using DISKPART (it’s the GUI frontend to the DISKPART utility) but using the GUI does mean that you can make the changes within Vista before rebooting to install XP without needing to use the Vista DVD.

Right-click on Computer and select Manage. In Computer Management expand Storage and select Disk Management.

Right-click the primary partition (the one you need to make space on) and select Shrink Volume

The default values which Vista provides represent a fairly aggressive shrink – as long as the values will give you enough space to install XP accept the defaults and select Shrink.

Vista will churn away for a moment and then you’ll see the newly-created free space on the primary disk. Now you can reboot and install XP.

[#PAGE-BREAK#Now Install Windows XP#]

When the Windows XP setup reaches the point where you’re prompted where it is to be installed you’ll see that while XP can see the space we created earlier it can also see the partition with Vista on it.

You should be able to see the space you reclaimed on the disk earlier which has become “unallocated space”.

Create a second partition using the Windows XP installer screen above by selecting the free space on the drive and pressing “C” to create a partition (if prompted choose NTFS as the file system.)

Irritatingly XP assigns a drive letter to this partition (C:) which means that it will use the next available drive letter after all the other physical drives have been taken into account.

This means that the system drive of the XP installation won’t be C:.

From XP’s perspective this isn’t really a problem – it’s smart enough to figure out where everything should go – but some applications make assumptions about where they should install to and can’t cope with a non-standard Windows configuration.

This was also the case with our tutorial on dualbooting Ubuntu and XP where Ubuntu had been installed first. However in that scenario even though the XP system drive had a non-standard drive letter it couldn’t read the Linux partitions so there was no danger of the two systems overlapping. This is not the case with Vista/XP.

Nonetheless install XP as normal – there’s no need to do anything differently.

IMPORTANT NOTE – after the initial file copy Windows XP reboots and loads up the GUI-based component of the install. You may get the following error: “A disk read error occurred – press Ctrl-Alt-Del to continueâ€. This is caused by a corrupt bootloader – click here to see how to fix this problem.

When the system reboots it won’t bring up a boot menu. Although XP recognises the Vista partition it doesn’t recognise Vista itself. This is because the Windows XP bootloader gets installed to the MBR thus overwriting the Vista bootloader and so Vista can no longer boot – the XP bootloader can’t be made to recognise Vista.

When XP loads open up Windows Explorer and you’ll see something interesting – a C: and (in this case) an E: drive.

The C: drive contains Windows Vista and as Windows XP can read NTFS partitions it can browse and modify Vista’s file structure.

More importantly applications which have installation paths hard-coded into their install scripts rather than using Windows system parameter variables could easily dump files into C: when they should be installing to E:. This isn’t such a great situation – really the optimal XP/Vista dualboot scenario is to install Vista on a pre-existing XP system.

[#PAGE-BREAK#Restore Vista Bootloader and Enable Dualbooting#]

We need to restore the Vista bootloader in order to restore Vista functionality and configure Vista/XP dualbooting. In the previous version of this tutorial we used the Vista DVD to restore the bootloader and EasyBCD to set up dualbooting.

Since that tutorial was written EasyBCD has been updated and can now restore the Vista bootloader from within the application. Also it can be installed on Windows XP so this means that there’s no need for any more reboots or playing with recovery DVDs.

Once the XP system is up and running download and install Microsoft .NET Framework 2.0 and then download and install EasyBCD (version 1.7.2 at the time of writing).

Launch the application. EasyBCD isn’t looking at the XP bootloader – it has found the bootloader on the Vista partition so this is what you’re directly editing.

Go to the “Add/Remove Entries” tab. You’ll see that there’s only one option available in the Vista bootloader at the moment. In the “Add an Entry” section change the Drive in the dropdown menu from C: to E:. Change Type to “Windows NT/2k/XP/2k3″ and the Name to “Microsoft Windows XP”. Then click “Add Entry” and “Save”.

Then go to the “Manage Bootloader” tab. Make sure that “Reinstall the Vista Bootloader” is selected and then click “Write MBR” and restart the system.

On reboot the Vista bootloader is now active and you’ll see two boot options.

[#PAGE-BREAK#Removing Windows XP#]

If you eventually decide that dualbooting XP as the second OS isn’t all it’s cracked up to be it’s pretty easy to undo the changes made.

Use EasyBCD to remove the Windows XP boot entry and then go into Computer Management (right-click on Computer Manage) and go to Disk Management.

Right-click E: drive (the Windows XP partition) and select Delete Volume.

Right-click the newly-created partition and select Delete Partition.

Then right-click the C: drive (the Vista system partition) and click Extend Volume – this opens up the Extend Volume Wizard.

The wizard gives you a readout on how much space is actually available to extend the partition – enter in how much you want to use and press Next. Vista will extend the system partition to reclaim the disk and Windows is well and truly gone.

[#PAGE-BREAK#Fixing the Corrupt Bootloader#]

If the Windows XP bootloader corrupts during the install performing a reinstall won’t fix it nor will going into the XP Recovery Mode and attempting to repair the MBR.

Luckily the install was up to the stage where all you need to do is be able to boot from the Windows XP partition and the install will pick up from where it left off.

To do this you will need to restore the Vista bootloader so that you can then boot into Vista install EasyBCD and create a boot entry for Windows XP. Once this has been done you can boot into the XP partition and the installation will continue.

Boot from the Vista DVD and on the screen where you’re prompted to “Install now†select “Repair your computerâ€.

The next screen searches for local Vista installations – there should only be one so click Next.

This loads the System Recovery Options screen. Select the first option – Startup Repair. This looks for problems which would prevent Vista from loading (like a missing bootloader) and automatically fixes them.

If you click on “Click here for diagnostic and repair details†and scroll to the bottom of the list it shows that the problem detected and repaired was a corrupt boot sector (according to Vista anyway).

Click Close and then Finish and the system will restart and boot into Vista. Now you need to download and install EasyBCD and follow the steps on Page 4 to add a boot entry for Windows XP.