How to Create a Windows XP Virtual Machine

In this article we will show you how to create a Windows XP Virtual Machine. What is a virtual machine you may ask?
One of our guest writers explains it in great detail in one of our previous articles titled Virtualization and its Uses in the Tech World:

A Virtual Machine is a piece of software which emulates (pretends), to be machine (computer) to do an abnormal task such as running Windows on a Macintosh computer for example, to occur via the trapping of computer instructions. It is quite literally a computer running ON a computer. One of the by-products of this is that the two systems can be entirely separated from each other, which allows a level of security that just can’t be matched.

Now, lets make your own XP Virtual Machine.

  • To begin, download and install Free VMware player (you will need to fill out a few questions before download). This is what our virtual machine will be running inside of.
  • Choose what size you would like your Virtual Machine hard drive size to be (this will take up real hard drive space). I have created several different sizes available for download (right click, save file as..). For testing purposes, the 4Gb is a good choice:
  • Download the appropriate file based on which Windows XP you own (right click, save as..) and save it in the same folder that you saved the previous file in:
  • Insert your WindowsXP CD into your CD Rom.
  • Run VMware player which you installed in the first step and click the “Open” button and find the .vmx file you downloaded. Windows Setup should now begin.
  • To interact inside your virtual machine, double click on the Window or press CTRL+G. This will make anything you do with the mouse or keyboard work inside the Virtual Machine only and not the desktop you are currently using. To escape the Virtual Machine so you can control your regular desktop, press CTRL+ALT.
  • Install WindowsXP as you normally would by following the prompts. When the installation finishes you will see your new Windows XP Virtual Machine Desktop.
  • To quit the Virtual Machine, either shutdown the VM version of Windows XP as you do for your normal desktop, or simply close the VMWare Player.


Windows XP Virtual Machine

Window XP Virtual Machine. Windows XP being run from within Windows XP
For anyone who wants to experiment further with these Virtual Machines (for techies and geeks):

If you want to try this with other Windows operating systems such as Windows 2000. Open up the .vmx file with Notepad and it will look something like this:

config.version = “8”
virtualHW.version = “3”
ide0:0.present = “TRUE”
ide0:0.filename = “WindowsXPPro.vmdk”
memsize = “64”
MemAllowAutoScaleDown = “FALSE”
ide1:0.present = “TRUE”
ide1:0.fileName = “auto detect”
ide1:0.deviceType = “cdrom-raw”
ide1:0.autodetect = “TRUE”
floppy0.present = “FALSE”
ethernet0.present = “TRUE”
usb.present = “TRUE”
sound.present = “TRUE”
sound.virtualDev = “es1371″
displayName = “Windows XP Pro”
guestOS = “winXPPro”
nvram = “WindowsXPPro.nvram”
MemTrimRate = “-1″

ide0:0.redo = “”
ethernet0.addressType = “generated”
uuid.location = “56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58″
uuid.bios = “56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58″
ethernet0.generatedAddress = “00:0c:29:7e:06:58″
ethernet0.generatedAddressOffset = “0”

tools.syncTime = “TRUE”
ide1:0.startConnected = “TRUE”

uuid.action = “create”

checkpoint.vmState = “”

Change the guestOS value to “windows2000pro” and the other WinXPPro values to Win2000 (the rest are just names so they dont matter as much).

Also, these .vmx files are optimized for computers with only 256mb of ram which is why “memsize” equals 64. If you are running 512mb of ram then you might want to set this value to 128 for added performance.

If you would like to customize the size of the .vdmk files. Download Qemu located here and install it to a location such as “c:\program files\qemu”.

Goto Start > Run and type CMD.

In the command window, while in the qemu directory (eg, c:\program files\qemu>) type:

qemu-img.exe create -f vmdk WindowsXPPro.vmdk 13G

Replace the 13G with whatever file size you want the VM partition to be (in this case, 13 gig) and it will create it in your qemu directory. You might want to move this out of this directory. Now all if you have to do is repeat the steps in this article using your own .vmdk and .vmx files and you have a custom Virtual Machine.

Bryce Whitty

About the Author

Bryce Whitty
More articles by me...
Bryce is an Australian computer technician and the founder of Technibble. He started his computer repair business when he was 17 years old and is still running it 9 years later. He is an avid traveller and spends at least a month of the year in another country.

