Run Existing Windows Installation on Ubuntu with Vmware Player

Running existing Windows installation on Ubuntu is piece of cake. What you need is Vmware player and 10 minutes of spare time.

The easiest way to install Vmware player on Ubuntu is with Automatix. Automatix is great application that install software you can't live without with cuple of clicks, including free Vmware player and it's real time and nerve saver for newbies like me. If you don't have Automatix, get it here.

There are two ways you can get your existing Windows installation to run in Vmware player:

1. Vmware Conventer - It converts you existing physical Windows installation into virtual machine - means; if your Windows installation is 30 GB big, you will need another 30 GB of free space to store it somewhere. Not an option in my case.

2. To setup Vmware player to use physical Windows installation. Don't worry, you will still be able to boot and use your Windows like you used to do.

Let's start with the dirty work:

I will save you a lot of trouble with creating necesarry .vmdk and .vmw files. These are files that contain your virtual machine information and are used by Vmware player. Download windows.vmdk and windows.vxm but don't just fire 'em up yet. Read on.

Open console. You will use program "parted" to get some of your disk information and modify windows.vmdk file. Parted is already there in Ubuntu by default.
Strat parted with "sudo parted", (or if you have several disks "sudo parted /dev/hdx" where x the letter of the disk containing Windows installation) and type: "unit s" then "print". You will get something like this:


Note the underlined number. Now type: "unit cyl" and "print". You will get this:


Again, note the underlined numbers.

Open windows.vmdk file with text editor and find this part of file:

Underlined values should be replaced with the values given by parted but there is a catch. Note that second RW value from vmdk file is not the same as the one you got from parted "Disk /dev/hda/". Thats because first partition on disk is master boot record or MBR which points to boot files of operating systems. It's lenght in this case is 63, and as far as I know, it is pretty standard value.

We will use copy of MBR so actual start point of Windows parititon is parted's value "Disk /dev/hda" 240121727 minus 63.

240121727 - 63 = 240121664 <- result goes to vmdk file

Now, you do the same for your values and modify vmdk file. Don't forget about "ddb.geometry.heads" and "ddb.geometry.cylinders".

Type "quit" in parted and make copy of MBR. Copy-paste this command into console:
"dd if=/dev/hda of=windowsxp.mbr bs=512 count=63"

Ubuntu part of work is done but DON'T run Vmware player yet. Put vmdk and vmx files together with copy of MBR windowsxp.mbr which is already in your home directory.

Now reboot into Windows and set up another hardware profile for Vmware.
Start-> Control Panel-> System, click on Hardware tab and Hardware profiles. You will find Profile 1 (Current), highlight it and click Copy, give it new name, Vmware for instance and move it up.While at Hardware tab in System properties, you can disable driver signing.

One more thing to do. As you may know, work in Vmware machines is easier with Vmware tools. I took Vmware tools installation out of Vmware Server to spare you of downloading 100 MB + file and you can download it here. Unpack archive and put it somewhere on Windows partition.

If you don't trust me, go to Vmware web site and download whole Vmware Server package for Linux. You will find Vmware tools for Windows inside windows.iso file.

Finally, boot back to Ubuntu, run windows.vmx, choose newly created hardware profile at prompt and install Vmware tools once in Windows.

Oh and, windows.vmx contains some of virtual machine properties like amount of RAM or enabled or disabled peripherals so scroll thru it with text editor and customize it with your own needs.