Virtual Machines: What, How and Why would I want to run a computer within my computer


I will try to make this as easy to understand to the common user as possible. However, the introduction will be a little bit technical, so please skip to the next section, The Necessary Software if you want to get to the gist of the article. For the rest, read on to the wonderful world of virtual computers.

In the past, when computers were big, bulky and expensive, not a lot of people could afford them. Only places like universities and large corporations can afford to have computers, and even then, they could only purchase a few units for use. But in such an environment, there could be hundreds of users all lining up wanting to use the computers, so “terminals” were created and placed around the building.

Terminal computers are simple and supposedly easy to use

These terminals were nothing more than just a screen with keyboard for input and it sends and receives instructions to the computer, called the mainframe back then. That is to say, the mainframe houses the components such as CPU, RAM, etc (although they were probably called vacuum tubes back then) that does all the necessary computations and to access these, you do so through the terminals. With hundreds of users all accessing the mainframe at the same time, a method called time-sharing was created so that the computer is not bogged down by trying to satisfy hundreds of requests at the same time.

But as computers grew more powerful and ubiquitous, it is now possible to buy enough of them to satisfy all potential users and the terminal died off. However, the concept of terminal computing never really died off and the idea is now finding new life in the form of Virtual Machines, which is what you will learn to use today.

What is Virtual Machines (VM) and how do they work?

Virtual Machines are just that, virtual computers created inside your operating system that simulates a complete computer, including BIOS and boot-up sequences. If you can imagine taking a computer and turning it into a virtual representation and then putting it in your PC, that’s what virtual machines are.

Virtual machines
In virtual machines, one computer can create three ‘computers’ in itself

VMs are created using software. The largest corporation for virtual computing is VMWare which produces a host of strong VM software. They also make the free VMWare Player, which can be used to run any virtual machines created with their very expensive software suite but this article will not be focusing on that. We will talk about this some other day…

Virtual Machines, to you and me, are just like any other application. It would be more accurate to describe them as games, but instead of starting up a game and going off to kill bad guys, you start the ‘game’ (the VM) and you go into the desktop of a computer where you can do normal computing stuff, including installing a game in the VM and playing it from there. What you do inside the VM is completely isolated from your outside computer and is one of the main reasons while VM is gaining popularity.

Right, that’s enough introductions for now. Nothing beats learning more than actually doing it, so the next section will teach you how to set up a virtual machine inside your computer so you can see how it really works.

The Necessary Software

I am an advocate of open source or freeware software so I will try to keep all the necessary software as free as you can get them.

  1. Microsoft Virtual PC 2007
  2. Daemon Tools Lite
  3. Any operating system (we’ll get to this later)

First install Microsoft Virtual PC. It is a free software distributed by Microsoft which should install easily and effortlessly into any Windows computer. Once that’s done install Daemon Tools Lite. It is an optical drive emulator which creates a virtual DVD disk drive inside your machine and is needed for running virtual disks you download from the Internet, such as files ending with xxx.iso, xxx.bin or xxx.cue files. Finally, you need to get an operating system. If you have a Windows XP disk then you don’t need to get anything else. For this tutorial, I will be using a hacked Windows XP Eee Edition which is an XP which has been modified to have all unnecessary stuff removed such that it only requires about 100MB to install.

The reason for this is because if you have an older computer, running virtual machines can be a demanding task. The Eee Edition is a stripped down version of XP which removes most of the stuff which makes XP slow, thus making it really, really fast; It boots up in less than 6 seconds fast. However, this is a less-than-legal software so be smart about it when looking for the software (ahem torrents). Or just use your XP CD, which is presumably a legal copy. The Eee Edition does come with some limitations (such as not having the nice XP interface and looking more like Windows 98) but it gets the job done and done fast.

Okay first up, we need to set up a VM using Microsoft Virtual PC. Start the software and you will see this:

Virtual PC console

Choose New, then Create a Virtual Machine and then give your virtual machine a name.

New Virtual Machine Wizard