Comments (27)

  • someone cool says:

    I don’t know if you can fix my problem, but it seems that your config file is meant for an intel cpu. I am running a AMD cpu. For some reason, I can get to the bios, but the VM player doesn’t recognize my DVD-players thus not allowing me to install XP. I have set the CD-roms in the first priority in the bios, but still didn’t help, hope you can help me.


  • M says:

    your files are .vdmk but my VMPlayer wants .vmdk files, is the extension wrong?
    Thank you, bye.

  • KampinKarl says:

    Just change the .vdmk to a .vmdk i did it and it works fine

  • David says:

    changing .vdmk to .vmdk fixes everything

  • Candie says:

    I have a new computer with Vista installed. Can I create a vitural XP machine using this method?


  • UglyDuckling says:

    My HP laptop is running Vista Home Basic and VMPlayer won’t detect my CDROM Drive

    Any advice?

  • Davidson Mott says:

    I use linux and i can get my dvd drive to reconize it and my external hard drive and my otherone nothing

  • Nick says:

    Thats sounds asome ,but what could or would you do with it?

  • This is an awesome program for development, or if you need to run a win server 2003 on a vista box or xp on a vista box or really any other os on another system… I can’t believe I lived so long with out it.

  • John says:

    I did it and works fine.
    I noticed that the RAM in the virtual OS is 64 MB.

    Is this affecting its performance and could i increase it ?

  • John says:

    oops didnt read it at all sorry

  • John says:

    Is there a way that i can see the files i create inside the VM XP from Vista ?

  • NIT says:

    VM keeps asking for the windows CD2 to install SP2, but it’s only the one CD that i got with my HP laptop, and on it is the windows XP SP2, and now it won’t install cause it needs CD2.
    any help in how to make it read the CD?

  • teradost says:

    Would you be able to tell me how to a create a vm out of Windows Server 2003 standard? I am studying for the MCSE exams, and would like to set-up all the OS’s as virtual machines (instead of on different paritions, requiring multi-booting). Any advice on Exchange and SQL server is also appreciated

  • Jorg says:

    Can I run an XP only program with this Virtual Machine on my Vista computer?? The game is Prince of Persia: The Two Thrones.

  • Stefan says:

    just “thanx”. it’s workin perfectly … although it is ms ;-)

  • Andrew says:

    I have a Windows 95 installation CD. How can I get this to work for Windows 95?

  • JR says:

    Keeps trying to boot from network even though winxp cd is in…..

  • Micro Niches says:

    Wow. This actually worked! Sweet!

  • JR says:

    Got it done–used the 4G setup….too small…any way to increase the allocated size without having to uninstall/reinstall?

  • Help Me! says:

    So, I followed the above:

    -Change .vdmk to .vmdk

    But I cannot get VM Ware to recognize any of my CD/DVD drives. It looks like others are having the same problem.

    How do we go about trouble shooting that?

  • melos_d says:

    To: Help Me!

    I had this same problem, the way it worked for me was to open up the vmx file with notepad (like above) and where it says

    ide1:0.deviceType = “cdrom-raw”

    change it to

    ide1:0.deviceType = “dvdrom-raw”

    and save.

    worked fine after that, hope it helps you too!

  • Daryl Brown says:

    Does VM ware work with Vista? And what would the guestOS value be?

  • PeteinUK says:

    Just an extra tip in case anyone else has a tad of trouble:

    When you download the disk image of your required size, rename the .vdmk image to the same name as the XP .vmk file, plus rename the extension to vmdk as others have said.

    ie. To run the 8GB version with XP Pro, rename WinXP-8g.vdmk to WindowsXPPro.vmdk.

  • lexmnl says:

    hello.. i also had problems with VMWare not detecting my dvdrw drive. what i did was i edited the .vmx file using notepad and changed these entries..

    ide1:0.fileName = “auto detect”
    ide1:0.deviceType = “cdrom-raw”

    ide1:0.fileName = “dvdrom-raw”
    ide1:0.deviceType = “auto detect”

    hope this works for you guys!

  • question says:

    Interesting indeed, now i could do with such a setup. For XP with service pack 3, installed with ms hopeless tools such as net framework and others. So i can use it to stream from internet sites for DRM content. Not wanting to install and ruin my everyday xp i use.

    So here is the setup i propose.

    switch or router internet connection shared between two pcs.

    On second pc i need to setup thsi VM i want the internet to hook straight into VM. But never to register on the xp1 os it will be running on. As i never want this xp1 os to see an internet connection or know of one exists. In the registery or anywhere.

    Would this be possible to bypass the xp1 running system and only have internet known to the VM xp3 ?

  • madhu says:

    Does any one have working vmx file for windows 2003 server?

    I have the following

    config.version = “8”
    virtualHW.version = “3”
    ide0:0.present = “TRUE”
    ide0:0.filename = “Windows2003.vmdk”
    memsize = “256”
    MemAllowAutoScaleDown = “FALSE”
    ide1:0.present = “TRUE”
    ide1:0.fileName = “auto detect”
    ide1:0.deviceType = “cdrom-raw”
    ide1:0.autodetect = “TRUE”
    floppy0.present = “FALSE”
    ethernet0.present = “TRUE”
    usb.present = “TRUE”
    sound.present = “TRUE”
    sound.virtualDev = “es1371″
    displayName = “Windows 2003 Server”
    guestOS = “windows2003pro”
    nvram = “Windows2003.nvram”
    MemTrimRate = “-1″

    ide0:0.redo = “”
    ethernet0.addressType = “generated”
    uuid.location = “56 4d b2 3d 65 f6 04 c1-44 9d 8c 88 d6 3c 1f af”
    uuid.bios = “56 4d b2 3d 65 f6 04 c1-44 9d 8c 88 d6 3c 1f af”
    ethernet0.generatedAddress = “00:0c:29:3c:1f:af”
    ethernet0.generatedAddressOffset = “0”

    tools.syncTime = “TRUE”
    ide1:0.startConnected = “TRUE”

    uuid.action = “create”

    checkpoint.vmState = “”

    extendedConfigFile = “Windows2003.vmxf”
    virtualHW.productCompatibility = “hosted”
    tools.upgrade.policy = “manual”

    usb.autoConnect.device0 = “”
    tools.remindInstall = “TRUE”

    The error message is guest operating system windows2003 is not supported