Oracle® VM VirtualBox®

User Manual

Oracle Corporation

Table of Contents

1. First Steps
1.1. Why is Virtualization Useful?
1.2. Some Terminology
1.3. Features Overview
1.4. Supported Host Operating Systems
1.4.1. Host CPU Requirements
1.5. Installing Oracle VM VirtualBox and Extension Packs
1.6. Starting Oracle VM VirtualBox
1.7. Creating Your First Virtual Machine
1.8. Running Your Virtual Machine
1.8.1. Starting a New VM for the First Time
1.8.2. Capturing and Releasing Keyboard and Mouse
1.8.3. Typing Special Characters
1.8.4. Changing Removable Media
1.8.5. Resizing the Machine's Window
1.8.6. Saving the State of the Machine
1.9. Using VM Groups
1.10. Snapshots
1.10.1. Taking, Restoring, and Deleting Snapshots
1.10.2. Snapshot Contents
1.11. Virtual Machine Configuration
1.12. Removing and Moving Virtual Machines
1.13. Cloning Virtual Machines
1.14. Importing and Exporting Virtual Machines
1.14.1. About the OVF Format
1.14.2. Importing an Appliance in OVF Format
1.14.3. Exporting an Appliance in OVF Format
1.15. Integrating with Oracle Cloud Infrastructure
1.15.1. Preparing for Oracle Cloud Infrastructure Integration
1.15.2. Creating an API Signing Key Pair
1.15.3. Uploading the Public Key to Oracle Cloud Infrastructure
1.15.4. Creating a Cloud Profile
1.15.5. Using the Cloud Profile Manager
1.15.6. Using Oracle VM VirtualBox With Oracle Cloud Infrastructure
1.15.7. Exporting an Appliance to Oracle Cloud Infrastructure
1.15.8. Importing an Instance from Oracle Cloud Infrastructure
1.15.9. Creating New Cloud Instances from a Custom Image
1.15.10. Using VBoxManage Commands With Oracle Cloud Infrastructure
1.16. Global Settings
1.17. Alternative Front-Ends
1.18. Soft Keyboard
1.18.1. Using the Soft Keyboard
1.18.2. Creating a Custom Keyboard Layout
2. Installation Details
2.1. Installing on Windows Hosts
2.1.1. Prerequisites
2.1.2. Performing the Installation
2.1.3. Uninstallation
2.1.4. Unattended Installation
2.1.5. Public Properties
2.2. Installing on Mac OS X Hosts
2.2.1. Performing the Installation
2.2.2. Uninstallation
2.2.3. Unattended Installation
2.3. Installing on Linux Hosts
2.3.1. Prerequisites
2.3.2. The Oracle VM VirtualBox Kernel Modules
2.3.3. Performing the Installation
2.3.4. The vboxusers Group
2.3.5. Starting Oracle VM VirtualBox on Linux
2.4. Installing on Oracle Solaris Hosts
2.4.1. Performing the Installation
2.4.2. The vboxuser Group
2.4.3. Starting Oracle VM VirtualBox on Oracle Solaris
2.4.4. Uninstallation
2.4.5. Unattended Installation
2.4.6. Configuring a Zone for Running Oracle VM VirtualBox
3. Configuring Virtual Machines
3.1. Supported Guest Operating Systems
3.1.1. Mac OS X Guests
3.1.2. 64-bit Guests
3.2. Unattended Guest Installation
3.2.1. An Example of Unattended Guest Installation
3.3. Emulated Hardware
3.4. General Settings
3.4.1. Basic Tab
3.4.2. Advanced Tab
3.4.3. Description Tab
3.4.4. Disk Encryption Tab
3.5. System Settings
3.5.1. Motherboard Tab
3.5.2. Processor Tab
3.5.3. Acceleration Tab
3.6. Display Settings
3.6.1. Screen Tab
3.6.2. Remote Display Tab
3.6.3. Recording Tab
3.7. Storage Settings
3.8. Audio Settings
3.9. Network Settings
3.10. Serial Ports
3.11. USB Support
3.11.1. USB Settings
3.11.2. Implementation Notes for Windows and Linux Hosts
3.12. Shared Folders
3.13. User Interface
3.14. Alternative Firmware (EFI)
3.14.1. Video Modes in EFI
3.14.2. Specifying Boot Arguments
4. Guest Additions
4.1. Introduction to Guest Additions
4.2. Installing and Maintaining Guest Additions
4.2.1. Guest Additions for Windows
4.2.2. Guest Additions for Linux
4.2.3. Guest Additions for Oracle Solaris
4.2.4. Guest Additions for OS/2
4.3. Shared Folders
4.3.1. Manual Mounting
4.3.2. Automatic Mounting
4.4. Drag and Drop
4.4.1. Supported Formats
4.4.2. Known Limitations
4.5. Hardware-Accelerated Graphics
4.5.1. Hardware 3D Acceleration (OpenGL and Direct3D 8/9)
4.5.2. Hardware 2D Video Acceleration for Windows Guests
4.6. Seamless Windows
4.7. Guest Properties
4.7.1. Using Guest Properties to Wait on VM Events
4.8. Guest Control File Manager
4.8.1. Using the Guest Control File Manager
4.9. Guest Control of Applications
4.10. Memory Overcommitment
4.10.1. Memory Ballooning
4.10.2. Page Fusion
4.11. Controlling Virtual Monitor Topology
4.11.1. X11/Wayland Desktop Environments
5. Virtual Storage
5.1. Hard Disk Controllers
5.2. Disk Image Files (VDI, VMDK, VHD, HDD)
5.3. The Virtual Media Manager
5.4. Special Image Write Modes
5.5. Differencing Images
5.6. Cloning Disk Images
5.7. Host Input/Output Caching
5.8. Limiting Bandwidth for Disk Images
5.9. CD/DVD Support
5.10. iSCSI Servers
5.11. vboximg-mount: A Utility for FUSE Mounting a Virtual Disk Image
5.11.1. Viewing Detailed Information About a Virtual Disk Image
5.11.2. Mounting a Virtual Disk Image
6. Virtual Networking
6.1. Virtual Networking Hardware
6.2. Introduction to Networking Modes
6.3. Network Address Translation (NAT)
6.3.1. Configuring Port Forwarding with NAT
6.3.2. PXE Booting with NAT
6.3.3. NAT Limitations
6.4. Network Address Translation Service
6.5. Bridged Networking
6.6. Internal Networking
6.7. Host-Only Networking
6.8. UDP Tunnel Networking
6.9. VDE Networking
6.10. Limiting Bandwidth for Network Input/Output
6.11. Improving Network Performance
7. Remote Virtual Machines
7.1. Remote Display (VRDP Support)
7.1.1. Common Third-Party RDP Viewers
7.1.2. VBoxHeadless, the Remote Desktop Server
7.1.3. Step by Step: Creating a Virtual Machine on a Headless Server
7.1.4. Remote USB
7.1.5. RDP Authentication
7.1.6. RDP Encryption
7.1.7. Multiple Connections to the VRDP Server
7.1.8. Multiple Remote Monitors
7.1.9. VRDP Video Redirection
7.1.10. VRDP Customization
7.2. Teleporting
7.3. VBoxHeadless
8. VBoxManage
8.1. Introduction
8.2. Commands Overview
8.3. General Options
8.4. VBoxManage list
8.5. VBoxManage showvminfo
8.6. VBoxManage registervm/unregistervm
8.7. VBoxManage createvm
8.8. VBoxManage modifyvm
8.8.1. General Settings
8.8.2. Networking Settings
8.8.3. Miscellaneous Settings
8.8.4. Recording Settings
8.8.5. Remote Machine Settings
8.8.6. Teleporting Settings
8.8.7. Debugging Settings
8.8.8. USB Card Reader Settings
8.8.9. Autostarting VMs During Host System Boot
8.9. VBoxManage movevm
8.10. VBoxManage import
8.10.1. Import from OVF
8.10.2. Import from Oracle Cloud Infrastructure
8.11. VBoxManage export
8.11.1. Export to OVF
8.11.2. Export to Oracle Cloud Infrastructure
8.12. VBoxManage startvm
8.13. VBoxManage controlvm
8.14. VBoxManage discardstate
8.15. VBoxManage adoptstate
8.16. VBoxManage closemedium
8.17. VBoxManage storageattach
8.18. VBoxManage storagectl
8.19. VBoxManage bandwidthctl
8.20. VBoxManage showmediuminfo
8.21. VBoxManage createmedium
8.22. VBoxManage modifymedium
8.23. VBoxManage clonemedium
8.24. VBoxManage mediumproperty
8.25. VBoxManage encryptmedium
8.26. VBoxManage checkmediumpwd
8.27. VBoxManage convertfromraw
8.28. VBoxManage getextradata/setextradata
8.29. VBoxManage setproperty
8.30. VBoxManage usbfilter add/modify/remove
8.31. VBoxManage guestproperty
8.32. VBoxManage guestcontrol
8.33. VBoxManage metrics
8.34. VBoxManage natnetwork
8.35. VBoxManage hostonlyif
8.36. VBoxManage usbdevsource
8.37. VBoxManage unattended
8.38. VBoxManage snapshot
8.39. VBoxManage clonevm
8.40. VBoxManage sharedfolder
8.41. VBoxManage extpack
8.42. VBoxManage dhcpserver
8.43. VBoxManage debugvm
8.44. VBoxManage cloudprofile
8.45. VBoxManage cloud
8.46. vboximg-mount
9. Advanced Topics
9.1. Automated Guest Logins
9.1.1. Automated Windows Guest Logins
9.1.2. Automated Linux and UNIX Guest Logins
9.2. Advanced Configuration for Windows Guests
9.2.1. Automated Windows System Preparation
9.3. Advanced Configuration for Linux and Oracle Solaris Guests
9.3.1. Manual Setup of Selected Guest Services on Linux
9.3.2. Guest Graphics and Mouse Driver Setup in Depth
9.4. CPU Hot-Plugging
9.5. Webcam Passthrough
9.5.1. Using a Host Webcam in the Guest
9.5.2. Windows Hosts
9.5.3. Mac OS X Hosts
9.5.4. Linux and Oracle Solaris Hosts
9.6. Advanced Display Configuration
9.6.1. Custom VESA Resolutions
9.6.2. Configuring the Maximum Resolution of Guests When Using the Graphical Frontend
9.7. Advanced Storage Configuration
9.7.1. Using a Raw Host Hard Disk From a Guest
9.7.2. Configuring the Hard Disk Vendor Product Data (VPD)
9.7.3. Access iSCSI Targets Using Internal Networking
9.8. Fine Tuning the Oracle VM VirtualBox NAT Engine
9.8.1. Configuring the Address of a NAT Network Interface
9.8.2. Configuring the Boot Server (Next Server) of a NAT Network Interface
9.8.3. Tuning TCP/IP Buffers for NAT
9.8.4. Binding NAT Sockets to a Specific Interface
9.8.5. Enabling DNS Proxy in NAT Mode
9.8.6. Using the Host's Resolver as a DNS Proxy in NAT Mode
9.8.7. Configuring Aliasing of the NAT Engine
9.9. Configuring the BIOS DMI Information
9.10. Configuring Custom ACPI Tables
9.11. Fine Tuning Timers and Time Synchronization
9.11.1. Configuring the Guest Time Stamp Counter (TSC) to Reflect Guest Execution
9.11.2. Accelerate or Slow Down the Guest Clock
9.11.3. Tuning the Guest Additions Time Synchronization Parameters
9.11.4. Disabling the Guest Additions Time Synchronization
9.12. Installing the Alternate Bridged Networking Driver on Oracle Solaris 11 Hosts
9.13. Oracle VM VirtualBox VNIC Templates for VLANs on Oracle Solaris 11 Hosts
9.14. Configuring Multiple Host-Only Network Interfaces on Oracle Solaris Hosts
9.15. Configuring the Oracle VM VirtualBox CoreDumper on Oracle Solaris Hosts
9.16. Oracle VM VirtualBox and Oracle Solaris Kernel Zones
9.17. Locking Down the Oracle VM VirtualBox GUI
9.17.1. Customizing the VirtualBox Manager
9.17.2. VM Selector Customization
9.17.3. Configure VM Selector Menu Entries
9.17.4. Configure VM Window Menu Entries
9.17.5. Configure VM Window Status Bar Entries
9.17.6. Configure VM Window Visual Modes
9.17.7. Host Key Customization
9.17.8. Action when Terminating the VM
9.17.9. Default Action when Terminating the VM
9.17.10. Action for Handling a Guru Meditation
9.17.11. Configuring Automatic Mouse Capturing
9.17.12. Requesting Legacy Full-Screen Mode
9.17.13. Removing Certain Modes of Networking From the GUI
9.18. Starting the Oracle VM VirtualBox Web Service Automatically
9.18.1. Linux: Starting the Web Service With init
9.18.2. Oracle Solaris: Starting the Web Service With SMF
9.18.3. Mac OS X: Starting the Web Service With launchd
9.19. Oracle VM VirtualBox Watchdog
9.19.1. Memory Ballooning Control
9.19.2. Host Isolation Detection
9.19.3. More Information
9.19.4. Linux: Starting the Watchdog Service With init
9.19.5. Oracle Solaris: Starting the Watchdog Service With SMF
9.20. Other Extension Packs
9.21. Starting Virtual Machines During System Boot
9.21.1. Linux: Starting the Autostart Service With init
9.21.2. Oracle Solaris: Starting the Autostart Service With SMF
9.21.3. Mac OS X: Starting the Autostart Service With launchd
9.21.4. Windows: Starting the Autostart Service
9.22. Oracle VM VirtualBox Expert Storage Management
9.23. Handling of Host Power Management Events
9.24. Passing Through SSE4.1/SSE4.2 Instructions
9.25. Support for Keyboard Indicator Synchronization
9.26. Capturing USB Traffic for Selected Devices
9.27. Configuring the Heartbeat Service
9.28. Encryption of Disk Images
9.28.1. Limitations of Disk Encryption
9.28.2. Encrypting Disk Images
9.28.3. Starting a VM with Encrypted Images
9.28.4. Decrypting Encrypted Images
9.29. Paravirtualized Debugging
9.29.1. Hyper-V Debug Options
9.30. PC Speaker Passthrough
9.31. Accessing USB devices Exposed Over the Network with USB/IP
9.31.1. Setting up USB/IP Support on a Linux System
9.31.2. Security Considerations
9.32. Using Hyper-V with Oracle VM VirtualBox
9.33. Nested Virtualization
9.34. VISO file format / RTIsoMaker
10. Technical Background
10.1. Where Oracle VM VirtualBox Stores its Files
10.1.1. The Machine Folder
10.1.2. Global Settings
10.1.3. Summary of Configuration Data Locations
10.1.4. Oracle VM VirtualBox XML Files
10.2. Oracle VM VirtualBox Executables and Components
10.3. Hardware Virtualization
10.4. Details About Hardware Virtualization
10.5. Paravirtualization Providers
10.6. Nested Paging and VPIDs
11. Oracle VM VirtualBox Programming Interfaces
12. Troubleshooting
12.1. Procedures and Tools
12.1.1. Categorizing and Isolating Problems
12.1.2. Collecting Debugging Information
12.1.3. Using the VBoxBugReport Command to Collect Debug Information Automatically
12.1.4. The Built-In VM Debugger
12.1.5. VM Core Format
12.2. General Troubleshooting
12.2.1. Guest Shows IDE/SATA Errors for File-Based Images on Slow Host File System
12.2.2. Responding to Guest IDE/SATA Flush Requests
12.2.3. Performance Variation with Frequency Boosting
12.2.4. Frequency Scaling Effect on CPU Usage
12.2.5. Inaccurate Windows CPU Usage Reporting
12.2.6. Poor Performance Caused by Host Power Management
12.2.7. GUI: 2D Video Acceleration Option is Grayed Out
12.3. Windows Guests
12.3.1. No USB 3.0 Support in Windows 7 Guests
12.3.2. Windows Bluescreens After Changing VM Configuration
12.3.3. Windows 0x101 Bluescreens with SMP Enabled (IPI Timeout)
12.3.4. Windows 2000 Installation Failures
12.3.5. How to Record Bluescreen Information from Windows Guests
12.3.6. No Networking in Windows Vista Guests
12.3.7. Windows Guests may Cause a High CPU Load
12.3.8. Long Delays When Accessing Shared Folders
12.3.9. USB Tablet Coordinates Wrong in Windows 98 Guests
12.3.10. Windows Guests are Removed From an Active Directory Domain After Restoring a Snapshot
12.3.11. Windows 3.x Limited to 64 MB RAM
12.4. Linux and X11 Guests
12.4.1. Linux Guests May Cause a High CPU load
12.4.2. Buggy Linux 2.6 Kernel Versions
12.4.3. Shared Clipboard, Auto-Resizing, and Seamless Desktop in X11 Guests
12.5. Oracle Solaris Guests
12.5.1. Certain Oracle Solaris 10 Releases May Take a Long Time to Boot with SMP
12.6. Windows Hosts
12.6.1. VBoxSVC Out-of-Process COM Server Issues
12.6.2. CD and DVD Changes Not Recognized
12.6.3. Sluggish Response When Using Microsoft RDP Client
12.6.4. Running an iSCSI Initiator and Target on a Single System
12.6.5. Bridged Networking Adapters Missing
12.6.6. Host-Only Networking Adapters Cannot be Created
12.7. Linux Hosts
12.7.1. Linux Kernel Module Refuses to Load
12.7.2. Linux Host CD/DVD or Floppy Disk Drive Not Found
12.7.3. Strange Guest IDE Error Messages When Writing to CD or DVD
12.7.4. VBoxSVC IPC Issues
12.7.5. USB Not Working
12.7.6. PAX/grsec Kernels
12.7.7. Linux Kernel vmalloc Pool Exhausted
12.8. Oracle Solaris Hosts
12.8.1. Cannot Start VM, Not Enough Contiguous Memory
13. Security Guide
13.1. General Security Principles
13.2. Secure Installation and Configuration
13.2.1. Installation Overview
13.2.2. Post Installation Configuration
13.3. Security Features
13.3.1. The Security Model
13.3.2. Secure Configuration of Virtual Machines
13.3.3. Configuring and Using Authentication
13.3.4. Potentially Insecure Operations
13.3.5. Encryption
13.4. Security Recommendations
13.4.1. CVE-2018-3646
13.4.2. CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091
14. Known Limitations
14.1. Experimental Features
14.2. Known Issues
15. Change Log
15.1. Version 6.1.18 (2021-01-19)
15.2. Version 6.1.16 (2020-10-16)
15.3. Version 6.1.14 (2020-09-04)
15.4. Version 6.1.12 (2020-07-14)
15.5. Version 6.1.10 (2020-06-05)
15.6. Version 6.1.8 (2020-05-15)
15.7. Version 6.1.6 (2020-04-14)
15.8. Version 6.1.4 (2020-02-19)
15.9. Version 6.1.2 (2020-01-14)
15.10. Version 6.1.0 (2019-12-10)
15.11. Change Logs for Legacy Versions
A. Third-Party Materials and Licenses
A.1. Third-Party Materials
A.2. Third-Party Licenses
A.2.1. GNU General Public License (GPL)
A.2.2. GNU Lesser General Public License (LGPL)
A.2.3. Mozilla Public License (MPL)
A.2.4. MIT License
A.2.5. X Consortium License (X11)
A.2.6. zlib License
A.2.7. OpenSSL License
A.2.8. Slirp License
A.2.9. liblzf License
A.2.10. libpng License
A.2.11. lwIP License
A.2.12. libxml License
A.2.13. libxslt Licenses
A.2.14. gSOAP Public License Version 1.3a
A.2.15. Chromium Licenses
A.2.16. curl License
A.2.17. libgd License
A.2.18. BSD License from Intel
A.2.19. libjpeg License
A.2.20. x86 SIMD Extension for IJG JPEG Library License
A.2.21. FreeBSD License
A.2.22. NetBSD License
A.2.23. PCRE License
A.2.24. libffi License
A.2.25. FLTK License
A.2.26. Expat License
A.2.27. Fontconfig License
A.2.28. Freetype License
A.2.29. VPX License
A.2.30. Opus License
A.2.31. FUSE for macOS License
B. Oracle VM VirtualBox Privacy Information

