Best Free Virtualization Solutions

Introduction

Virtualization is a fancy word, but what it means is that you can encapsulate entire operating systems or parts thereof in a bubble of virtual hardware and software so that it appears like a complete, separate and real physical host to the software contained inside this bubble. Think Matrix.

Virtualization has two dimensions: interaction between the physical host and the virtual host and the interaction between the virtualized operating system and the underlying hardware.

Virtualization software is normally run as an application or a service on top of an operating system, like Windows, Linux, Mac OSX, etc. In technical terms, the physical machine is referred to as the host. Inside the virtual software, an instance of an operating system is executed, which can be similar or identical to the one powering the host. In technical terms, the virtualized environment is known as the virtual machine and the operating system running inside as the guest.

Furthermore, there are different ways the virtualization is brought to realization. There's simple emulation, where hardware and software calls are passed through a translation layer. There's para-virtualization, where parts of the activity inside virtual machines are passed onto real hardware while others are emulated. There's operating system level virtualization, where you boot into a dedicated kernel that permits only same instances of the operating system to run.

Some of these methods can be performed on the fly, without significant changes to the host and its operating system. Others require that you reboot your host into a dedicated instance of your operating system that supports virtualization. Others yet require a complete machine to be used for virtualization only, also known as bare-metal virtualization.

Virtualization software that manages the creation and running of virtual machines, the allocation of resources and the containment is often known as the hypervisor. Some virtualization products can also use the CPU technology virtualization extensions to boost the performance of virtual machines. This is known as hardware-assisted virtualization and make use of technologies such as VT-x (Intel) and AMD-V (AMD).

What is not virtualization?

Some people like to bundle any software that creates an abstraction layer between the operating system and some of the running processes as virtualization. For instance, there's Sandboxie, which can isolate your browsers in discardable containers. Some programs let you freeze your system, so it cannot be modified. Others also allow the use of a so-called shadow mode, where you run normally, however all and any changes are discarded on reboot.

All of these programs have their merits, but they are not considered virtualization technologies, because they do not simulate system calls, nor they allow running complete new instances of other operating systems on top of your host; they only create additional separation layers, mainly for security. Speaking of security ...

Why should you use virtualization?

If security comes first and foremost to your mind - wait just there. We will discuss security in a separate article. But I do want to emphasize that virtualization was not primarily designed for security. It's mainly used for testing, consolidation of hardware and cost reduction, running legacy software, and education. Security is a nice bonus, but there are caveats, which we will elaborate separately.

What do you need to run virtualization technologies?

You will need a physical host of some kind. Depending on the type of virtualization software you choose, it will allow running virtualization software on top of your operating system alongside everything else - or it might require the hardware entirely to itself.

Since you are going to be running additional operating systems on top of your hardware, you will need additional resources, mostly CPU and RAM, to enable that. For example, if you machines has only 2GB RAM and it's already running Windows 7, spawning another instance of some operating system on top of it is going to be a close call, since you will have to dedicate some portion of your memory to the virtual machine. However, if you have 16GB RAM, then you can comfortably spawn four virtual machines with 2GB RAM each, which still leaves you with some 8GB RAM for your host.

Likewise, disk space and disk performance and CPU power are also an important factor. For example, running a mySQL database virtual machine from a 5,400rpm laptop disk is probably not a good idea. Or if you only have one CPU core and you plan on multimedia processing.

Ample resources are important for fast and efficient virtualization. You also want modern processors that support virtualization extensions, so you can enjoy additional benefits, including better performance, but also 2D and 3D graphics and other fancy stuff.

Free software

Now, finally, let's take a look at a few of the available technologies. For each, I will write down a brief explanation, the difficulty in use and setup, the intended audience, pros and cons, and other important details. I will also link to some of my very lengthy tutorials that teach how to setup and use these programs.

VMware Player

VMware Player is a cross-platform solution. It runs as another program on your system. You can use it to create virtual machines and install operating systems as guests. You can also run virtual appliances - pre-created virtual machines with specific uses.

homepage

VMware Player

Audience: new and intermediate users.

Pros: Simple to install and use.

Cons: Limited functionality; no snapshots or folder sharing.

