VirtualBox is a general-purpose full virtualizer for hardware. Targeted at server, desktop and embedded use, VirtualBox is now the only professional-quality virtualization solution that is also Open Source Software.
VirtualBox is a package of strong x86 virtualization software for enterprise as well as home use.
- Modularity. VirtualBox has an extremely modular design with well-defined internal programming interfaces and a client/server design. This makes it easy to control it from several interfaces at once: for example, you can start a virtual machine in a typical virtual machine GUI and then control that machine from the command line, or possibly remotely. VirtualBox also comes with a full Software Development Kit: even though it is Open Source Software, you don't have to hack the source to write a new interface for VirtualBox.
- Virtual machine descriptions in XML. The configuration settings of virtual machines are stored entirely in XML and are independent of the local machines. Virtual machine definitions can therefore easily be ported to other computers.
- Guest Additions for Windows and Linux. VirtualBox has special software that can be installed inside Windows and Linux virtual machines to improve performance and make integration much more seamless. Among the features provided by these Guest Additions are mouse pointer integration and arbitrary screen solutions (e.g. by resizing the guest window).
- Virtual USB Controllers. VirtualBox implements a virtual USB controller and allows you to connect arbitrary USB devices to your virtual machines without having to install device specific drivers on the host.
- Remote Desktop Protocol. Unlike any other virtualization software, VirtualBox fully supports the standard Remote Desktop Protocol (RDP). A virtual machine can act as an RDP server, allowing you to "run" the virtual machine remotely on some thin client that merely displays the RDP data.
- USB over RDP. With this unique feature, a virtual machine that acts as an RDP server can still access arbitrary USB devices that are connected on the RDP client. This way, a powerful server machine can virtualize a lot of thin clients that merely need to display RDP data and have USB devices plugged in.
- Shared folders. Like many other virtualization solutions, for easy data exchange between hosts and guests, VirtualBox allows for declaring certain host directories as "shared folders", which can then be accessed from within virtual machines.
VirtualBox will do that for us. It has also been found that VirtualBox can be faster than VMware Server in many cases. I haven’t done any direct side-by-side comparisons, but many of the articles that I have read refer to this.
Installing VirtualBox Open Source Edition on Ubuntu Gutsy / Feisty:
One of the benefits of running the Open Source Edition is that we get to compile it for our machines. This should lead to a bit better performance and, again, we’ll be rid of the binary blobs. We’ll need to install the following:
# sudo aptitude install virtualbox-ose build-essential linux-headers-generic
We’ll then use module-assistant to prepare the kernel modules for our Virtualbox installation:
# sudo m-a prepareYou are now ready to launch VirtualBox. You can launch it from the command line using the virtualbox command.
# sudo m-a a-i virtualbox-ose
# sudo usermod -G vboxusers -a username (your username)
# sudo chmod 666 /dev/vboxdrv (this is only done to avoid a logout/login for the group-change to take effect)