Imagine the following scenario: You are a happy Linux user. Sometimes you still need a Windows application. You could use Wine, but in this tutorial, I will show you how to run Windows XP in a virtual machine on Ubuntu Linux, using the free (as in beer, not as in speech) VMWare player.
Installing VMWare Player
Installation of VMWare Player is easy. A package for Ubuntu 7.04 can be found in the multiverse repository. You just need to install it. You might also need to install the restricted kernel modules from the restricted repository, if you did not already install those.
apt-get install vmware-player
Installing Windows XP
After you installed VMWare Player, you need to download a dummy virtual machine to hold your Windows XP installation. You could theoretically use some web service to create your own virtual machine, but some kind person already did this for you. A zip archive containing a dummy virtual machine for Windows XP can be downloaded from the Ubuntu Wiki. Download and unzip the dummy virtual machine.
Now insert a Windows XP CD into your CD-ROM drive and select VMWare Player from the Applications – System Tools menu. When prompted for the virtual machine to run, select the dummy virtual machine you just unzipped.
Note: It is important that the Windows XP CD is in your drive before you run the dummy virtual machine.
VMWare Player should now run the dummy virtual machine and the regular Windows XP installation process should start. Follow the installation process as usual. You also need to activate your copy of Windows XP within 30 days after the installation.
Getting internet access
If you want to surf the internet from your virtual machine, there are a few more steps to follow. If you do not want to go online, just skip this part of the tutorial.
Unfortunately, the network drivers for the network card simulated by the virtual machine are not included with a stock copy of Windows XP. This means that you need to download and install the drivers for the Intel e1000 network adapter. This is a bit tricky, because you need to get the drivers from your host system (Ubuntu) to your client system (Windows XP).
First, download the Intel network drivers.
Note: You need to download the drivers for Windows XP, of course.
Now create a new temporary directory and move the driver package into this directory. Use mkisofs to create an ISO file that contains the network drivers.
mkdir drivermv PRO2KXP.EXE drivermkisofs -o ./driver.iso ./driver/
Now open the configuration file of the dummy virtual machine (WindowsXPVirtualMachine.vmx) in your favourite text editor and edit the entries for ide1.0 (the CD-ROM drive) as follows.
ide1:0.fileName = "/home/user/driver.iso"ide1:0.deviceType = "cdrom-image"
Note: You need to specify the full path to the ISO file. Otherwise it will not work.
Now restart your virtual machine. Your CD ROM drive in Windows XP should now contain the network driver package you downloaded earlier. You can now install the driver as usual. After the driver has been installed successfully you should be able to surf the internet (e.g. with Internet Explorer). You might want to install a safe browser like Firefox and update your machine using Windows update as soon as possible, because otherwise your new Windows XP installation might be rendered unusable by viruses in less than a few minutes. But this is outside the scope of this tutorial. You probably know why you prefer Linux, don’t you?
Shameless plug: If this post was useful to you, please consider buying yourself something from one of my Amazon stores: US store, UK store, FR store, DE store, CA store. If you're not into Amazon, why not donate something to GNOME, Mozilla or Wikipedia? Thank you!


