How to dual boot Windows XP and Windows 7 (XP installed first)

Got your hands on the Windows 7 beta and want to dual boot it alongside Windows XP? Here’s our step-by-step tutorial to get you up and running with Microsoft’s latest OS.

[#PAGE-BREAK#Step 1 – Introduction#]

Scenario: You want to install Windows 7 on your PC alongside your XP installation on the same drive. You have already installed XP.

Tutorial Summary: We’re going to shrink the Windows XP partition on the hard disk and create enough space for an installation of Windows 7 Beta Home Premium. There are two easy methods of doing this – using the GPartEd Live CD and the DISKPART utility on the Windows 7 DVD. On some systems depending on the primary storage controller We’ll then install Windows 7 and use the EasyBCD utility to modify Windows 7’s bootloader to get XP loading properly.

This tutorial was tested on a VMWare Workstation 6 virtual machine.

[#PAGE-BREAK#Step 2 – Create Free Space for Windows 7#]

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 XP system partition to make space for Windows 7 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 three times to accept the defaults for keymap language and graphics 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 Windows 7 (at least 10GB) 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 Windows 7 DVD. Select the appropriate language and then “Next”.

On the Windows 7 “Install now” 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. Windows 7 will reduce the size the selected Volume by around 50%.

Type “exit’ to get out of DISKPART and then “exit’ again to close the command window.

[#PAGE-BREAK#Step 3 – Now Install Windows 7#]

If you used the GParted LiveCD to shrink the XP partition you’ll need to reboot the system from the Windows 7 install DVD. If you’ve used DISKPART then you just need to click “Install now” and continue the installation. There will be two install options – Upgrade and Custom – select Custom.

Once the install gets to the install location there should be at least two options: a partition marked as Primary and Unallocated space. Select the unallocated space and click Next. The install will then commence.

The Windows 7 boot manager will take over the system completely.

[#PAGE-BREAK#Step 4 – Managing the Bootloader#]

Once Windows 7 is installed and the system reboots you’ll be presented with a boot menu with two options: “Windows 7” and “Earlier Version of Windows” which is Windows XP.

At this stage the dualbooting is working perfectly but if you want to make any changes to the bootloader then you’ll start to encounter some differences between the way in which Vista and Windows 7 handle operating systems on different partitions. If you boot into windows 7 and open Windows Explorer you’ll see that there’s only one disk partition – the Windows XP partition isn’t there. This has the advantage that changes made to the Windows 7 OS have almost no chance of modifying Windows XP but it does make things tricker if you want to change anything in the bootloader as we will see.

In previous dualbooting tutorials we make use of a utility called EasyBCD by NeoSmart Technologies which is a very useful frontend GUI for BCDEDIT – the application which lets you view and modify the bootloader in Windows Vista. It also works fine for modifying the Windows 7 bootloader.

Once Windows 7 is installed call up the browser and navigate to the EasyBCD download page – download the latest version (1.7.2 at the time of writing) install and launch the application.

On the “View Settings” window you can see the entries already present in the bootloader. The main difference between the two entries is the drive which they are loaded from. Windows 7 is loaded from C: whereas Windows XP is loaded from DeviceHarddiskVolume1. Now go into “Change Settings”. Under “Entry-B ased Settings” you get the option to modify the “Earlier version of Windows” entry but in the “Drive” drop-down menu you only have the option of C: or Boot. Neither of these correspond to where Windows XP is installed so if you make any changes and click “Save Settings” you’ll break the bootloader entry for Windows XP and it won’t boot.

There are a few options to get around this. Firstly leave the boot entry alone – it works fine with the default settings.

Secondly if you really do feel the need to change the entries you can assign a drive letter to the Windows XP partition via Windows 7 Disk Management. Right-click on Computer and select “Manage” then click on “Disk Management” in the left-hand window.

On the primary drive there will be two partitions – one defined as C: and the other without a drive letter. Right-click on the other partition (this is where Windows XP is installed) and select “Change drive letter or path”. Choose a drive letter from the drop-down list and click OK. You’ll now have a drive visible within Windows Explorer.

Go back into EasyBCD and into the “Change Settings” window. Change the “Earlier version of Windows” entry to something else make sure that you select the correct drive letter in the “Drive” drop-down list and click “Save Settings”. Reboot the machine and the boot menu will reflect the changes you’ve made.

The third option is to use BCDEDIT to change the “Earlier version of Windows” entry so that you don’t have to assign a drive letter and can keep the original bootloader entry.

To do this launch a Command Window with elevated access – go to Start All Programs Accessories right-click on Command Prompt and select “Run as administrator”. Accept the UAC prompt.

Type in BCDEDIT and press Enter. This will display a list of the currently-configured bootloader. You’ll see that “Earlier Version of Windows” is handled by the Legacy OS Loader which has an identifier of [ntldr]. To change the description (which is what you see in the boot menu) type in the following command:

bcdedit /set [ntldr] Description “Windows XP”

Press Enter and the changes are committed. Obviously the description can be anything but you have to include the quotation marks. Type in BCDEDIT again to make sure that the changes have taken hold and then reboot. The boot menu will be updated with the modified entry.

If you decide that dual-booting Windows 7 and XP is not for you then it’s fairly easy to wind back the clock using EasyBCD.

All you have to do is remove the Windows 7 boot manager – in EasyBCD go to “Manage Bootloader” select “Uninstall the Vista Bootloader” and then “Write MBR”. At the moment EasyBCD isn’t aware of a distinction between Vista and Windows 7 but using this option still works fine.

Restart the machine and that’s it – the XP boot loader is the only one left on the system and XP loads. You can then delete the Windows 7 partition and use GPartEd to re-extend the partition to take up the entire disk or the EXTEND command in Vista DISKPART.

  • Jack Craggs

    Will this wipe the data stored with the XP partition?

  • Cainan Keith Corlett