Running a virtual machine on a desktop computer or server is now a matter of course, so that this function is integrated in modern standard processors. This means that only one software is needed to run several guest operating systems, such as the Linux distributions, virtually.
The manufacturer Oracle offers the software VirtualBox for virtualization, which is free to use and runs on the desktop and server. In addition to the basic system of VirtualBox, Oracle provides two add-ons, of which the “Extension Pack” is available for a fee for commercial use.
Guest system on the desktop
Oracle’s VirtualBox virtualization software was originally developed by Innotek and allows you to run a different operating system, a so-called guest system, on your desktop. For example, programs can be tested in the virtual machine before they are used on the production system. In addition, software can be run in other operating systems such as Linux distributions with Oracle VirtualBox without the need for a second computer in addition to the Windows computer.
Compared to a dual boot system, Oracle VirtualBox virtualization offers the advantage of taking snapshots of the guest system, which can be returned to at any time without the need to reboot the system in the event of a critical failure. In addition, several guest operating systems can be run simultaneously with Oracle VirtualBox, but this requires sufficient processor power and RAM.
Guest and host share the hardware
In the substructure VirtualBox from Oracle accesses the hardware resources of the host system and makes a part available to the guest system. Therefore, the host system should provide sufficient memory for itself and the guest. If necessary, the RAM requirement can be reduced, which quickly has a negative effect on the speed of Oracle’s VM (Virtual Machine). In general, a guest system should not be used to use visually performance-hungry software such as 3D games or video editing programs because Oracle’s VirtualBox does not fully access the host system’s graphics card. The hard disk for the installation of the guest system is provided as an image. Here VirtualBox supports numerous formats, such as VMDK, VDI or QCOW. The variety of supported formats makes it easy to migrate virtual machines from related products such as QEMU or VMware Workstation Pro.
In theory, Oracle VirtualBox can virtualize any system that runs on a computer with x86 or amd64 architecture. Microsoft Windows, Linux, Solaris, BSD and macOS are supported, whereby the latter can only be virtualized on Apple hardware for technical and licensing reasons. Systems that are not officially supported can only be used with considerable effort and corresponding technical know-how and are often unstable. Genymotion, for example, uses Oracle VirtualBox internally to virtualize Android, offering developers an alternative to Google’s own QEMU-based Android emulator.
VirtualBox itself runs as Windows software under Microsoft Windows and can also be installed in the appropriate version under macOS, Solaris and Linux such as Ubuntu, Debian and openSUSE. Also here the software of Oracle supports 32- and 64-bit operating systems.
Guest extension for host-guest communication
To improve integration with the host system, Oracle provides a Guest Addition for VirtualBox that supports many guest systems and is installed in the virtual machine. The guest extension supports full-screen execution, shared clipboard, shared folders, and drag & drop between host and guest. Some systems also support seamless mode, where guest windows behave like host windows.
The guest extensions of Oracle can be integrated into the running guest operating system as a medium via “Devices > Insert guest extensions …”. Then you have to start the setup file which installs the guest extensions on the media. This must be repeated for all guest operating systems such as Linux and Windows, where you want to use the extensions. If the guest operating systems are to be used to check a software version for malware, it is better not to install the guest extensions. This way, the host operating system is better protected against infections of the guest operating systems.
With a new version of Oracle VirtualBox the guest extension does not update automatically, which has to be done manually. However, the older version of the guest extension usually supports the newer version of VirtualBox, so an update is not mandatory, but better from a security point of view.
VirtualBox is limited portable
Due to the close integration with the host, a portable version of VirtualBox is not officially planned. However, a resourceful developer has developed a clever solution with Portable VirtualBox. The program installs Oracle VirtualBox on a USB stick and the required Oracle drivers on the system to be run as required and then removes them again. However, Portable VirtualBox only runs on a Windows host system.
Since version 4 Oracle offers the main program under the GPL license and a proprietary Extension Package under the in-house Personal Use and Evaluation License (PUEL). Previous versions of VirtualBox were divided into two binaries – one as an open source version without extensions and the other as a regular version with the proprietary additions. In general Oracle understands “Personal Use” as any use of VirtualBox that is initiated and used for own purposes – commercial or not. As a counterexample Oracle describes the distribution of the software from an administrator to 500 company computers in enterprise use.
With the Extension Pack and the tool VBoxManage you can use extended functions, which are especially interesting for administrators. A feature that should also be interesting for regular users is the support of USB 2.0 by the Extension Pack. In addition, the Extension Pack allows you to use a virtual machine on the server via a network, which reduces the load on your own hardware. Thanks to VBoxManage, VirtualBox can also be used from a console, allowing access to functions that the graphical interface does not offer. For example, you can create a VMDK with a direct link to a physical drive. This function should of course be used with caution, as it allows direct access from the VM to the host’s file system. A possible scenario would be to start a virtual machine directly from a bootable USB stick.