The idea is changing from a single boot Windows Vista to a dual boot Ubuntu 64-bit and Windows Vista. In Ubuntu 64-bit, I will run all virtual machines for software development. The original Windows Vista will be preserved in case I need to run a Windows application without using virtualization.
The first step is to install Ubuntu 7.10 (64 bits) on my laptop. Since I decided to leave my existing Windows Vista partition (drive C:) and my NTFS data partition (drive D:), I shrink my NTFS data partition in order to get some free space at the end for the Ubuntu installation. The following guide describes the whole process:
Sharing data between Ubuntu and Windows Vista with Read/Write Permissions
I want to share data between my Ubuntu and Windows Vista with read and write permissions. We have two options for it: setup read/write support for NTFS partitions on Ubuntu or setup read/write support for ext3 partitions on Windows Vista.
To setup read/write support for NTFS partitions in Ubuntu, use the following guide:
Installing VMware Player in Ubuntu
I will be using VMware player in my laptop. I use VMware Server on my desktop where I create my the virtual machines. On my laptop, I decided to only install the VMWare Player since I just need to run the virtual machines. WMWare Player has less features than the VMWare Server, but it runs faster.
The steps for installing VMware Player on Ubuntu 7.10 (64-bit) are:
1. Install the Linux header files for your kernel version. In my case, I just run:
sudo apt-get install linux-headers-$(uname -r)-generic2. Download the VMware Player 64-bit (tar file) from vmware.com. Or you can just run the command:
wget http://download3.vmware.com/software/vmplayer/VMware-player-3. Extract the files to a local directory:
tar -xzvf VMware-player-2.0.2-59824.x86_64.tar.gz4. Enter in the directory and run the installation script:
cd vmware-player-distrib5. During the installation, I chose the default options by pressing ENTER. Note that when it asks the location of the kernel header files, you should provide the location where it was installed on step 1. In my case, they are in:
/lib/modules/2.6.22-14-generic/build/include6. IMPORTANT: Since I am using a 64-bit version of Ubuntu, I also needed to install 32-bit libraries so that we can also run 32-bit virtual machines. If you do not install these libraries, you will get an "Cannot power on" error message when trying to run a 32-bit virtual machine. So, install the 32-bit libraries by running:
sudo apt-get install ia32-libsNow you are all set. To start the VMware Player, just go to the main menu and click on Applications, System Tools, and then on VMware Player.
The Trade-offs of using Virtual Machines for Software Development
The drawback of running your software development environment on a virtual machine is that you do not have the same performance as running it on the host OS. The benefit is that it gives you much more flexibility. For example, you can have dedicated environment for specific applications your are developing, you can easily move your development environment from one computer to another, you can backup the whole development environment by just copying the virtual machine files to an external drive, etc.
Another advantage is using a 64-bit OS as host, which recognizes all the RAM you have. Windows Vista 32-bit might not be able to recognize 4 GBytes of RAM. My desktop has 4 GBytes, but Vista only sees 3 Gbytes.
Although there is a little bit of performance loss, I still prefer using development environments in virtual machines for the flexibility that it gives me.