List of Figures

1.1. Windows Server 2016 Virtual Machine, Displayed on a Mac OS X Host
1.2. VirtualBox Manager Window, After Initial Startup
1.3. VirtualBox Manager Window, After Creating Virtual Machines
1.4. Creating a New Virtual Machine: Name and Operating System
1.5. Creating a New Virtual Machine: Hard Disk
1.6. Creating a New Virtual Machine: File Location and Size
1.7. Host Key Setting on the Virtual Machine Task Bar
1.8. Closing Down a Virtual Machine
1.9. Groups of Virtual Machines
1.10. Snapshots List For a Virtual Machine
1.11. The Clone Virtual Machine Wizard
1.12. Appliance Settings Screen for Import Appliance
1.13. Upload Public Key Dialog in Oracle Cloud Infrastructure Console
1.14. The Cloud Profile Manager
1.15. Appliance Settings Screen, Showing Cloud Profile and Machine Creation Settings
1.16. Import Cloud Instance Screen, Showing Profile Settings and VM Settings
1.17. New Cloud VM Wizard, Showing List of Custom Images
1.18. Soft Keyboard in a Guest Virtual Machine
3.1. Storage Settings for a Virtual Machine
4.1. Drag and Drop Menu Options
4.2. Seamless Windows on a Host Desktop
4.3. Guest Control File Manager
5.1. The Virtual Media Manager
5.2. Differencing Images, Shown in Virtual Media Manager

List of Tables

3.1. Guest Operating Systems With Full Support
3.2. Legacy Guest Operating Systems With Limited Support
6.1. Overview of Networking Modes
9.1. Host Key Customization
9.2. Web Service Configuration Parameters
9.3. Oracle VM VirtualBox Watchdog Configuration Parameters
9.4. PC Speaker Configuration Options
10.1. Configuration File Locations