Choose Windows XP. If you are using another operating system such as Linux, then choose Other. Then adjust the RAM and give it 256MB, or 512MB if you have a lot of memory. I recommend giving it 512MB if you have 2GB of RAM in your computer. More RAM helps but this is the Eee edition and should function well with 128MB RAM. But I will be doing some heavy CAD work with my virtual XP so I like to have some headroom.

After that, choose New Virtual Hard Disk. Just click next until the screen when it asks you how much space you want the virtual hard disk to be. OK here’s the deal, just set it to 80GB even if you don’t have that much free space; the virtual hard disk will only take up as much space as needed by your virtual machine. After that click Finish and you are done!

After that, we load up the OS which we want to install. If you have an XP CD, insert it into your DVDROM drive. If you are using a virtual disk such as the previously mentioned Windows XP Eee Edition, use Daemon Tools Lite to have it loaded into your virtual drive. After that, find out the drive letter of your disk drive. In my case it’s the F: drive. With this information, start the virtual machine then go to CD then Use Physical Drive F:. Substitute the drive letter for your own.

Okay, now you are set. Reset the virtual machine and then your VM will behave as if you are installing Windows for the first time. Go through the necessary steps to install XP and before long, you will boot into a proper Windows XP inside your virtual machine, like this:

New Virtual Machine
Click to enlarge

Pretty interesting, isn’t it?

But here’s a problem; your mouse pointer cannot transition seamlessly between your actual computer and the virtual XP. To fix this, press Right Alt + Enter once or twice to exit the virtual XP. After that, go to Action and choose Install Virtual Machine Additions. Then go inside your virtual machine, then to my Computer and double click on the DVDROOM drive and Virtual Machine Additions will be installed. Once this is done, your mouse pointer can now move around freely and this is a great help.

My Computer
You need to double click on the newly loaded disk to install Virtual Machine Additions

One final step is to set up a shared folder. Setting up a shared folder means your virtual XP can access the files located in your real computer and this simplifies having to transfer files around. To do this, click on the small folder icon at the bottom left corner of your virtual machine and choose Share Folder. I like to set my actual computer’s desktop as the location for shared files but you can choose any folder you like.

Once that’s completed, you’re done! Your virtual machine is all set to go and you can do whatever you want with them. Just remember to use the shared folder (located in your Virtual XP’s My Computer directory) when you need to transfer files around and use the capture command when you need to access virtual disks to install stuff from a disc.

Reasons for using Virtual Machines

The above section demonstrates how to set up a Virtual Machine, but you may be wondering why anybody would want to set up a computer within a computer. And hopefully I will be able to answer your question here.

The best thing about a Virtual Machine is that you can have as many of them as you want. This is great for testing out new software that you don’t trust and don’t want it to mess up your system. Instead of installing them into your real computer, give it a test run in a safe environment of the virtual machine and if you like it, then proceed to install into your real computer. Otherwise, you can just delete it.

This is important because the more applications you install into your computer, the slower your computer gets. After a while, you have no choice but to reformat. The reason is largely caused by an overbloated registry that could no longer be efficient. Another reason is that I personally work with a lot of CAD software and other engineering applications and they tend to mess up a system VERY fast. There are also problems between versions of the same software and I am stuck because I can only install one copy of the software into my computer.

With Virtual Machines, I set up one machine with all the necessary software for drawing, another machine for doing pure analysis and a third machine for testing my stuff to see how it works. Another reason for this is because it keeps my main computer free of any problems caused by software and makes it work fast as ever.

Of course, the problem is that the virtual machine will be using a rudimentary software accelerated display driver, so you can’t really set up an XP machine that runs your 3D games exclusively (although that would be really nice) as your virtual machine cannot access the 3D card in your real computer. But other than this, running a virtual machine is really great. And if you used the Eee Edition of XP, it boots in less than 6 seconds so it’s fast to get in and out of, and since it supports saving states, you can quit your virtual machine and start it to get back to exactly where you stopped.


I hope that you have gained an understanding of how virtual machines work and how to install them. I am sure there are still many uses for them beyond my imaginations, so please share with me how you use your virtual machines at home. Any comments and feedback are appreciated.