VirtualBox

VirtualBox is a cross-platform technology, currently owned by Oracle, formerly Sun. VirtualBox is similar to VMware Player, but it has a wider subset of features, including a more advanced network stack, unlimited snapshots, some OpenGL and DirectX support, and more. It is quite simple to install and use. You can also use command line for automated deployments. One sore thing is that you cannot take screenshots of your guests. Disk management is somewhat convoluted. You can install Guest Additions to gain USB 2.0 support, shared folders and to boost performance. VirtualBox also has a portable edition.

homepage

VirtualBox

Audience: new and intermediate users.

Pros: Simple to install and use, lots of features.

Cons: No screenshots, importing existing machines is difficult, non-intuitive disk management.

You may also want to read:

How to install VirtualBox Guest Additions

VirtualBox networking & sharing tutorial

VirtualBox 4 review

VMware Server

VMware Server is a cross-platform solution designed as a technology demonstrator for the much more expensive ESX. It has two versions - 1.x.x, which runs with local console and 2.x.x, which runs with a Web console. VMware Server has its own networking stack, limited snapshot capability, but it comes without 3D support. The Server can create virtual machines or run appliances. There's also a powerful command line. You can install VMware Tools to boost the performance of virtual machines.

homepage

VMware Server

Audience: intermediate or advanced users.

Pros: Powerful network stack; ability to connect to remote hosts, command line.

Cons: Not easy to setup, especially on Linux, no 3D support, no folder sharing, limited snapshot capability.

You may also want to read:

How to install VMware Tools

How to setup VMware Server on Ubuntu

VMware ESXi

ESXi is a bare-metal hypervisor with a reduced subset of features compared to ESX. It requires its own host to run and has a locked-down console that you can manually enable. You cannot take screenshots or movies of your virtual machines and migration/cloning is by hand only. You do get memory sharing for improved RAM utilization, a powerful monitoring and management, and command line with ssh, when unlocked. You can install VMware Tools to boost the performance of virtual machines. In some cases, the installation is automatic. Para-virtualization mode is also supported.

homepage

VMware ESXi

Audience: advanced users or professionals.

Pros: Powerful, extended virtual machine options.

Cons: Dedicated hardware, lots of resources, not easy to setup or run.

You may also want to read:

How to clone virtual machines in ESXi

VMware ESXi tips and tricks

Kernel-based Virtual Machine (KVM)

KVM is a virtualization technology for UNIX-like operating systems only. It can be run in either the hardware or emulation mode, however without CPU extensions, the performance will be abysmal. KVM is designed for command line use, but it does have a decent management interface, which allows starting and stopping virtual machines, taking screenshots and more.  The interface known as Virtual Machine Manager (VMM) is also used to control Xen virtual machines. Local and remote use are supported. There's a known conflict with VirtualBox, but it can be resolved relatively easily.

homepage

KVM

Audience: advanced users or professionals.

Pros: Complete control and flexibility, very good performance.

Cons: UNIX-like only, requires virtualization technology extensions to work properly, emphasis on command line, several command-line utilities that can be confusing, not easy to setup or run.

Introduction to KVM

KVM & VirtualBox - side by side

KVM bridged networking tutorial

Xen

Xen is a virtualization technology for UNIX-like operating systems. It must boot in its own instance of kernel to work. The emphasis is on command line, with several utilities available, but it is also possible to use the VMM. Officially, Xen has been supported by openSUSE for many years and has recently been adopted into the mainline kernel release. Xen can run in hardware-assisted or para-virtualized modes, but the latter is extremely buggy to setup and run, with limited CD-ROM support and networking support. Xen also exists as live CD version and bare-metal hypervisor. Numerous third-party management tools are available.

homepage

Xen

Audience: advanced users or professionals.

Pros: Complete control and flexibility, very good performance, built-in kernel support.

Cons: UNIX-like only, para-virtualization mode is buggy, emphasis on command line, several command-line utilities that can be confusing, not easy to setup or run, must boot its own instance of the kernel.

Introduction to Xen

Other solutions

