12

Virtual Machine Software for Beginners

Virtually Speaking, Your Guide to Virtual Machines

MrCopilot
Explaining the technical aspects of complicated software to new users can be a daunting task. We will do our best in this article to tone down the techno-babble and still give a basic understanding while providing links for those of you who may want to delve into the subject with more specificity.
Throughout these articles we will be using the terms Host and Target. Host refers to the Actual Machine and Operating System we are running the VM software on. Target refers to the machine being emulated.

The Topic: Virtual Machines
Most computer users have never heard the term virtual machine and when they do, visions of the "Lawnmower Man" or "The Matrix" flash before their eyes. That perception is only slightly off track. Virtual Machines(VM's) have little in common with Virtual Reality(VR). What they share with VR is that they simulate. Virtual Reality is a simulation of reality, Virtual Machines are a simulation of a particular machine, in most cases the machine you will be simulating/emulating is a standard PC, however they can be used to simulate a host of other computer hardware based on a wide array of target processor architectures.

"Why would I want to simulate a PC when I already have a PC?" I hear from the back row. Excellent Question.

Common uses of VMs:
To test out new Operating Systems. Operating Systems, such that new Linux thingy we keep hearing so much about or even running Windows on a Mac or Linux machine.

To test or run applications designed for other hardware. For example running applications written for a phone or embedded system.

To test out unknown applications that may cause damage to your operating system's stability. Programmers will often use this technique to discover bugs in an application that could bring the whole system down, without um, bringing the whole system down.

To separate the execution of a known program from interfering with the Operating System. For example, In a Corporate environment, it is always best to keep a web server as far removed from the rest of the Server OS as possible.

An administrator could always just add another machine dedicated to this one task. However a comprimised system can take down the whole machine and possibly the rest of the network. Using a VM (or several) reduces risk as well as hardware costs.

There are many, other uses but that should give you the general idea.
For a more in depth and technical explanation see this entry from Wikipedia

Drawbacks to using Virtual Machines:

Generally, emulating an entire machine in software* is almost always going to be slower than actual hardware.

Interaction with a virtual machine and the host OS is difficult if at all possible. Copy and paste from Windows document to Linux VM is almost always unsupported.

Accessing files or Playing music from a folder on the Host in the VM can be tricky. Most VMs emulate a Network adapter so you can share files between the Host and Target as if it were another machine on the network.

*Some newer processors have specialized hardware designed to accelerate Virtualization, not all VMs take advantage of them but when they do you can achieve near native speeds.

"OK, Where do I get one?" My, you do ask questions.

There is a wide array of Virtual machine software, so many in fact, some may consider it a dizzying array. For our purposes, we will focus on a few of the more popular freely available PC x86 VMs. Listed in no particular order.

VMPlayer:

VM "Player" software from leading commercial vendor VMware.
Large library of preconfigured downloadable "Virtual Appliances".
Available at no cost for personal use.
Hosts: Windows and Linux Compatible.
Vmware Server and Workstation editions available with additional features primarily for IT professionals.

VirtualBox:

Simple, intuitive interface, perfect for beginners Virtual Machine from innotek AG
Open Source Edition with source code for those of us who care about that sort of thing.
Available at No Cost for personal use.
Hosts: Windows, Linux, Mac OSX Compatible.
Enterprise Edition available with additional features primarily for IT professionals.

Qemu:

Completely Open Source GPL'd multiple processor VM.
Emulates x86, Arm, SPARC,PowerPC, MIPS, m68 processor targets.
Preconfigured Downloadable Disk Images.
Available for no cost for any use with source code.
Hosts: Windows, Linux, Mac OSx, Solaris Compatible.
Limited support for Alpha,ARM, SPARC and Mips Hosts.

Next up, a virtual machine of a different sort for a unique purpose.

DOSBox:

Open Source GPL X86 Emulator with integrated Dos Shell.
Primarily used to run older software unsupported by modern a OS.
Can play older Dos and Windows 98 Games.
Available for no cost with source code.
Hosts: Windows, Linux FreeBSD, Mac OS X, OS2, BeOS, RiscOS .
Wide range of third party Tools and Graphical frontends.

Of course there are many more to choose from.
For a detailed technical comparison of the features of these and a slew of other refer to this article on Wikipedia.

In upcoming installments of Virtually Speaking we will be showing you how to install and setup each of these Virtual Machines and discovering the interesting things that can be done with them.

For those of you who can't wait and would like to earn extra credit, Here is a very simple step by step method to try out Qemu on Windows, bundled with the complete Linux distribution Damn Small Linux 4.1

Step 1. Download dsl-embedded.zip
This is a 49 megabyte file, not too bad considering it does contain a complete Operating System + Qemu Virtual Machine.

Step 2. Extract zip file.
WindowsXP comes with its own archive utility, right click on dsl-embedded and choose extract all.

Step 3. Click dsl-base.bat
That is all there is to it. Really.

Step 4. Watch the Text fly by.
After a Short Wait (typically less than a minute) you should be presented with a Grey screen with an X in the center, followed by the full DSL desktop.

Step 5. Explore and Enjoy!
Clicking DSL at the bottom of the screen or Right clicking on the Desktop will bring up a familiar "Start Menu"

Helpful hints about Qemu.

Clicking inside the Qemu window transfers mouse control to DSL. To transfer control back to windows press Ctrl+Alt on your keyboard.

To expand Qemu/DSL to Full Screen press Ctrl-Alt+F. The same to reduce it back to a window.

Cautionary Notes

Changes you make or new files you create in DSL will not survive after you exit. Check the Readme inside the DSL embedded folder to see how to setup persistant storage for that purpose.

There are options in the menu to install, these options will not work in this Qemu Virtual Machine, Next time I will show you how this works in another Virtual Machine.

As with most Virtual Machines, the actual speed of DSL is slower than if it is run from a live CD or installed to a disk or USB pendrive. DSL is a minimal Linux distribution and a modern PC runs it with decent performance inside of Qemu.

Have Fun and See you next time.

  • Description of Virtual Machines.
  • Providers of commonly used Virtual Machines.
  • How to Run Linux inside Windows.
Did you know you can run a complete Linux distribution inside of Windows?

3 Comments

Post a Comment
  • MassaReal10/2/2008

    new link: http://distro.ibiblio.org/pub/linux/distributions/damnsmall/current/dsl-4.4.6-embedded.zip

  • BeLinux2/9/2008

    The link for embedded DSL is now:

    http://distro.ibiblio.org/pub/linux/distributions/damnsmall/current/dsl-4.2.5-embedded.zip

  • GR7512/20/2007

    The dsl-embedded.zip link is outdated. It should now (now being 12/20/2007) be the following:

    http://distro.ibiblio.org/pub/linux/distributions/damnsmall/current/dsl-4.2.1-embedded.zip

Displaying Comments

To comment, please sign in to your Yahoo! account, or sign up for a new account.