Saturday, April 14, 2007

Putting Windows in its place: Virtual Machines

I was getting tired of having to reboot my machine and go into my Windows XP install to run certain programs. Data was not a problem any more, since I can read from and write to NTFS drives from linux now. But running certain programs only available for Windows came down to using Wine, or rebooting. Wine is ok for some things, but it has its problems still, especially for demanding programs.

A better solution I am trying: turn my Windows installation into a virtual machine, and run that from linux. A basic howto on this process can be found here. A guide to install vmware server on Ubuntu can be found here. Installing VMware server is not as simple as one might wish in Ubuntu. Following the above instructions, all will go well, until you try to launch. You may get an error like:
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0:
no version information available (required by /usr/lib/libcairo.so.2)

I found a fix for this:
cd /usr/lib/vmware/lib
sudo mv libpng12.so.0 libpng12.so.0.bak
sudo ln -s /usr/lib/libpng.so libpng12.so.0

However, that led this to happen when I tried to launch vmware:
/usr/lib/vmware/bin/vmware: error while loading shared libraries: libsexy.so.1: cannot open shared object file: No such file or directory


because Edgy had upgraded to libsexy.so.2.

However! I discovered at this point that I did not need to run "vmware". I needed to install and run the VMware Server Client for Linux. To do this, download the binary tar.gz called "VMware-server-linux-client-1.0.0-CURRENTBUILD" from the VMware downloads page. Then go to where you downloaded the file, and extract it to /tmp. Lastly do:
cd vmware-server-distrib
./vmware-install.pl


Follow the prompts, use the default values. Once it successfully installs, run it by "vmware-server-console". I ran it, and got this error:
vmware-server-console
/usr/lib/vmware-server-console/bin/vmware-server-console: /usr/lib/vmware-server-console/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

But the console still opened fine. I selected Local Host, and imported the VM I had made of my Windows machine. For more details on importing, see this.

An alternate guide on the whole thing.

An important note: When you run your Windows VM, you will see and be able to run everything like normal if you were logged into Windows. You will also be able to change and add files. However, making changes here will not result in the changes persisting when you actually log into Windows. They are completely separate. This is a difficult problem, for which I have not found a solution yet.

[EDIT, Thu, Apr 19, 2007 03:16:27]: One additional problem I had that others may run into. When I made the VM from my Windows install, I did not think how large the virtual disk for it would be. It was as large as my C:\ drive, of course, ~70GB. The problem is, although I can see this from linux on the NTFS drive I made it on, I would need to copy it to a non-NTFS drive to be able to write to it, because of its permissions. In other words, be conscious of where you put the image initially with an eye to the final use.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home