Creating Virtual Machines — EmbeddedMan Style
Many moons ago I recall reading an article in one of the better-known PC mags about how to re-install Windows 98. The article suggested wiping the hard drive clean and doing a complete re-install about every 6 months. The sad part is that I was one of those people who needed such an article. Many of us tinker around with our PCs so much that eventually all the downloads and installs of different utilites would slow our machines to a slow grind.
No longer does that have to be the case because of virtual machines. What is a virtual machine? It is basically a piece of software that runs on your computer that mimics all the behaviour of the machine in parallel so you basicall have two machines running. The only you have to do is ad an OS and you have two machines in one. Here’s the rub (there’s always a rub): your host machine had better be capable of handling the processing necessary to run two full operating systems at once. I recommend a machine with a 2 Gig processor and at least 2 Gig of RAM.
Do Virtual Machines Come from Virtual Stores?
Not quite, but close. The biggest player in this arena is VMWare. At their website they have a whole host of “virtual appliances” that are basically virtual machines that other people have built and are being offered free for registered users. There you can find vms for all flavors of Linux so you don’t have to actually do any installation. Just download VMWarePlayer, download an appliance and you’re good to go.
But What If I Want A Windows VM?
Ah, that’s another rub (two rub minimum) but one that is easily overcome. VMWare cannot release vms with Windows pre-installed so if you want an Xp vm you have to create one yourself. If you happen to work for a company that has nice deep pockets or if your pockets are deep you can purchase VMWare Workstation that will allow you to build your own vms. If you are like me and don’t have oodles of cash for your tools, you can still create the template for a virtual machine that will run in VMWare Player then install your OS of choice.
So How Do I Create A Vm?
The tool I used for this tutorial is called EasyVmx. When you open the website you will see the main page as in Figure 1.

Figure 1
Click on the right-most button labeled easyvmx 2.0. That will take you to another page where you will specify the desired settings. The first batch of settings you will need to specify are the name, the type of OS and the maximum size of memory dedicated to the vm. You can pretty much name the vm anything you want within reason but it helps to indicate what it will be used for. For example, I have at least 5 different vms that I use for development. Some of them are different flavors of Linux so, for example, I have one labeled FC5_Dev and another labeled FC9_dev which correspond to Fedora Core 5 and Fedora Core 9, respectively.

Figure 2
For the memory, I usually select 512 MB of RAM. Do you see why it’s important to have a powerful machine. I’m writing this on a laptop with an Intel Core 2 Duo and 4 Gig of RAM and it’s flowing nice and smooth. The machine I use at work is an older model with only 2 Gig of RAM and I can’t really run more than one vm at a time. You may think you’ll never have to run more than one vm at a time but I’ve had cases where I’m running two vms, one running Xp and one running Linux and both of them communicating with the Xp-based host. Now that’s computing!! For the power on and off settings you can accept the default which just suspends the vm when powering down. That makes it nice since you don’t have to wait for a lengthy shutdown and startup each time. I’ve interrupted a Linux vm in the middle of a long compile, suspeded the machine and come back the next day and it picked up right where it left off. Cool huh?

Figure 3
The next setting is an optional description of the vm. This I leave blank since I try to name the vm according to its function. The network configuration settigns should be left as the defaults unless you really know what you want out of changing them. Remember that all of the hardware settings on the virtual machine must correspond to a physical part on the host machine so don’t select anything virtually that you don’t already have installed physically.

Figure 4
Next you will decide if you want a floppy disk drive on your vm. Now a days you’ll be hard pressed to find a computer with a floppy drive but if your’s happens to still have one you can select this option. Since most computers now come standard with optical drives, you can specify up to two for your vm. Notice that a vm will mimic the physical hardware by restricting the number of drives you can have on an IDE port.

Figure 5
Now you get to choose your hard drive configuration. You can have one or two drives and they can be as large as 100 GB each! A nice feature is the ability to also save data to a shared folder. This is particularly handy since you wouldn’t want to risk losing your data if the vm were to become corrupt for any reason. Install all applications on the vm but make sure you save all the pertinent data to the shared folder on your host and then you can back that folder up as necessary. If the vm gets screwy you just scrap it, create another one, install all software and point the applications to the shared folder and never miss a beat.
I suggest leaving all the USB settings as they are. What will happen is when the vm starts up it will detect all the USB devices connected to the host and it will notify you of them. If you so desire, you can have the vm “steal” the device from the host for its use. Note that you can’t use a connected device on both the host and the guest operating system at the same time. Again, just like in the real world.
When you are done you just click on the Create Virtual Machine button and you will be taken to another page where you can download the zipped vm. Extract it whatever folder you want but I keep a folder labeled Virtual Machines where I store all of mine. Then all you have to do is insert your Windows Xp or Linux install disk in the host machine’s drive and start the virtual machine. The vm will automatically detect the OS disk and start the installation process just as if you were installing on a physical machine.
One word of caution. Windows licensing restrictions still apply so don’t think that you can have the same version of Windows running on the host and guest machines at the same time. You have to have two separate licenses for each machine. You didn’t think it would be that easy did you?
So there you have it. A quick (an inexpensive) way to have more than one operating system on one the same computer. What’s more, each vm is effectively disposable so your main system remains intact while you are free to experiment to your heart’s content with the virtual machine. Enjoy!!

January 16th, 2009 at 12:31 am
[...] I posted a tutorial on how to create virtual machines. I wrote about how vms can be handy tools especially to us [...]
February 4th, 2009 at 12:39 pm
Thanks man,
We use VM in school. I found your site while trying to figure out how the NIC’s in the VM interacts with the host machine. In one of my classes we have 2 NIC’s oh the host nodes. One goes out on the cloud and the other stays in the class. The VM player or image or whatever you call it has 3 NIC’s. only NIC 3 gets me out on the cloud; the same in the class as From my home machine the samw.
I asked for explanations from the Professors and get a blank stare. The lab guy has a monopoly. I would like to break his strangle hold on everybody.
Your site is the first to offer a glimmer of hope. We can get wnidows numbers and ISO’s. If you could help with the NIC’s, I’ll give you the credit. geo
February 5th, 2009 at 9:47 pm
It’s interesting that you use VMs in school. What school is that? What year are you in studies and what is your major?
February 8th, 2009 at 4:49 pm
It is Valencia CC, in Orlando Fl. . My AS will be “Computer Engineering Technology w/Specialization in Microsoft.” aka CET I am beginning my 4th semester.
May 6th, 2009 at 2:53 am
[...] did just that with the article Creating Virtual Machines ‚Äî EmbeddedMan Style. Check it out, it’s a good read. This entry was posted in Uncategorized. Bookmark the [...]
March 14th, 2010 at 10:10 am
Wonderful post quite interesting blog. I may get back again to this blog later on to check some of other content. With thanks!
April 2nd, 2010 at 3:01 am
This blog is excellent! Most of the time when i visit blogs, I run into terrible advertisements that give me nothing but this time I ran into your blog and I was surprised. You are giving out some awesome information. Please keep it up!
May 4th, 2010 at 9:14 pm
[...] that actually allows creation of virtual machines. Some may recall that I previously posted about Virtual Box–Sun’s open source tool that you could use to create virtual machines. While that was [...]