%all.entities; ]> First Steps Welcome to &product-name;. &product-name; is a cross-platform virtualization application. What does that mean? For one thing, it installs on your existing Intel or AMD-based computers, whether they are running Windows, Mac OS X, Linux, or Oracle Solaris operating systems (OSes). Secondly, it extends the capabilities of your existing computer so that it can run multiple OSes, inside multiple virtual machines, at the same time. As an example, you can run Windows and Linux on your Mac, run Windows Server 2016 on your Linux server, run Linux on your Windows PC, and so on, all alongside your existing applications. You can install and run as many virtual machines as you like. The only practical limits are disk space and memory. &product-name; is deceptively simple yet also very powerful. It can run everywhere from small embedded systems or desktop class machines all the way up to datacenter deployments and even Cloud environments. The following screenshot shows how &product-name;, installed on an Apple Mac OS X computer, is running Windows Server 2016 in a virtual machine window.
Windows Server 2016 Virtual Machine, Displayed on a Mac OS X Host
In this User Manual, we will begin simply with a quick introduction to virtualization and how to get your first virtual machine running with the easy-to-use &product-name; graphical user interface. Subsequent chapters will go into much more detail covering more powerful tools and features, but fortunately, it is not necessary to read the entire User Manual before you can use &product-name;. You can find a summary of &product-name;'s capabilities in . For existing &product-name; users who just want to find out what is new in this release, see the . Why is Virtualization Useful? The techniques and features that &product-name; provides are useful in the following scenarios: Running multiple operating systems simultaneously. &product-name; enables you to run more than one OS at a time. This way, you can run software written for one OS on another, such as Windows software on Linux or a Mac, without having to reboot to use it. Since you can configure what kinds of virtual hardware should be presented to each such OS, you can install an old OS such as DOS or OS/2 even if your real computer's hardware is no longer supported by that OS. Easier software installations. Software vendors can use virtual machines to ship entire software configurations. For example, installing a complete mail server solution on a real machine can be a tedious task. With &product-name;, such a complex setup, often called an appliance, can be packed into a virtual machine. Installing and running a mail server becomes as easy as importing such an appliance into &product-name;. Testing and disaster recovery. Once installed, a virtual machine and its virtual hard disks can be considered a container that can be arbitrarily frozen, woken up, copied, backed up, and transported between hosts. On top of that, with the use of another &product-name; feature called snapshots, one can save a particular state of a virtual machine and revert back to that state, if necessary. This way, one can freely experiment with a computing environment. If something goes wrong, such as problems after installing software or infecting the guest with a virus, you can easily switch back to a previous snapshot and avoid the need of frequent backups and restores. Any number of snapshots can be created, allowing you to travel back and forward in virtual machine time. You can delete snapshots while a VM is running to reclaim disk space. Infrastructure consolidation. Virtualization can significantly reduce hardware and electricity costs. Most of the time, computers today only use a fraction of their potential power and run with low average system loads. A lot of hardware resources as well as electricity is thereby wasted. So, instead of running many such physical computers that are only partially used, one can pack many virtual machines onto a few powerful hosts and balance the loads between them. Some Terminology When dealing with virtualization, and also for understanding the following chapters of this documentation, it helps to acquaint oneself with a bit of crucial terminology, especially the following terms: Host operating system (host OS). This is the OS of the physical computer on which &product-name; was installed. There are versions of &product-name; for Windows, Mac OS X, Linux, and Oracle Solaris hosts. See . Most of the time, this manual discusses all &product-name; versions together. There may be platform-specific differences which we will point out where appropriate. Guest operating system (guest OS). This is the OS that is running inside the virtual machine. Theoretically, &product-name; can run any x86 OS such as DOS, Windows, OS/2, FreeBSD, and OpenBSD. But to achieve near-native performance of the guest code on your machine, we had to go through a lot of optimizations that are specific to certain OSes. So while your favorite OS may run as a guest, we officially support and optimize for a select few, which include the most common OSes. See . Virtual machine (VM). This is the special environment that &product-name; creates for your guest OS while it is running. In other words, you run your guest OS in a VM. Normally, a VM is shown as a window on your computer's desktop. Depending on which of the various frontends of &product-name; you use, the VM might be shown in full screen mode or remotely on another computer. Internally, &product-name; treats a VM as a set of parameters that specify its behavior. Some parameters describe hardware settings, such as the amount of memory and number of CPUs assigned. Other parameters describe the state information, such as whether the VM is running or saved. You can view these VM settings in the VirtualBox Manager window, the Settings dialog, and by running the VBoxManage command. See . Guest Additions. This refers to special software packages which are shipped with &product-name; but designed to be installed inside a VM to improve performance of the guest OS and to add extra features. See . Features Overview The following is a brief outline of &product-name;'s main features: Portability. &product-name; runs on a large number of 64-bit host operating systems. See . &product-name; is a so-called hosted hypervisor, sometimes referred to as a type 2 hypervisor. Whereas a bare-metal or type 1 hypervisor would run directly on the hardware, &product-name; requires an existing OS to be installed. It can thus run alongside existing applications on that host. To a very large degree, &product-name; is functionally identical on all of the host platforms, and the same file and image formats are used. This enables you to run virtual machines created on one host on another host with a different host OS. For example, you can create a virtual machine on Windows and then run it under Linux. In addition, virtual machines can easily be imported and exported using the Open Virtualization Format (OVF), an industry standard created for this purpose. You can even import OVFs that were created with a different virtualization software. See . For users of &oci; the functionality extends to exporting and importing virtual machines to and from the cloud. This simplifies development of applications and deployment to the production environment. See . Guest Additions: shared folders, seamless windows, 3D virtualization. The &product-name; Guest Additions are software packages which can be installed inside of supported guest systems to improve their performance and to provide additional integration and communication with the host system. After installing the Guest Additions, a virtual machine will support automatic adjustment of video resolutions, seamless windows, accelerated 3D graphics and more. See . In particular, Guest Additions provide for shared folders, which let you access files on the host system from within a guest machine. See . Great hardware support. Among other features, &product-name; supports the following: Guest multiprocessing (SMP). &product-name; can present up to 32 virtual CPUs to each virtual machine, irrespective of how many CPU cores are physically present on your host. USB device support. &product-name; implements a virtual USB controller and enables you to connect arbitrary USB devices to your virtual machines without having to install device-specific drivers on the host. USB support is not limited to certain device categories. See . Hardware compatibility. &product-name; virtualizes a vast array of virtual devices, among them many devices that are typically provided by other virtualization platforms. That includes IDE, SCSI, and SATA hard disk controllers, several virtual network cards and sound cards, virtual serial and parallel ports and an Input/Output Advanced Programmable Interrupt Controller (I/O APIC), which is found in many computer systems. This enables easy cloning of disk images from real machines and importing of third-party virtual machines into &product-name;. Full ACPI support. The Advanced Configuration and Power Interface (ACPI) is fully supported by &product-name;. This enables easy cloning of disk images from real machines or third-party virtual machines into &product-name;. With its unique ACPI power status support, &product-name; can even report to ACPI-aware guest OSes the power status of the host. For mobile systems running on battery, the guest can thus enable energy saving and notify the user of the remaining power, for example in full screen modes. Multiscreen resolutions. &product-name; virtual machines support screen resolutions many times that of a physical screen, allowing them to be spread over a large number of screens attached to the host system. Built-in iSCSI support. This unique feature enables you to connect a virtual machine directly to an iSCSI storage server without going through the host system. The VM accesses the iSCSI target directly without the extra overhead that is required for virtualizing hard disks in container files. See . PXE Network boot. The integrated virtual network cards of &product-name; fully support remote booting using the Preboot Execution Environment (PXE). Multigeneration branched snapshots. &product-name; can save arbitrary snapshots of the state of the virtual machine. You can go back in time and revert the virtual machine to any such snapshot and start an alternative VM configuration from there, effectively creating a whole snapshot tree. See . You can create and delete snapshots while the virtual machine is running. VM groups. &product-name; provides a groups feature that enables the user to organize and control virtual machines collectively, as well as individually. In addition to basic groups, it is also possible for any VM to be in more than one group, and for groups to be nested in a hierarchy. This means you can have groups of groups. In general, the operations that can be performed on groups are the same as those that can be applied to individual VMs: Start, Pause, Reset, Close (Save state, Send Shutdown, Poweroff), Discard Saved State, Show in File System, Sort. Clean architecture and unprecedented modularity. &product-name; has an extremely modular design with well-defined internal programming interfaces and a clean separation of client and server code. This makes it easy to control it from several interfaces at once. For example, you can start a VM simply by clicking on a button in the &product-name; graphical user interface and then control that machine from the command line, or even remotely. See . Due to its modular architecture, &product-name; can also expose its full functionality and configurability through a comprehensive software development kit (SDK), which enables integration of &product-name; with other software systems. See . Remote machine display. The VirtualBox Remote Desktop Extension (VRDE) enables high-performance remote access to any running virtual machine. This extension supports the Remote Desktop Protocol (RDP) originally built into Microsoft Windows, with special additions for full client USB support. The VRDE does not rely on the RDP server that is built into Microsoft Windows. Instead, the VRDE is plugged directly into the virtualization layer. As a result, it works with guest OSes other than Windows, even in text mode, and does not require application support in the virtual machine either. The VRDE is described in detail in . On top of this special capacity, &product-name; offers you more unique features: Extensible RDP authentication. &product-name; already supports Winlogon on Windows and PAM on Linux for RDP authentication. In addition, it includes an easy-to-use SDK which enables you to create arbitrary interfaces for other methods of authentication. See . USB over RDP. Using RDP virtual channel support, &product-name; also enables you to connect arbitrary USB devices locally to a virtual machine which is running remotely on an &product-name; RDP server. See . Supported Host Operating Systems Currently, &product-name; runs on the following host OSes: Windows hosts (64-bit): Windows 8.1 Windows 10 RTM (1507 / 2015 LTSB) build 10240 Windows 10 Anniversary Update (1607 / 2016 LTSB) build 14393 Windows 10 Fall Creators Update (1709) build 16299 Windows 10 April 2018 Update (1803) build 17134 Windows 10 October 2018 Update (1809 / 2019 LTSC) build 17763 Windows 10 May 2019 Update (19H1 / 1903) build 18362 Windows 10 November 2019 Update (19H2 / 1909) build 18363 Windows Server 2012 Windows Server 2012 R2 Windows Server 2016 Windows Server 2019 Mac OS X hosts (64-bit): 10.13 (High Sierra) 10.14 (Mojave) 10.15 (Catalina) Intel hardware is required. See also . Linux hosts (64-bit). Includes the following: Ubuntu 18.04 LTS, 19.03 and 19.10 Debian GNU/Linux 9 ("Stretch") and 10 ("Buster") Oracle Linux 6, 7 and 8 Red Hat Enterprise Linux 6, 7 and 8 Fedora 30 and 31 Gentoo Linux SUSE Linux Enterprise server 12 and 15 openSUSE Leap 15.1 It should be possible to use &product-name; on most systems based on Linux kernel 2.6, 3.x, 4.x or 5.x using either the &product-name; installer or by doing a manual installation. See . However, the formally tested and supported Linux distributions are those for which we offer a dedicated package. Note that Linux 2.4-based host OSes are no longer supported. Oracle Solaris hosts (64-bit only). The following versions are supported with the restrictions listed in : Oracle Solaris 11 Note that the above list is informal. Oracle support for customers who have a support contract is limited to a subset of the listed host OSes. Also, any feature which is marked as experimental is not supported. Feedback and suggestions about such features are welcome. Host CPU Requirements SSE2 (Streaming SIMD Extensions 2) support is required for host CPUs. Installing &product-name; and Extension Packs &product-name; comes in many different packages, and installation depends on your host OS. If you have installed software before, installation should be straightforward. On each host platform, &product-name; uses the installation method that is most common and easy to use. If you run into trouble or have special requirements, see for details about the various installation methods. &product-name; is split into the following components: Base package. The base package consists of all open source components and is licensed under the GNU General Public License V2. Extension packs. Additional extension packs can be downloaded which extend the functionality of the &product-name; base package. Currently, Oracle provides a single extension pack, available from: . The extension pack provides the following added functionality: The virtual USB 2.0 (EHCI) device. See . The virtual USB 3.0 (xHCI) device. See . VirtualBox Remote Desktop Protocol (VRDP) support. See . Host webcam passthrough. See . Intel PXE boot ROM. Disk image encryption with AES algorithm. See . &product-name; extension packages have a .vbox-extpack file name extension. To install an extension, simply double-click on the package file and a Network Operations Manager window is shown to guide you through the required steps. To view the extension packs that are currently installed, start the VirtualBox Manager, as shown in . From the File menu, select Preferences. In the window that displays, go to the Extensions category. This shows you the extensions which are currently installed, and enables you to remove a package or add a new package. Alternatively, you can use the VBoxManage command line. See . Starting &product-name; After installation, you can start &product-name; as follows: On a Windows host, in the Programs menu, click on the item in the VirtualBox group. On some Windows platforms, you can also enter VirtualBox in the search box of the Start menu. On a Mac OS X host, in the Finder, double-click on the VirtualBox item in the Applications folder. You may want to drag this item onto your Dock. On a Linux or Oracle Solaris host, depending on your desktop environment, an &product-name; item may have been placed in either the System or System Tools group of your Applications menu. Alternatively, you can enter VirtualBox in a terminal window. When you start &product-name; for the first time, a window like the following is displayed:
VirtualBox Manager Window, After Initial Startup
This window is called the VirtualBox Manager. The left pane will later list all your virtual machines. Since you have not yet created any virtual machines, this list is empty. The Tools button provides access to user tools, such as the Virtual Media Manager. The pane on the right displays the properties of the currently selected virtual machine. Since you do not have any machines yet, the pane displays a welcome message. The buttons on the right pane are used to create and work with VMs. The following figure gives an idea of what &product-name; might look like after you have created some VMs.
VirtualBox Manager Window, After Creating Virtual Machines
Creating Your First Virtual Machine Click New in the VirtualBox Manager window. A wizard is shown, to guide you through setting up a new virtual machine (VM).
Creating a New Virtual Machine: Name and Operating System
On the following pages, the wizard will ask you for the bare minimum of information that is needed to create a VM, in particular: The Name of the VM you choose is shown in the machine list of the VirtualBox Manager window and is also used for the VM's files on disk. Be sure to assign each VM an informative name that describes the OS and software running on the VM. For example, Windows 10 with Visio. The Machine Folder is the location where VMs are stored on your computer. The default folder location is shown. For Operating System Type, select the OS that you want to install. The supported OSes are grouped. If you want to install something very unusual that is not listed, select Other. Depending on your selection, &product-name; will enable or disable certain VM settings that your guest OS may require. This is particularly important for 64-bit guests. See . It is therefore recommended to always set it to the correct value. On the next page, select the Memory (RAM) that &product-name; should allocate every time the virtual machine is started. The amount of memory given here will be taken away from your host machine and presented to the guest OS, which will report this size as the virtual computer's installed RAM. Choose this setting carefully. The memory you give to the VM will not be available to your host OS while the VM is running, so do not specify more than you can spare. For example, if your host machine has 4 GB of RAM and you enter 2048 MB as the amount of RAM for a particular virtual machine, you will only have 2 GB left for all the other software on your host while the VM is running. If you run two VMs at the same time, even more memory will be allocated for the second VM, which may not even be able to start if that memory is not available. On the other hand, you should specify as much as your guest OS and your applications will require to run properly. A guest OS may require at least 1 or 2 GB of memory to install and boot up. For best performance, more memory than that may be required. Always ensure that the host OS has enough RAM remaining. If insufficient RAM remains, the system might excessively swap memory to the hard disk, which effectively brings the host system to a standstill. As with the other settings, you can change this setting later, after you have created the VM. Next, you must specify a Virtual Hard Disk for your VM. There are many and potentially complicated ways in which &product-name; can provide hard disk space to a VM, see , but the most common way is to use a large image file on your physical hard disk, whose contents &product-name; presents to your VM as if it were a complete hard disk. This file then represents an entire hard disk, so you can even copy it to another host and use it with another &product-name; installation. The wizard displays the following window:
Creating a New Virtual Machine: Hard Disk
At this screen, you have the following options: To create a new, empty virtual hard disk, click the Create button. You can pick an existing disk image file. The drop-down list presented in the window lists all disk images which are currently remembered by &product-name;. These disk images are currently attached to a virtual machine, or have been attached to a virtual machine. Alternatively, click on the small folder icon next to the drop-down list. In the displayed file dialog, you can click Add to select any disk image file on your host disk. If you are using &product-name; for the first time, you will want to create a new disk image. Click the Create button. This displays another window, the Create Virtual Hard Disk Wizard wizard. This wizard helps you to create a new disk image file in the new virtual machine's folder. &product-name; supports the following types of image files: A dynamically allocated file only grows in size when the guest actually stores data on its virtual hard disk. Therefore, this file is small initially. As the drive is filled with data, the file grows to the specified size. A fixed-size file immediately occupies the file specified, even if only a fraction of that virtual hard disk space is actually in use. While occupying much more space, a fixed-size file incurs less overhead and is therefore slightly faster than a dynamically allocated file. For details about the differences, see . To prevent your physical hard disk (host OS) from filling up, &product-name; limits the size of the image file. But the image file must be large enough to hold the contents of the guest OS and the applications you want to install. For a Windows or Linux guest, you will probably need several gigabytes for any serious use. The limit of the image file size can be changed later, see .
Creating a New Virtual Machine: File Location and Size
After having selected or created your image file, click Next to go to the next page.
Click Create, to create your new virtual machine. The virtual machine is displayed in the list on the left side of the VirtualBox Manager window, with the name that you entered initially.
After becoming familiar with the use of wizards, consider using the Expert Mode available in some wizards. Where available, this is selectable using a button, and speeds up the process of using wizards.
Running Your Virtual Machine To start a virtual machine, you have several options: Double-click on the VM's entry in the list in the VirtualBox Manager window. Select the VM's entry in the list in the VirtualBox Manager window, and click Start at the top of the window. Go to the VirtualBox VMs folder in your system user's home directory. Find the subdirectory of the machine you want to start and double-click on the machine settings file. This file has a .vbox file extension. Starting a virtual machine displays a new window, and the virtual machine which you selected will boot up. Everything which would normally be seen on the virtual system's monitor is shown in the window. See the screenshot image in . In general, you can use the virtual machine as you would use a real computer. There are couple of points worth mentioning however. Starting a New VM for the First Time When a VM is started for the first time, the First Start Wizard, is displayed. This wizard helps you to select an installation medium. Since the VM is created empty, it would otherwise behave just like a real computer with no OS installed. It will do nothing and display an error message that no bootable OS was found. For this reason, the wizard helps you to select a medium to install an OS from. If you have physical CD or DVD media from which you want to install your guest OS, such as a Windows installation CD or DVD, put the media into your host's CD or DVD drive. In the wizard's drop-down list of installation media, select Host Drive with the correct drive letter. In the case of a Linux host, choose a device file. This will allow your VM to access the media in your host drive, and you can proceed to install from there. If you have downloaded installation media from the Internet in the form of an ISO image file such as with a Linux distribution, you would normally burn this file to an empty CD or DVD and proceed as described above. With &product-name; however, you can skip this step and mount the ISO file directly. &product-name; will then present this file as a CD or DVD-ROM drive to the virtual machine, much like it does with virtual hard disk images. In this case, the wizard's drop-down list contains a list of installation media that were previously used with &product-name;. If your medium is not in the list, especially if you are using &product-name; for the first time, click the small folder icon next to the drop-down list to display a standard file dialog. Here you can pick an image file on your host disks. After completing the choices in the wizard, you will be able to install your OS. Capturing and Releasing Keyboard and Mouse &product-name; provides a virtual USB tablet device to new virtual machines through which mouse events are communicated to the guest OS. If you are running a modern guest OS that can handle such devices, mouse support may work out of the box without the mouse being captured as described below. See . Otherwise, if the virtual machine detects only standard PS/2 mouse and keyboard devices, since the OS in the virtual machine does not know that it is not running on a real computer, it expects to have exclusive control over your keyboard and mouse. But unless you are running the VM in full screen mode, your VM needs to share keyboard and mouse with other applications and possibly other VMs on your host. After installing a guest OS and before you install the Guest Additions, described later, either your VM or the rest of your computer can "own" the keyboard and the mouse. Both cannot own the keyboard and mouse at the same time. You will see a second mouse pointer which is always confined to the limits of the VM window. You activate the VM by clicking inside it. To return ownership of keyboard and mouse to your host OS, &product-name; reserves a special key on your keyboard: the Host key. By default, this is the right Ctrl key on your keyboard. On a Mac host, the default Host key is the left Command key. You can change this default in the &product-name; Global Settings. See . The current setting for the Host key is always displayed at the bottom right of your VM window.
Host Key Setting on the Virtual Machine Task Bar
This means the following: Your keyboard is owned by the VM if the VM window on your host desktop has the keyboard focus. If you have many windows open in your guest OS, the window that has the focus in your VM is used. This means that if you want to enter text within your VM, click on the title bar of your VM window first. To release keyboard ownership, press the Host key. As explained above, this is typically the right Ctrl key. Note that while the VM owns the keyboard, some key sequences, such as Alt+Tab, will no longer be seen by the host, but will go to the guest instead. After you press the Host key to reenable the host keyboard, all key presses will go through the host again, so that sequences such as Alt+Tab will no longer reach the guest. For technical reasons it may not be possible for the VM to get all keyboard input even when it does own the keyboard. Examples of this are the Ctrl+Alt+Del sequence on Windows hosts or single keys grabbed by other applications on X11 hosts such as the GNOME desktop Locate Pointer feature. Your mouse is owned by the VM only after you have clicked in the VM window. The host mouse pointer will disappear, and your mouse will drive the guest's pointer instead of your normal mouse pointer. Note that mouse ownership is independent of that of the keyboard. Even after you have clicked on a titlebar to be able to enter text into the VM window, your mouse is not necessarily owned by the VM yet. To release ownership of your mouse by the VM, press the Host key. As this behavior is inconvenient, &product-name; provides a set of tools and device drivers for guest systems called the &product-name; Guest Additions. These tools make VM keyboard and mouse operations much more seamless. Most importantly, the Guest Additions suppress the second "guest" mouse pointer and make your host mouse pointer work directly in the guest. See .
Typing Special Characters Some OSes expect certain key combinations to initiate certain procedures. The key combinations that you type into a VM might target the host OS, the &product-name; software, or the guest OS. The recipient of these keypresses depends on a number of factors, including the key combination itself. Host OSes reserve certain key combinations for themselves. For example, you cannot use the Ctrl+Alt+Delete combination to reboot the guest OS in your VM because this key combination is usually hard-wired into the host OS. So, even though both the Windows and Linux OSes intercept this key combination, only the host OS would be rebooted. On Linux and Oracle Solaris hosts, which use the X Window System, the key combination Ctrl+Alt+Backspace normally resets the X server and restarts the entire graphical user interface. As the X server intercepts this combination, pressing it will usually restart your host graphical user interface and kill all running programs, including &product-name;, in the process. On Linux hosts supporting virtual terminals, the key combination Ctrl+Alt+Fx, where Fx is one of the function keys from F1 to F12, normally enables you to switch between virtual terminals. As with Ctrl+Alt+Delete, these combinations are intercepted by the host OS and therefore always switch terminals on the host. If, instead, you want to send these key combinations to the guest OS in the virtual machine, you will need to use one of the following methods: Use the items in the Input, Keyboard menu of the virtual machine window. This menu includes the settings Insert Ctrl+Alt+Delete and Insert Ctrl+Alt+Backspace. However, the latter setting affects only Linux guests or Oracle Solaris guests. This menu also includes an option for inserting the Host key combination. Use special key combinations with the Host key, which is normally the right Control key. &product-name; then translates the following key combinations for the VM: Host key + Del sends Ctrl+Alt+Del to reboot the guest OS. Host key + Backspace sends Ctrl+Alt+Backspace to restart the graphical user interface of a Linux or Oracle Solaris guest. Host key + Function key. For example, use this key combination to simulate Ctrl+Alt+Fx to switch between virtual terminals in a Linux guest. For some other keyboard combinations such as Alt+Tab to switch between open windows, &product-name; enables you to configure whether these combinations will affect the host or the guest, if a virtual machine currently has the focus. This is a global setting for all virtual machines and can be found under File, Preferences, Input. A soft keyboard can be used to input key combinations in the guest. See . Changing Removable Media While a virtual machine is running, you can change removable media in the Devices menu of the VM's window. Here you can select in detail what &product-name; presents to your VM as a CD, DVD, or floppy drive. The settings are the same as those available for the VM in the Settings dialog of the &product-name; main window. But as the Settings dialog is disabled while the VM is in the Running or Saved state, the Devices menu saves you from having to shut down and restart the VM every time you want to change media. Using the Devices menu, you can attach the host drive to the guest or select a floppy or DVD image, as described in . The Devices menu also includes an option for creating a virtual ISO (VISO) from selected files on the host. Resizing the Machine's Window You can resize the VM's window while that VM is running. When you do, the window is scaled as follows: If you have scaled mode enabled, then the virtual machine's screen will be scaled to the size of the window. This can be useful if you have many machines running and want to have a look at one of them while it is running in the background. Alternatively, it might be useful to enlarge a window if the VM's output screen is very small, for example because you are running an old OS in it. To enable scaled mode, press Host key + C, or select Scaled Mode from the View menu in the VM window. To leave scaled mode, press Host key + C again. The aspect ratio of the guest screen is preserved when resizing the window. To ignore the aspect ratio, press Shift during the resize operation. See for additional remarks. If you have the Guest Additions installed and they support automatic resizing, the Guest Additions will automatically adjust the screen resolution of the guest OS. For example, if you are running a Windows guest with a resolution of 1024x768 pixels and you then resize the VM window to make it 100 pixels wider, the Guest Additions will change the Windows display resolution to 1124x768. See . Otherwise, if the window is bigger than the VM's screen, the screen will be centered. If it is smaller, then scroll bars will be added to the machine window. Saving the State of the Machine When you click on the Close button of your virtual machine window, at the top right of the window, just like you would close any other window on your system, &product-name; asks you whether you want to save or power off the VM. As a shortcut, you can also press Host key + Q.
Closing Down a Virtual Machine
The difference between the three options is crucial. They mean the following: Save the machine state: With this option, &product-name; freezes the virtual machine by completely saving its state to your local disk. When you start the VM again later, you will find that the VM continues exactly where it was left off. All your programs will still be open, and your computer resumes operation. Saving the state of a virtual machine is thus in some ways similar to suspending a laptop computer by closing its lid. Send the shutdown signal. This will send an ACPI shutdown signal to the virtual machine, which has the same effect as if you had pressed the power button on a real computer. This should trigger a proper shutdown mechanism from within the VM. Power off the machine: With this option, &product-name; also stops running the virtual machine, but without saving its state. This is equivalent to pulling the power plug on a real computer without shutting it down properly. If you start the machine again after powering it off, your OS will have to reboot completely and may begin a lengthy check of its virtual system disks. As a result, this should not normally be done, since it can potentially cause data loss or an inconsistent state of the guest system on disk. As an exception, if your virtual machine has any snapshots, see , you can use this option to quickly restore the current snapshot of the virtual machine. In that case, powering off the machine will not disrupt its state, but any changes made since that snapshot was taken will be lost. The Discard button in the VirtualBox Manager window discards a virtual machine's saved state. This has the same effect as powering it off, and the same warnings apply.
Using VM Groups VM groups enable the user to create ad hoc groups of VMs, and to manage and perform functions on them collectively, as well as individually. The following figure shows VM groups displayed in VirtualBox Manager.
Groups of Virtual Machines
The following features are available for groups: Create a group using the VirtualBox Manager. Do one of the following: Drag one VM on top of another VM. Select multiple VMs and select Group from the right-click menu. Create and manage a group using the command line. Do one of the following: Create a group and assign a VM. For example: VBoxManage modifyvm "vm01" --groups "/TestGroup" This command creates a group "TestGroup" and attaches the VM "vm01" to that group. Detach a VM from the group, and delete the group if empty. For example: VBoxManage modifyvm "vm01" --groups "" This command detaches all groups from the VM "vm01" and deletes the empty group. Create multiple groups. For example: VBoxManage modifyvm "vm01" --groups "/TestGroup,/TestGroup2" This command creates the groups "TestGroup" and "TestGroup2", if they do not exist, and attaches the VM "vm01" to both of them. Create nested groups, having a group hierarchy. For example: VBoxManage modifyvm "vm01" --groups "/TestGroup/TestGroup2" This command attaches the VM "vm01" to the subgroup "TestGroup2" of the "TestGroup" group. The following is a summary of group commands: Start, Pause, Reset, Close (save state, send shutdown signal, poweroff), Discard Saved State, Show in File System, Sort.
Snapshots With snapshots, you can save a particular state of a virtual machine for later use. At any later time, you can revert to that state, even though you may have changed the VM considerably since then. A snapshot of a virtual machine is thus similar to a machine in Saved state, but there can be many of them, and these saved states are preserved. To see the snapshots of a virtual machine, click on the machine name in VirtualBox Manager. Then click the List icon next to the machine name, and select Snapshots. Until you take a snapshot of the machine, the list of snapshots will be empty except for the Current State item, which represents the "now" point in the lifetime of the virtual machine. Taking, Restoring, and Deleting Snapshots There are three operations related to snapshots, as follows: Take a snapshot. This makes a copy of the machine's current state, to which you can go back at any given time later. If your VM is running, select Take Snapshot from the Machine pull-down menu of the VM window. If your VM is in either the Saved or the Powered Off state, as displayed next to the VM name in the &product-name; main window, click the List icon next to the machine name and select Snapshots. The snapshots window is shown. Do one of the following: Click the Take icon. Right-click on the Current State item in the list and select Take. In either case, a window is displayed prompting you for a snapshot name. This name is purely for reference purposes to help you remember the state of the snapshot. For example, a useful name would be "Fresh installation from scratch, no Guest Additions", or "Service Pack 3 just installed". You can also add a longer text in the Description field. Your new snapshot will then appear in the snapshots list. Underneath your new snapshot, you will see an item called Current State, signifying that the current state of your VM is a variation based on the snapshot you took earlier. If you later take another snapshot, you will see that they are displayed in sequence, and that each subsequent snapshot is derived from an earlier one.
Snapshots List For a Virtual Machine
&product-name; imposes no limits on the number of snapshots you can take. The only practical limitation is disk space on your host. Each snapshot stores the state of the virtual machine and thus occupies some disk space. See for details on what is stored in a snapshot.
Restore a snapshot. In the list of snapshots, right-click on any snapshot you have taken and select Restore. By restoring a snapshot, you go back or forward in time. The current state of the machine is lost, and the machine is restored to the exact state it was in when the snapshot was taken. Restoring a snapshot will affect the virtual hard drives that are connected to your VM, as the entire state of the virtual hard drive will be reverted as well. This means also that all files that have been created since the snapshot and all other file changes will be lost. In order to prevent such data loss while still making use of the snapshot feature, it is possible to add a second hard drive in write-through mode using the VBoxManage interface and use it to store your data. As write-through hard drives are not included in snapshots, they remain unaltered when a machine is reverted. See . To avoid losing the current state when restoring a snapshot, you can create a new snapshot before the restore operation. By restoring an earlier snapshot and taking more snapshots from there, it is even possible to create a kind of alternate reality and to switch between these different histories of the virtual machine. This can result in a whole tree of virtual machine snapshots, as shown in the screenshot above. Delete a snapshot. This does not affect the state of the virtual machine, but only releases the files on disk that &product-name; used to store the snapshot data, thus freeing disk space. To delete a snapshot, right-click on the snapshot name in the snapshots tree and select Delete. Snapshots can be deleted even while a machine is running. Whereas taking and restoring snapshots are fairly quick operations, deleting a snapshot can take a considerable amount of time since large amounts of data may need to be copied between several disk image files. Temporary disk files may also need large amounts of disk space while the operation is in progress. There are some situations which cannot be handled while a VM is running, and you will get an appropriate message that you need to perform this snapshot deletion when the VM is shut down.
Snapshot Contents Think of a snapshot as a point in time that you have preserved. More formally, a snapshot consists of the following: The snapshot contains a complete copy of the VM settings, including the hardware configuration, so that when you restore a snapshot, the VM settings are restored as well. For example, if you changed the hard disk configuration or the VM's system settings, that change is undone when you restore the snapshot. The copy of the settings is stored in the machine configuration, an XML text file, and thus occupies very little space. The complete state of all the virtual disks attached to the machine is preserved. Going back to a snapshot means that all changes that had been made to the machine's disks, file by file and bit by bit, will be undone as well. Files that were since created will disappear, files that were deleted will be restored, changes to files will be reverted. Strictly speaking, this is only true for virtual hard disks in "normal" mode. You can configure disks to behave differently with snapshots, see . In technical terms, it is not the virtual disk itself that is restored when a snapshot is restored. Instead, when a snapshot is taken, &product-name; creates differencing images which contain only the changes since the snapshot were taken. When the snapshot is restored, &product-name; throws away that differencing image, thus going back to the previous state. This is both faster and uses less disk space. For the details, which can be complex, see . Creating the differencing image as such does not occupy much space on the host disk initially, since the differencing image will initially be empty and grow dynamically later with each write operation to the disk. The longer you use the machine after having created the snapshot, however, the more the differencing image will grow in size. If you took a snapshot while the machine was running, the memory state of the machine is also saved in the snapshot. This is in the same way that memory can be saved when you close a VM window. When you restore such a snapshot, execution resumes at exactly the point when the snapshot was taken. The memory state file can be as large as the memory size of the VM and will therefore occupy considerable disk space.
Virtual Machine Configuration When you select a virtual machine from the list in the VirtualBox Manager window, you will see a summary of that machine's settings on the right. Clicking on Settings displays a window, where you can configure many of the properties of the selected VM. But be careful when changing VM settings. It is possible to change all VM settings after installing a guest OS, but certain changes might prevent a guest OS from functioning correctly if done after installation. The Settings button is disabled while a VM is either in the Running or Saved state. This is because the Settings dialog enables you to change fundamental characteristics of the virtual machine that is created for your guest OS. For example, the guest OS may not perform well if half of its memory is taken away. As a result, if the Settings button is disabled, shut down the current VM first. &product-name; provides a wide range of parameters that can be changed for a virtual machine. The various settings that can be changed in the Settings window are described in detail in . Even more parameters are available when using the VBoxManage command line interface. See . Removing and Moving Virtual Machines You can remove a VM from &product-name; or move the VM and its associated files, such as disk images, to another location on the host. Removing a VM. To remove a VM, right-click on the VM in the VirtualBox Manager's machine list and select Remove. The confirmation dialog enables you to specify whether to only remove the VM from the list of machines or to remove the files associated with the VM. Note that the Remove menu item is disabled while a VM is running. Moving a VM. To move a VM to a new location on the host, right-click on the VM in the VirtualBox Manager's machine list and select Move. The file dialog prompts you to specify a new location for the VM. When you move a VM, &product-name; configuration files are updated automatically to use the new location on the host. Note that the Move menu item is disabled while a VM is running. You can also use the VBoxManage movevm command to move a VM. See . For information about removing or moving a disk image file from &product-name;, see . Cloning Virtual Machines You can create a full copy or a linked copy of an existing VM. This copy is called a clone. You might use a cloned VM to experiment with a VM configuration, to test different guest OS levels, or to back up a VM. The Clone Virtual Machine wizard guides you through the cloning process.
The Clone Virtual Machine Wizard
Start the wizard by clicking Clone in the right-click menu of the VirtualBox Manager's machine list or in the Snapshots view of the selected VM. Specify a new Name for the clone. You can choose a Path for the cloned virtual machine, otherwise &product-name; uses the default machines folder. The Clone Type option specifies whether to create a clone linked to the source VM or to create a fully independent clone: Full Clone: Copies all dependent disk images to the new VM folder. A full clone can operate fully without the source VM. Linked Clone: Creates new differencing disk images based on the source VM disk images. If you select the current state of the source VM as the clone point, &product-name; creates a new snapshot. The Snapshots option specifies whether to create a clone of the current machine state only or of everything. Everything: Clones the current machine state and all its snapshots. Current Machine State and All Children:. Clones a VM snapshot and all its child snapshots. The following clone options are available: MAC Address Policy: Specifies how to retain network card MAC addresses when cloning the VM. For example, the Generate New MAC Addresses For All Network Adapters value assigns a new MAC address to each network card during cloning. This is the default setting. This is the best option when both the source VM and the cloned VM must operate on the same network. Other values enable you to retain the existing MAC addresses in the cloned VM. Keep Disk Names: Retains the disk image names when cloning the VM. Keep Hardware UUIDs: Retains the hardware universally unique identifiers (UUIDs) when cloning the VM. The duration of the clone operation depends on the size and number of attached disk images. In addition, the clone operation saves all the differencing disk images of a snapshot. Note that the Clone menu item is disabled while a machine is running. You can also use the VBoxManage clonevm command to clone a VM. See .
Importing and Exporting Virtual Machines &product-name; can import and export virtual machines in the following formats: Open Virtualization Format (OVF). This is the industry-standard format. See . Cloud service formats. Export to and import from cloud services such as &oci; is supported. See the following topics: Before using &product-name; with &oci; there are some initial configuration steps you need to consider. See . &product-name; can also be used to create new instances from a custom image stored on &oci;. See About the OVF Format OVF is a cross-platform standard supported by many virtualization products which enables the creation of ready-made virtual machines that can then be imported into a hypervisor such as &product-name;. &product-name; makes OVF import and export easy to do, using the VirtualBox Manager window or the command-line interface. Using OVF enables packaging of virtual appliances. These are disk images, together with configuration settings that can be distributed easily. This way one can offer complete ready-to-use software packages, including OSes with applications, that need no configuration or installation except for importing into &product-name;. The OVF standard is complex, and support in &product-name; is an ongoing process. In particular, no guarantee is made that &product-name; supports all appliances created by other virtualization software. For a list of known limitations, see . Appliances in OVF format can appear in the following variants: They can come in several files, as one or several disk images, typically in the widely-used VMDK format. See . They also include a textual description file in an XML dialect with an .ovf extension. These files must then reside in the same directory for &product-name; to be able to import them. Alternatively, the above files can be packed together into a single archive file, typically with an .ova extension. Such archive files use a variant of the TAR archive format and can therefore be unpacked outside of &product-name; with any utility that can unpack standard TAR files. OVF cannot describe snapshots that were taken for a virtual machine. As a result, when you export a virtual machine that has snapshots, only the current state of the machine will be exported. The disk images in the export will have a flattened state identical to the current state of the virtual machine. Importing an Appliance in OVF Format The following steps show how to import an appliance in OVF format. Double-click on the OVF or OVA file. &product-name; creates file type associations automatically for any OVF and OVA files on your host OS. Select File, Import Appliance from the VirtualBox Manager window. From the file dialog, go to the file with either the .ovf or the .ova file extension. Click Import to open the Appliance Settings screen.
Appliance Settings Screen for Import Appliance
This screen shows the VMs described in the OVF or OVA file and enables you to change the VM settings. By default, membership of VM groups is preserved on import for VMs that were initially exported from &product-name;. You can change this behavior by using the Primary Group setting for the VM. The following global settings apply to all of the VMs that you import: Base Folder: Specifies the directory on the host in which to store the imported VMs. If an appliance has multiple VMs, you can specify a different directory for each VM by editing the Base Folder setting for the VM. MAC Address Policy: Reinitializes the MAC addresses of network cards in your VMs prior to import, by default. You can override the default behavior and preserve the MAC addresses on import. Import Hard Drives as VDI: Imports hard drives in the VDI format rather than in the default VMDK format.
Click Import to import the appliance. &product-name; copies the disk images and creates local VMs with the settings described on the Appliance Settings screen. The imported VMs are shown in the list of VMs in VirtualBox Manager. Because disk images are large, the VMDK images that are included with virtual appliances are shipped in a compressed format that cannot be used directly by VMs. So, the images are first unpacked and copied, which might take several minutes.
You can use the VBoxManage import command to import an appliance. See .
Exporting an Appliance in OVF Format The following steps show how to export an appliance in OVF format. Select File, Export Appliance to open the Export Virtual Appliance wizard. From the initial window, you can combine several VMs into an OVF appliance. Select one or more VMs to export, and click Next. The Appliance Settings screen enables you to select the following settings: Format: Selects the Open Virtualization Format value for the output files. The &oci; value exports the appliance to &oci;. See . File: Selects the location in which to store the exported files. MAC Address Policy: Specifies whether to retain or reassign network card MAC addresses on export. Write Manifest File: Enables you to include a manifest file in the exported archive file. Include ISO Image Files: Enables you to include ISO image files in the exported archive file. Click Next to show the Virtual System Settings screen. You can edit settings for the virtual appliance. For example, you can change the name of the virtual appliance or add product information, such as vendor details or license text. Double-click the appropriate field to change its value. Click Export to begin the export process. Note that this operation might take several minutes. You can use the VBoxManage export command to export an appliance. See . Preparing for &oci; Integration There are some common configuration steps you need to take before using &product-name; to integrate with your &oci; account. Create a key pair. Generate an API signing key pair that is used for API requests to &oci;. The key pair is usually installed in the .oci folder in your home directory. For example, ~/.oci on a Linux system. Upload the public key of the key pair to the cloud service. For step-by-step instructions for creating and uploading an API signing key for &oci;, see: Create a cloud profile. The cloud profile contains resource identifiers for your cloud account, such as your user OCID, and the fingerprint for your public key. You can create a cloud profile in the following ways: Automatically, by using the Cloud Profile Manager. See . Automatically, by using the VBoxManage cloudprofile command. See . Manually, by creating an oci_config file in your &product-name; global configuration directory. For example, this is $HOME/.config/VirtualBox/oci_config on a Linux host. Manually, by creating a config file in your &oci; configuration directory. For example, this is $HOME/.oci/config on a Linux host. This is the same file that is used by the &oci; command line interface. &product-name; automatically uses the config file if no cloud profile file is present in your global configuration directory. Alternatively, you can import this file manually into the Cloud Profile Manager. For more information about the cloud profile settings used by &oci; see: Custom Linux images. To export a custom Linux image, prepare the VM as described here: Subnets. When exporting a VM to cloud, ensure that the subnets that are used by source VMs are available in the target compartment on the cloud service. Exporting an Appliance to &oci; &product-name; supports the export of VMs to an &oci; service. The exported VM is stored on &oci; as a custom image. You can configure whether a cloud instance is created and started after the export process has completed. Before you can export a VM to &oci; ensure that you have done the required preconfiguration tasks, as described in . Perform the following steps to export a VM to &oci;: Select File, Export Appliance to open the Export Virtual Appliance wizard. Select a VM to export and click Next to open the Appliance Settings screen. From the Format drop-down list, select &oci;. In the Account drop-down list, select your &oci; account. You can set up &oci; accounts by using the Cloud Profile Manager. The list after the Account field shows the profile settings for your cloud account.
Appliance Settings Screen, Showing Cloud Profile and Machine Creation Settings
In the Machine Creation field, select an option to configure settings for a cloud instance created when you export to &oci;. The options enable you to do one of the following: Configure settings for the cloud instance after you have finished exporting the VM. Configure settings for the cloud instance before you start to export the VM. Do not create a cloud instance when you export the VM. Click Next to make an API request to the &oci; service and open the Virtual System Settings screen.
Optionally edit storage settings used for the exported virtual machine in &oci;. You can change the following settings: The name of the bucket used to store the exported files. Whether to store the custom image in &oci;. The name for the custom image in &oci;. The launch mode for the custom image. Paravirtualized mode gives improved performance and should be suitable for most &product-name; VMs. Emulated mode is suitable for legacy OS images. Click Export to export the VM to &oci;. Depending on the selection in the Machine Creation field, the Cloud Virtual Machine Settings screen may be displayed before or after export. This screen enables you to configure settings for the cloud instance, such as Shape and Disk Size. Click Create. The VM is exported to &oci;. Depending on the Machine Creation setting, a cloud instance may be started after upload to &oci; is completed. Monitor the export process by using the &oci; Console.
You can also use the VBoxManage export command to export a VM to &oci;. See .
Importing an Instance from &oci; &product-name; supports the import of cloud instances from an &oci; service. Before you can import an instance from &oci; ensure that you have done the required preconfiguration tasks, as described in . Perform the following steps to import an instance from &oci;: Select File, Import Appliance to open the Import Virtual Appliance wizard. In the Source drop-down list, select &oci;. In the Account drop-down list, select your &oci; account. You can set up &oci; accounts by using the Cloud Profile Manager. The list after the Account field shows the profile settings for your cloud account. Choose the required cloud instance from the list in the Machines field. Click Next to make an API request to the &oci; service and open the Appliance Settings screen. Optionally edit settings for the new local virtual machine. For example, you can edit the VM name and description.
Import Cloud Instance Screen, Showing Profile Settings and VM Settings
Click Import to import the instance from the cloud service.
Monitor the import process by using the &oci; Console.
You can also use the VBoxManage import command to import an instance from &oci;. See . Importing an Instance: Overview of Events The following describes the sequence of events when you import an instance from &oci;. A custom image is created from the boot volume of the instance. The custom image is exported to an &oci; object and is stored using Object Storage in the bucket specified by the user. The &oci; object is downloaded to the local host. The object is a TAR archive which contains a boot volume of the instance in QCOW2 format and a JSON file containing metadata related to the instance. The boot volume of the instance is extracted from the archive and a new VMDK image is created by converting the boot volume into the VMDK format. The VMDK image is registered with &product-name;. A new VM is created using the VMDK image for the cloud instance. By default, the new VM is not started after import from &oci;. The downloaded TAR archive is deleted after a successful import.
The Cloud Profile Manager The Cloud Profile Manager is a component of &product-name; that enables you to create, edit, and manage cloud profiles for your cloud service accounts.
The Cloud Profile Manager
To open the Cloud Profile Manager select File, Cloud Profile Manager from the VirtualBox Manager window. You can use the Cloud Profile Manager to create a new cloud profile automatically or to create a cloud profile by importing settings from your &oci; configuration file. Perform the following steps to create a new cloud profile automatically: Click the Add icon and specify a Name for the profile. Click Properties and specify the following property values for the profile: Compartment OCID Fingerprint of the public key Location of the private key on the client device (Optional) Passphrase for the private key, if the key is encrypted Region OCID Tenancy OCID User OCID Some of these are settings for your &oci; account, which you can view from the &oci; Console. Click Apply to save your changes. The cloud profile settings are saved in the oci_config file in your &product-name; global settings directory. Perform the following steps to import an existing &oci; configuration file: Ensure that a config file is present in your &oci; configuration directory. For example, this is $HOME/.oci/config on a Linux host. Click the Import icon to open a dialog that prompts you to import cloud profiles from external files. This action overwrites any cloud profiles that are in your &product-name; global settings directory. Click Import. Your cloud profile settings are saved to the oci_config file in your &product-name; global settings directory. Click Properties to show the cloud profile settings. Double-click on the appropriate field to change the value. Click Apply to save your changes.
Creating New Cloud Instances from a Custom Image You can use &product-name; to create new instances from a custom image on your cloud service. describes how to create a custom image when you are exporting a VM to &oci;. Using a custom image means that you can quickly create cloud instances without having to upload your image to the cloud service every time. Before you can create a new cloud instance in &oci; ensure that you have done the required preconfiguration tasks, as described in . Perform the following steps to create a new cloud instance on &oci;: Select File, New Cloud VM to open the Create Cloud Virtual Machine wizard. From the Destination drop-down list, select &oci;. In the Account drop-down list, select your &oci; account. You can set up &oci; accounts by using the Cloud Profile Manager. The list after the Account field shows the profile settings for your cloud account. In the Images list, select from the custom images available on &oci;.
New Cloud VM Wizard, Showing List of Custom Images
Click Next to make an API request to the &oci; service and open the Cloud Virtual Machine Settings screen.
Optionally edit settings used for the instance on &oci;. For example, you can edit the Disk Size and Shape used for the VM instance and the networking configuration. Click Create to create the new cloud instance. Monitor the instance creation process by using the &oci; Console.
You can also use the VBoxManage cloud instance command to create and manage instances on a cloud service. See .
Global Settings The Global Settings dialog can be displayed using the File menu, by clicking the Preferences item. This dialog offers a selection of settings, most of which apply to all virtual machines of the current user. The Extensions option applies to the entire system. The following settings are available: General. Enables the user to specify the default folder or directory for VM files, and the VRDP Authentication Library. Input. Enables the user to specify the Host key. This is the key that toggles whether the cursor is in the focus of the VM or the Host OS windows, see . The Host key is also used to trigger certain VM actions, see . Update. Enables the user to specify various settings for Automatic Updates. Language. Enables the user to specify the GUI language. Display. Enables the user to specify the screen resolution, and its width and height. A default scale factor can be specified for all guest screens. Network. Enables the user to configure the details of Host Only Networks. Extensions. Enables the user to list and manage the installed extension packages. Proxy. Enables the user to configure a HTTP Proxy Server. Alternative Front-Ends As briefly mentioned in , &product-name; has a very flexible internal design that enables you to use multiple interfaces to control the same virtual machines. For example, you can start a virtual machine with the VirtualBox Manager window and then stop it from the command line. With &product-name;'s support for the Remote Desktop Protocol (RDP), you can even run virtual machines remotely on a headless server and have all the graphical output redirected over the network. The following front-ends are shipped in the standard &product-name; package: VirtualBox. This is the VirtualBox Manager, a graphical user interface that uses the Qt toolkit. This interface is described throughout this manual. While this is the simplest and easiest front-end to use, some of the more advanced &product-name; features are not included. VBoxManage. A command-line interface for automated and detailed control of every aspect of &product-name;. See . VBoxHeadless. A front-end that produces no visible output on the host at all, but can act as a RDP server if the VirtualBox Remote Desktop Extension (VRDE) is installed and enabled for the VM. As opposed to the other graphical interfaces, the headless front-end requires no graphics support. This is useful, for example, if you want to host your virtual machines on a headless Linux server that has no X Window system installed. See . If the above front-ends still do not satisfy your particular needs, it is possible to create yet another front-end to the complex virtualization engine that is the core of &product-name;, as the &product-name; core neatly exposes all of its features in a clean API. See . Soft Keyboard &product-name; provides a soft keyboard that enables you to input keyboard characters on the guest. A soft keyboard is an on-screen keyboard that can be used as an alternative to a physical keyboard. See for details of how to use the soft keyboard. For best results, ensure that the keyboard layout configured on the guest OS matches the keyboard layout used by the soft keyboard. &product-name; does not do this automatically.
Soft Keyboard in a Guest Virtual Machine
The soft keyboard can be used in the following scenarios: When the physical keyboard on the host is not the same as the keyboard layout configured on the guest. For example, if the guest is configured to use an international keyboard, but the host keyboard is US English. To send special key combinations to the guest. Note that some common key combinations are also available in the Input, Keyboard menu of the guest VM window. See . For guests in kiosk mode, where a physical keyboard is not present. When using nested virtualization, the soft keyboard provides a method of sending key presses to a guest. By default, the soft keyboard includes some common international keyboard layouts. You can copy and modify these to meet your own requirements. See . Using the Soft Keyboard Display the soft keyboard. In the guest VM window, select Input, Keyboard, Soft Keyboard. Select the required keyboard layout. The name of the current keyboard layout is displayed in the task bar of the soft keyboard window. This is the previous keyboard layout that was used. Click the Layout List icon in the task bar of the soft keyboard window. The Layout List window is displayed. Select the required keyboard layout from the entries in the Layout List window. The keyboard display graphic is updated to show the available input keys. Use the soft keyboard to enter keyboard characters on the guest. Modifier keys such as Shift, Ctrl, and Alt are available on the soft keyboard. Click once to select the modifier key, click twice to lock the modifier key. The Reset the Keyboard and Release All Keys icon can be used to release all pressed modifier keys, both on the host and the guest. To change the look of the soft keyboard, click the Settings icon in the task bar. You can change colors used in the keyboard graphic, and can hide or show sections of the keyboard, such as the NumPad or multimedia keys. Creating a Custom Keyboard Layout You can use one of the supplied default keyboard layouts as the starting point to create a custom keyboard layout. To permananently save a custom keyboard layout, you must save it to file. Otherwise, any changes you make are discarded when you close down the Soft Keyboard window. Custom keyboard layouts that you save are stored as an XML file on the host, in the keyboardLayouts folder in the global configuration data directory. For example, in $HOME/.config/VirtualBox/keyboardLayouts on a Linux host. Display the Layout List. Click the Layout List icon in the task bar of the soft keyboard window. Make a copy of an existing keyboard layout. Highlight the required layout and click the Copy the Selected Layout icon. A new layout entry with a name suffix of -Copy is created. Edit the new keyboard layout. Highlight the new layout in the Layout List and click the Edit the Selected Layout icon. Enter a new name for the layout. Edit keys in the new layout. Click on the key that you want to edit and enter new key captions in the Captions fields. The keyboard graphic is updated with the new captions. (Optional) Save the layout to file. This means that your custom keyboard layout will be available for future use. Highlight the new layout in the Layout List and click the Save the Selected Layout into File icon. Any custom layouts that you create can later be removed from the Layout List, by highlighting and clicking the Delete the Selected Layout icon.