There are many other solutions, which I have not listed here, but we will see them in the future, like for instance Parallels Virtuozzo and OpenVZ and VirtualBox-based VMlite. Several image building and remastering solutions also exist, which sort of lean into the gray area between virtualization and thin clients. Linux also allows spawning operating system containers directly on modern kernels. And let's not forget cloud technology and cloud-like virtualization. We will talk about all these in the future, too.

You may also want to spare my Virtualization section a longer, deeper look, as it has some fifty guides and tutorials on a wide range of virtualization technologies and products, including online solutions and payware programs.

Conclusion

I believe this article will be useful to some of you. It introduces a wide range of virtualization technologies, on all levels - from newbie to expert. All of these solutions are free for personal use, however the hardware requirements, the ease of use and setup and the available set of features will determine what you need or want.

As a rule of thumb, most people will get by with either VMware Player or VirtualBox. Linux users might prefer KVM and possibly Xen. Power users might also want to take a look at the other available VMware products.

I hope you enjoyed it.

Cheers,

Dedoimedo

 

About the author:
Igor Ljubuncic aka Dedoimedo is the guy behind dedoimedo.com. He makes a living out of his very hobby - Linux, and holds a bunch of certifications that make a nice pile in the bottom drawer.

Share this
4.671055
Average: 4.7 (76 votes)
Your rating: None

Comments

by solewe on 11. December 2012 - 8:37  (103506)

the free one, i will say virtualbox is the best.

here is a related article about virtualbox!!!! appnee.com/virtualbox/

by damo65 (not verified) on 15. November 2012 - 8:12  (102352)

I am extremely surprised that piece of rubbish VirtualBox even got a mention.
It is the worst software ever made and is just about impossible to work with linux.
After doing the install and having to restart the system VBox stops working and wont install linux.
And yes the bios is set to enable virtualisation.
My 11 year old could do a better job.,
DISGUSTED !!!!

by tmurphy (not verified) on 8. November 2012 - 20:39  (102046)

Will the VM environment allow me to access old (still working) HDDs, in order to copy files - photos, docs, data? I'm thinking in Win 3.0, Win 95, 98? My Vista environment only allows such with newer HDDs.

Thanks in advance,

tmurphy
Dallas, TX

by Dedoimedo on 9. November 2012 - 7:10  (102058)

What do you mean by access? You mean connect and see the data?
You still got through the native, host OS first.
But I don't see why you cannot use these older disks.
Dedoimedo

by Mis777 (not verified) on 5. July 2011 - 14:48  (74797)

I am interested in setting up a portable Virtual machine. The article mentions "VirtualBox also has a portable edition.", but I cannot find this edition on VirtualBox site. Also, would be helped in having a tutorial on this setup... but did not find this on Dedoimedo site. Appreciate any help on portable Virtual machine setup.

Much Thanks.

by Dedoimedo on 5. July 2011 - 17:16  (74810)

Here's the portable virtualbox tutorial: http://www.dedoimedo.com/computers/portable-virtualbox.html

Dedoimedo

by Blaszta (not verified) on 5. July 2011 - 8:07  (74772)

I think it's better that you split the software into 2 categories: virtualization and bare metal hypervisor (requires dedicated hardware).

VMWare ESXi (now VMWare vSphere) falls into bare metal hypervisor, along with Citrix XenServer, and Microsoft Hyper-V. IMHO, the free version of XenServer beats down vSphere & Hyper-V in features.

by royparker (not verified) on 4. July 2011 - 23:43  (74760)

Down loaded from the reccomended site but its a binary file and i can't open it. Installation not so simple.

by Anonymous Jumbo (not verified) on 4. July 2011 - 22:03  (74754)

Would it be possible to emulate an old favourite, such as the Sinclair ZX Spectrum?

I have a fondness for this old beast as it was the first computer that I could program. Todays ones require a degree in maths or computing, tjhe Sinclair Basic was easy to understand.

by Remah on 4. July 2011 - 22:15  (74755)

This is the wrong article to be asking about system emulation. Here's a list of ZX emulators

by J_L on 4. July 2011 - 20:19  (74751)

Great article there.

Now that we have this, is there any point to this stub?: http://www.techsupportalert.com/best-free-virtual-machine.htm

