Oracle VirtualBox 4.1.18
Oracle's VM VirtualBox is a desktop-virtualisation environment that's compatible with x86 and AMD64/Intel64. Although it is the only free open-source virtualisation tool available at a professional level, it is not a direct competitor to the other three virtualisation implementations. Those are aimed at large IT infrastructures, while VirtualBox is targeted to personal or small-office use.
Oracle VM VirtualBox version 4.1.18 supports Windows, Linux, Macintosh and Solaris hosts, and supports a large number of guest operating systems, including Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7), OS X, DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris and OpenSolaris, OS/2 and OpenBSD as host operating systems. Hardening the guest operating system is achieved through "Guest Additions", which are driver or patch packages to improve the compatibility and functionality.
VirtualBox can present up to 32 virtual CPUs to each VM, irrespective of the physical CPU cores present on the host device. Configurable Physical Address Extension CPU compatibility allows 32-bit operating systems to address greater than 4GB of memory. Some Linux OSes (such as Ubuntu) require this to be enabled to permit virtualised operation. VCPU hot plugging allows "on the fly" expansion of CPU resource to a given VM. SAN boot capability is available, dependent on a guest OS using PXE boot and iSCSI targeting via the host (using experimental features).
Installation is very straightforward. VirtualBox (being a type-two hypervisor) was supplied for testing as an executable application to be installed upon an existing Windows 7 OS. The installation wizard guides you through the install without issues, delivering a very user-friendly interface to directories and registers.
When VirtualBox is executed for the first time, a nice wizard guides you through the virtualisation process. Firstly, you specify the name and OS type for your VM. You must also allocate RAM to be used by your VM; the base amount is recommended depending upon the guest OS selected. The maximum RAM is dependent upon the maximum allocation amount that won't also affect the host PC performance. A virtual hard disk is then created by the installation wizard, and the operator must select either a dynamic or fixed-size image. A dynamically expanding image will occupy a smaller amount of space on your physical drive. It will then grow dynamically up to your specified VM drive size. A fixed-size image will not grow. It is stored on your physical drive as a file of approximately the same size as the specified VM's hard drive.
Once your VM has been created, it will boot as a blank machine within the VirtualBox client. Once the VM has booted, you can specify the disk drive to install your OS as either your physical disk drive (which contains your bootable media) or as an ISO image contained somewhere on your hard drive. After the media path has been specified, the OS will boot and install as normal.
Access to host files from a guest is a complicated process, as there is no drag-and-drop support between the VM and the physical hard drive. Instead, file sharing relies upon shared folders, and this can be a complicated process that requires the Guest Addition to function.
VirtualBox supports full virtualisation within its client, which allows complete operating system functionality from the guest. All features pertaining to each VM are easily altered within the VirtualBox client, such as RAM, allocated video memory and hard-drive size.
Windows, Linux and OS X versions are available as two configurations; one partly proprietary and one fully open source. The open-source version — VirtualBox Open Source Edition (OSE) — lacks the ability to use USB peripherals, and includes the open-source VNC protocol instead of Microsoft's RDP.
VirtualBox does not have a limitation on how many VMs can be installed on one PC, so the only constraints are host hard-drive space and host RAM allocation.
The VirtualBox supports the following guest systems:
Windows NT 4.0: all versions, editions and service packs are fully supported. There are some known issues with older service packs; SP6a is recommended. Limited guest additions are available
Windows 2000/XP/Server 2003/Vista/Server 2008/Windows 7: all versions, editions and service packs are fully supported (including 64-bit versions, under the preconditions listed below). Guest Additions are available
DOS/Windows 3.x/95/98/ME: limited testing has been performed. Use beyond legacy installation mechanisms is not recommended. Guest Additions are not available
Linux 2.4: limited support
Linux 2.6: all versions/editions are fully supported (32-bit and 64-bit). Guest Additions are available. Kernel 2.6.13 or higher is recommended, kernel prevention of VM operation notwithstanding
Solaris 10, OpenSolaris: fully supported (32-bit and 64-bit). Guest Additions are available
FreeBSD: requires hardware virtualisation to be enabled. Limited support. Guest Additions are not available yet
OpenBSD: requires hardware virtualisation to be enabled. Versions 3.7 and later are supported. Guest Additions are not available yet
OS/2 Warp 4.5: requires hardware virtualisation to be enabled. Only MCP2 is officially supported; other OS/2 versions may or may not work. Guest Additions are available with a limited feature set.
VirtualBox supports 64-bit guest operating systems, and even 32-bit host operating systems, provided that the following conditions are met:
You need a 64-bit processor with hardware-virtualisation support
You must enable hardware virtualisation for the particular VM that you want 64-bit support for; software virtualisation is not supported for 64-bit VMs
If you want to use 64-bit guest support on a 32-bit host operating system, you must also select a 64-bit operating system for the particular VM. Since supporting 64 bits on a 32-bit host incurs additional overhead, VirtualBox only enables this support on explicit request
On 64-bit hosts (which typically come with hardware-virtualisation support), 64-bit guest operating systems are always supported, regardless of settings. But for 64-bit operation, the Advanced Programmable Interrupt Controller (APIC) must be enabled, particularly in the case of 64-bit Windows guests. Windows VMs also require the use of the Intel NIC driver. AMD is not supported.
The following guest SMP (multi-processor) limitations exist:
Poor performance with 32-bit guests on AMD CPUs. This affects mainly Windows and Solaris guests, but possibly also some Linux kernel revisions. This has been partially solved in version 3.0.6 for 32-bit Windows NT, 2000, XP and 2003 guests. It requires version 3.0.6 or higher Guest Additions to be installed
Poor performance with 32-bit guests on certain Intel CPU models that do not include virtual APIC hardware optimisation support. This affects mainly Windows and Solaris guests, but possibly also some Linux kernel revisions. This has been partially solved in 3.0.12 for 32-bit Windows NT, 2000, XP and 2003 guests. It requires 3.0.12 or higher Guest Additions to be installed
64-bit guests on some 32-bit host systems with VT-x can cause instabilities to your system
For basic Direct3D support in Windows guests to work, the Guest Additions must be installed in Windows "safe mode", with manual intervention to prevent Windows system DLL restoration. But this does not apply to the experimental WDDM Direct3D video driver, which is available for Vista and Windows 7 guests that are shipped with VirtualBox 4.1
On Windows guests, a process launched via the guest control execute support will not be able to display a graphical user interface unless the user account under which it is running is currently logged in and has a desktop session
Standard support for use with accounts that have no password; it requires group policy intervention to enable GUI access
The VBoxManage modifyhd compact command is currently only implemented for VDI files. At the moment, the only way to optimise the size of a virtual disk image in other formats (VMDK, VHD) is to clone the image, and then use the cloned image in the VM configuration
OVF localisation (multiple languages in one OVF file) is not yet supported. Some OVF sections, like StartupSection, DeploymentOptionSection and InstallSection, are ignored.
Some VirtualBox features are labelled as experimental. Such features are provided on an "as is" basis, and are not formally supported. The list of experimental features is noted as follows:
WDDM Direct3D video driver for Windows guests
Hardware 3D acceleration support for Windows, Linux and Solaris guests
Hardware 2D video playback acceleration support for Windows guests
PCI pass-through (Linux hosts only)
Mac OS X guests (Mac hosts only)
ICH9 chipset emulation
Host CD/DVD drive pass-through
Support of iSCSI via internal networking
Synthetic CPU reporting.