Windows 7 XP Mode – Is it possible to have multiple XP Mode Virtual PCs

microsoft-virtual-pcwindows 7windows-xp-mode

Windows 7's XP Mode virtual PC supports some features that aren't 'stock' with an XP Virtual PC such as a different start-up dialog, no Shutdown button, etc. Possibly the most significant is that applications installed within the XP Mode VM appear within the Windows 7 start-menu.

I have a need for multiple XP Mode VM's–is it possible to have 2 or more XP Mode VM's, or to otherwise enable these extra integration features in an XP Virtual PC?

Best Answer

If you simply copy a clean XP virtual machine (the ones you can download from the Microsoft website), you can rename it and have multiple XP VMs that way.

At least it worked for me, let me know if it doesn't

Here's an overview of the required steps:

Every virtual hard drive (vhd) created with Virtual PC consists of three files if it is turned off, or of four files if it is hibernated or running. The file extensions for these files are:

  • .vhd = Virtual Machine virtual hard drive image
  • .vmc = Virtual Machine settings file
  • .vsv = Virtual Machine saved state file
  • .vmcx = Virtual Machine description and registration settings

First three files are located in C:\Users\Your_Username\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines, the last one in C:\Users\Your_Username\Virtual Machines.

The two latter files are created automatically; to make a copy of a Virtual Machine we only need .vhd and .vmc files. In this example we call the original virtual drive Windows XP Mode, and the copy we create Windows XP Mode- Copy. You can name all your virtual drives as you like, as long as you remember to modify the settings file as described here.

Copying Virtual XP or any other virtual hard disk created with Virtual PC is very easy and fast. Here's what you have to do:

  • Turn off your Virtual XP, do not hibernate it
  • Open Folder Options, choose Show hidden files, folders and drives. Uncheck Hide extensions for known file types

alt text

  • Goto C:\Users\Your_Username\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines
  • Copy Windows XP Mode.vhd and Windows XP Mode.vmc files. To be sure you copy the right files you can open Folder Options and uncheck "Hide extensions for known file types" and click OK
  • Paste files to the same folder. Windows adds word Copy to both filenames, so now you have two new files: Windows XP Mode - Copy.vhd and Windows XP Mode - Copy.vmc
  • Open Windows XP Mode - Copy.vmc with Notepad. It is a xml-file, so you can edit it normally with Notepad
  • Find the following string containing virtual drives name: <drive_type type="integer">1</drive_type>

alt text

  • Under the <drive_type...> change the vhd-file name to Windows XP Mode - Copy.vhd both in <absolute type="string"> and <relative type="string">
  • Find the following place under <ethernet_adapter> containing MAC-adress for Virtual XP's ethernet adapter: <ethernet_card_address type="bytes">xxxxxxxxxxxx</ethernet_card_address>, where xxxxxxxxxxxx is a hexadecimal string representing the MAC-address.

  • To allow two copies of Virtual XP to connect to network simultaneously , we have to change the MAC-adress of the ethernet adapter to avoid MAC-adress conflict. Address is given in hex, 0-9 and A-F. It is usually enough to change one digit to make it unique again.

  • Save and close the file
  • Open Folder Options and choose Don't show hidden files, folders or drives. Check Hide extensions for known file types and click OK.
  • Goto C:\Users\Your_Username\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines again
  • Double click Windows XP Mode - Copy.vmc file so that the Windows XP Mode - Copy.vmcx is automatically generated in the C:\Users\Your_Username\Virtual Machines folder with the correct settings.

That's it. Now you can run two Virtual XP's simultaneously.

alt text

If both VMs...

  • .. still have the same MAC-address or
  • .. both get the same IP-address from Virtual PC's DHCP server

Then read on:

  • Verify if a (Windows) network adapter (NIC) setting isn't forcing the same MAC address for both VMs. Because that setting overrules what is specified in the VM configuration file.

  • You can find this setting in the properties of the network adapter. Right click the network adapter -> Properties -> Configure... -> [Tab] Advanced -> Network Address.

  • Make sure either both VMs are set to Not Present, or specify a different MAC addresses for each VM.

Related Question