by MidnightCowboy on 5. July 2011 - 7:13  (74770)

No there's not so I've taken it out to avoid confusion.

by Olad (not verified) on 4. July 2011 - 17:21  (74744)

One big difference b/w VMWare Player and VirtualBox - seemless adjustment of the display mode in VMWare. You jump through hoops to get your preferred display setting in VirtualBox, and sometimes not at all. Makes a big difference to me.

by George (not verified) on 4. July 2011 - 15:28  (74738)

Excellent article. You have helped me to FINALLY understand the idea of virtualization and select a product approiate for my technical understading. Thank you!

by Keith Steensma (not verified) on 4. July 2011 - 13:59  (74727)

But nobody has mentioned Microsoft's (free) Virtual PC. If you are a MS person, it might be worth a look, but don't expect much. MS has spent a lot of money buying companies and writing code, but they still haven't (and probably will never) come close to VMWare. I've used VM Workstation for years and love it for both testing and isolation (security).

by jmaloney on 4. July 2011 - 15:50  (74740)

I have a 64-bit system with Windows 7 Professional and I needed a way to continue running several old programs that are incompatible with the operating system. I installed Windows Virtual PC and XP Mode, which allows me to edit pictures using my old copy of Photoshop, run QBasic, and run a couple of other old programs that I didn't want to replace yet. I just mention this as an example of one of the main uses of virtualization that Dedoimedo lists in his article (i.e. running legacy software). Windows Virtual PC satisfies my needs well.

Jon

by Dedoimedo on 4. July 2011 - 14:29  (74733)

My experience with Microsoft virtualization is: Windows only host, limited support for non-Microsoft guests and reduced performance, hence I don't quite consider it a worthy contestant. For the same reason I did not list OpenVZ for Linux, which is really fast, but you're limited to same kernel as your host, plus not so easy to setup.
Dedoimedo

by Free4Me (not verified) on 4. July 2011 - 12:55  (74725)

re: Kendall, Sandboxie is my choice especially when trying out freeware. It prevents these programs from making permanent changes to existing data and other programs already installed on your computer. Read more about it here:
http://www.sandboxie.com/

by Dedoimedo on 4. July 2011 - 14:27  (74732)

Sandboxie is a sandbox tool - not a virtualization product. It's good for application testing on windows, but not for running a whole new instance of an operating system on top of another.
Dedoimedo

by crank on 4. July 2011 - 12:52  (74724)

Could you please clarify for me your statements that Vbox can't take snapshots of its guests? Earlier you mention unlimited snapshots, which I know to be the case as I use Vbox often. Is there some distinction with 'guest' snapshots?

by Dedoimedo on 4. July 2011 - 14:26  (74731)

I said screenshot not snapshots! Snapshots are frozen states of the os image you can revert to. I know that in normal jargon you may refer to snapshot as pictures, but we're talking other kind of images here.

by boristhemoggy on 4. July 2011 - 8:22  (74713)

I'm trying VMPlayer.
I hate it when they force you to give them your name and email, and I have a gmail addy setup just for that purpose!
But hey, it's free, it's just a personal gripe of mine lol
I just want it to install new software to try out without affecting my machine, so VM for me and se what it's like, be interesting to see others' feedback.

by Dedoimedo on 2. July 2011 - 5:47  (74652)

VirtualBox or VMware Player for most people, however do note that 3D stuff may not work as you expect inside the virtual machine.
Dedoimedo

by Sirius113 (not verified) on 1. July 2011 - 21:06  (74631)

I use VirtualBox for that. Works pretty good

by kendall.a on 1. July 2011 - 19:14  (74627)

Question--which of these (if any) would be best used if you just wanted a place to try out new software before installing it on your live system?

by NictraSavios (not verified) on 2. July 2011 - 2:17  (74644)

Virtualbox. Its the one I have used for a long time on Arch Linux

Gizmos Needs You

Gizmo's Freeware is Recruiting

 We are looking for people with skills or interest in the following areas:
 -  Mobile Platform App Reviews for Android and iOS
 -  Windows, Mac and Linux software reviews       Interested? Click here