Oracle VM VirtualBox R User Manual Version 4.1.2 c 2004-2011 Oracle Corporation http://www.virtualbox.org Contents 1 First steps 9 1.1 Why is virtualization useful? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 Some terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Features overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 Supported host operating systems . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5 Installing VirtualBox and extension packs . . . . . . . . . . . . . . . . . . . . . . 14 1.6 Starting VirtualBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.7 Creating your first virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.8 Running your virtual machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.8.1 Starting a new VM for the first time . . . . . . . . . . . . . . . . . . . . 19 1.8.2 Capturing and releasing keyboard and mouse . . . . . . . . . . . . . . 19 1.8.3 Typing special characters . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.8.4 Changing removable media . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.8.5 Resizing the machine’s window . . . . . . . . . . . . . . . . . . . . . . 22 1.8.6 Saving the state of the machine . . . . . . . . . . . . . . . . . . . . . . 22 1.9 Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.9.1 Taking, restoring and deleting snapshots . . . . . . . . . . . . . . . . . 23 1.9.2 Snapshot contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.10 Virtual machine configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.11 Removing virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.12 Cloning virtual machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.13 Importing and exporting virtual machines . . . . . . . . . . . . . . . . . . . . . 27 1.14 Alternative front-ends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2 Installation details 31 2.1 Installing on Windows hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.2 Performing the installation . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.3 Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.1.4 Unattended installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2 Installing on Mac OS X hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.1 Performing the installation . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.2 Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2.3 Unattended installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3 Installing on Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.2 The VirtualBox kernel module . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.3 Performing the installation . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3.4 The vboxusers group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.3.5 Starting VirtualBox on Linux . . . . . . . . . . . . . . . . . . . . . . . . 38 2.4 Installing on Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.1 Performing the installation . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.2 The vboxuser group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.3 Starting VirtualBox on Solaris . . . . . . . . . . . . . . . . . . . . . . . 40 2.4.4 Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.4.5 Unattended installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2 Contents 2.4.6 Configuring a zone for running VirtualBox . . . . . . . . . . . . . . . . 40 3 Configuring virtual machines 41 3.1 Supported guest operating systems . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.1.1 Mac OS X Server guests . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.1.2 64-bit guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2 Emulated hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3 General settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3.1 “Basic” tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3.2 “Advanced” tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3.3 “Description” tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4 System settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4.1 “Motherboard” tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4.2 “Processor” tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4.3 “Acceleration” tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5 Display settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.6 Storage settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.7 Audio settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.8 Network settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.9 Serial ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.10 USB support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.10.1 USB settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.10.2 Implementation notes for Windows and Linux hosts . . . . . . . . . . . 53 3.11 Shared folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.12 Alternative firmware (EFI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.12.1 Video modes in EFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4 Guest Additions 55 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 Installing and Maintaining Guest Additions . . . . . . . . . . . . . . . . . . . . . 56 4.2.1 Guest Additions for Windows . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 Guest Additions for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.3 Guest Additions for Solaris . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.4 Guest Additions for OS/2 . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3 Shared folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3.1 Manual mounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3.2 Automatic mounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.4 Hardware-accelerated graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.4.1 Hardware 3D acceleration (OpenGL and Direct3D 8/9) . . . . . . . . . 66 4.4.2 Hardware 2D video acceleration for Windows guests . . . . . . . . . . . 68 4.5 Seamless windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.6 Guest properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.7 Guest control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.8 Memory overcommitment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.8.1 Memory ballooning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.8.2 Page Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5 Virtual storage 74 5.1 Hard disk controllers: IDE, SATA (AHCI), SCSI, SAS . . . . . . . . . . . . . . . . 74 5.2 Disk image files (VDI, VMDK, VHD, HDD) . . . . . . . . . . . . . . . . . . . . . 76 5.3 The Virtual Media Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.4 Special image write modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.5 Differencing images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.6 Cloning disk images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3 Contents 5.7 Host I/O caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.8 Limiting bandwidth for disk images . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.9 CD/DVD support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.10 iSCSI servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6 Virtual networking 86 6.1 Virtual networking hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.2 Introduction to networking modes . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.3 Network Address Translation (NAT) . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.3.1 Configuring port forwarding with NAT . . . . . . . . . . . . . . . . . . 88 6.3.2 PXE booting with NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.3.3 NAT limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.4 Bridged networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.5 Internal networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.6 Host-only networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.7 UDP Tunnel networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.8 VDE networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7 Remote virtual machines 94 7.1 Remote display (VRDP support) . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.1.1 Common third-party RDP viewers . . . . . . . . . . . . . . . . . . . . . 94 7.1.2 VBoxHeadless, the remote desktop server . . . . . . . . . . . . . . . . . 95 7.1.3 Step by step: creating a virtual machine on a headless server . . . . . . 96 7.1.4 Remote USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.1.5 RDP authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.1.6 RDP encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 7.1.7 Multiple connections to the VRDP server . . . . . . . . . . . . . . . . . 100 7.1.8 Multiple remote monitors . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.1.9 VRDP video redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.1.10 VRDP customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.2 Teleporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 8 VBoxManage 103 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.2 Commands overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8.3 VBoxManage list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 8.4 VBoxManage showvminfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.5 VBoxManage registervm / unregistervm . . . . . . . . . . . . . . . . . . . . . . 112 8.6 VBoxManage createvm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8.7 VBoxManage modifyvm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 8.7.1 General settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 8.7.2 Networking settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.7.3 Serial port, audio, clipboard, remote desktop and USB settings . . . . . 117 8.7.4 Remote machine settings . . . . . . . . . . . . . . . . . . . . . . . . . . 117 8.7.5 Teleporting settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 8.8 VBoxManage clonevm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.9 VBoxManage import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.10 VBoxManage export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.11 VBoxManage startvm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 8.12 VBoxManage controlvm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 8.13 VBoxManage discardstate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 8.14 VBoxManage adoptstate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 8.15 VBoxManage snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 8.16 VBoxManage closemedium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4 Contents 8.17 VBoxManage storageattach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 8.18 VBoxManage storagectl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8.19 VBoxManage bandwidthctl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8.20 VBoxManage showhdinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8.21 VBoxManage createhd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8.22 VBoxManage modifyhd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8.23 VBoxManage clonehd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 8.24 VBoxManage convertfromraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 8.25 VBoxManage getextradata/setextradata . . . . . . . . . . . . . . . . . . . . . . . 130 8.26 VBoxManage setproperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 8.27 VBoxManage usbfilter add/modify/remove . . . . . . . . . . . . . . . . . . . . . 130 8.28 VBoxManage sharedfolder add/remove . . . . . . . . . . . . . . . . . . . . . . . 131 8.29 VBoxManage guestproperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 8.30 VBoxManage guestcontrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 8.31 VBoxManage debugvm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 8.32 VBoxManage metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 8.33 VBoxManage hostonlyif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8.34 VBoxManage dhcpserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.35 VBoxManage extpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9 Advanced topics 140 9.1 VBoxSDL, the simplified VM displayer . . . . . . . . . . . . . . . . . . . . . . . . 140 9.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 9.1.2 Secure labeling with VBoxSDL . . . . . . . . . . . . . . . . . . . . . . . 140 9.1.3 Releasing modifiers with VBoxSDL on Linux . . . . . . . . . . . . . . . 141 9.2 Automated guest logons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 9.2.1 Automated Windows guest logons . . . . . . . . . . . . . . . . . . . . . 142 9.2.2 Automated Linux/Unix guest logons . . . . . . . . . . . . . . . . . . . . 143 9.3 Advanced configuration for Windows guests . . . . . . . . . . . . . . . . . . . . 144 9.3.1 Automated Windows system preparation . . . . . . . . . . . . . . . . . 144 9.4 Advanced configuration for Linux and Solaris guests . . . . . . . . . . . . . . . . 145 9.4.1 Manual setup of selected guest services on Linux . . . . . . . . . . . . . 145 9.4.2 Guest graphics and mouse driver setup in depth . . . . . . . . . . . . . 145 9.5 CPU hot-plugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 9.6 PCI passthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 9.7 Advanced display configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 9.7.1 Custom VESA resolutions . . . . . . . . . . . . . . . . . . . . . . . . . . 148 9.7.2 Configuring the maximum resolution of guests when using the graphical frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.8 Advanced storage configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.8.1 Using a raw host hard disk from a guest . . . . . . . . . . . . . . . . . . 149 9.8.2 Configuring the hard disk vendor product data (VPD) . . . . . . . . . . 151 9.8.3 Access iSCSI targets via Internal Networking . . . . . . . . . . . . . . . 152 9.9 Launching more than 120 VMs on Solaris hosts . . . . . . . . . . . . . . . . . . 152 9.10 Legacy commands for using serial ports . . . . . . . . . . . . . . . . . . . . . . . 153 9.11 Fine-tuning the VirtualBox NAT engine . . . . . . . . . . . . . . . . . . . . . . . 153 9.11.1 Configuring the address of a NAT network interface . . . . . . . . . . . 153 9.11.2 Configuring the boot server (next server) of a NAT network interface . . 154 9.11.3 Tuning TCP/IP buffers for NAT . . . . . . . . . . . . . . . . . . . . . . . 154 9.11.4 Binding NAT sockets to a specific interface . . . . . . . . . . . . . . . . 154 9.11.5 Enabling DNS proxy in NAT mode . . . . . . . . . . . . . . . . . . . . . 154 9.11.6 Using the host’s resolver as a DNS proxy in NAT mode . . . . . . . . . . 154 9.11.7 Configuring aliasing of the NAT engine . . . . . . . . . . . . . . . . . . 155 9.12 Configuring the BIOS DMI information . . . . . . . . . . . . . . . . . . . . . . . 155 5 Contents 9.13 Fine-tuning timers and time synchronization . . . . . . . . . . . . . . . . . . . . 156 9.13.1 Configuring the guest time stamp counter (TSC) to reflect guest execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 9.13.2 Accelerate or slow down the guest clock . . . . . . . . . . . . . . . . . . 156 9.13.3 Tuning the Guest Additions time synchronization parameters . . . . . . 157 9.14 Installing the alternate bridged networking driver on Solaris 11 hosts . . . . . . 157 9.15 VirtualBox VNIC templates for VLANs on Solaris 11 hosts . . . . . . . . . . . . . 158 9.16 Configuring multiple host-only network interfaces on Solaris hosts . . . . . . . . 158 9.17 Configuring the VirtualBox CoreDumper on Solaris hosts . . . . . . . . . . . . . 159 9.18 Locking down the VirtualBox manager GUI . . . . . . . . . . . . . . . . . . . . . 159 9.19 Starting the VirtualBox web service automatically . . . . . . . . . . . . . . . . . 160 9.20 Memory Ballooning Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 10 Technical background 162 10.1 Where VirtualBox stores its files . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 10.1.1 Machines created by VirtualBox version 4.0 or later . . . . . . . . . . . 162 10.1.2 Machines created by VirtualBox versions before 4.0 . . . . . . . . . . . 163 10.1.3 Global configuration data . . . . . . . . . . . . . . . . . . . . . . . . . . 163 10.1.4 Summary of 4.0 configuration changes . . . . . . . . . . . . . . . . . . 164 10.1.5 VirtualBox XML files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 10.2 VirtualBox executables and components . . . . . . . . . . . . . . . . . . . . . . 164 10.3 Hardware vs. software virtualization . . . . . . . . . . . . . . . . . . . . . . . . 166 10.4 Details about software virtualization . . . . . . . . . . . . . . . . . . . . . . . . 167 10.5 Details about hardware virtualization . . . . . . . . . . . . . . . . . . . . . . . . 169 10.6 Nested paging and VPIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 11 VirtualBox programming interfaces 172 12 Troubleshooting 173 12.1 Procedures and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 12.1.1 Categorizing and isolating problems . . . . . . . . . . . . . . . . . . . . 173 12.1.2 Collecting debugging information . . . . . . . . . . . . . . . . . . . . . 174 12.1.3 The built-in VM debugger . . . . . . . . . . . . . . . . . . . . . . . . . . 174 12.1.4 VM core format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 12.2 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 12.2.1 Guest shows IDE/SATA errors for file-based images on slow host file system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 12.2.2 Responding to guest IDE/SATA flush requests . . . . . . . . . . . . . . . 178 12.2.3 Poor performance caused by host power management . . . . . . . . . . 178 12.2.4 GUI: 2D Video Acceleration option is grayed out . . . . . . . . . . . . . 178 12.3 Windows guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 12.3.1 Windows bluescreens after changing VM configuration . . . . . . . . . 179 12.3.2 Windows 0x101 bluescreens with SMP enabled (IPI timeout) . . . . . . 179 12.3.3 Windows 2000 installation failures . . . . . . . . . . . . . . . . . . . . 179 12.3.4 How to record bluescreen information from Windows guests . . . . . . 180 12.3.5 No networking in Windows Vista guests . . . . . . . . . . . . . . . . . . 180 12.3.6 Windows guests may cause a high CPU load . . . . . . . . . . . . . . . 180 12.3.7 Long delays when accessing shared folders . . . . . . . . . . . . . . . . 180 12.3.8 USB tablet coordinates wrong in Windows 98 guests . . . . . . . . . . . 180 12.3.9 Windows guests are removed from an Active Directory domain after restoring a snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . 181 12.4 Linux and X11 guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 12.4.1 Linux guests may cause a high CPU load . . . . . . . . . . . . . . . . . 181 12.4.2 AMD Barcelona CPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6 Contents 12.4.3 Buggy Linux 2.6 kernel versions . . . . . . . . . . . . . . . . . . . . . . 181 12.4.4 Shared clipboard, auto-resizing and seamless desktop in X11 guests . . 181 12.5 Windows hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 12.5.1 VBoxSVC out-of-process COM server issues . . . . . . . . . . . . . . . . 182 12.5.2 CD/DVD changes not recognized . . . . . . . . . . . . . . . . . . . . . . 182 12.5.3 Sluggish response when using Microsoft RDP client . . . . . . . . . . . 182 12.5.4 Running an iSCSI initiator and target on a single system . . . . . . . . . 183 12.5.5 Bridged networking adapters missing . . . . . . . . . . . . . . . . . . . 183 12.5.6 Host-only networking adapters cannot be created . . . . . . . . . . . . 184 12.6 Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 12.6.1 Linux kernel module refuses to load . . . . . . . . . . . . . . . . . . . . 184 12.6.2 Linux host CD/DVD drive not found . . . . . . . . . . . . . . . . . . . . 184 12.6.3 Linux host CD/DVD drive not found (older distributions) . . . . . . . . 184 12.6.4 Linux host floppy not found . . . . . . . . . . . . . . . . . . . . . . . . 184 12.6.5 Strange guest IDE error messages when writing to CD/DVD . . . . . . . 185 12.6.6 VBoxSVC IPC issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 12.6.7 USB not working . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 12.6.8 PAX/grsec kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 12.6.9 Linux kernel vmalloc pool exhausted . . . . . . . . . . . . . . . . . . . 186 12.7 Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 12.7.1 Cannot start VM, not enough contiguous memory . . . . . . . . . . . . 186 12.7.2 VM aborts with out of memory errors on Solaris 10 hosts . . . . . . . . 187 13 Security guide 188 13.1 Potentially insecure operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 13.2 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 13.3 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 14 Known limitations 190 15 Change log 192 15.1 Version 4.1.2 (2011-08-15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 15.2 Version 4.1.0 (2011-07-19) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 15.3 Version 4.0.12 (2011-07-15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 15.4 Version 4.0.10 (2011-06-22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 15.5 Version 4.0.8 (2011-05-16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 15.6 Version 4.0.6 (2011-04-21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 15.7 Version 4.0.4 (2011-02-17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 15.8 Version 4.0.2 (2011-01-18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 15.9 Version 4.0.0 (2010-12-22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 15.10 Version 3.2.12 (2010-11-30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 15.11 Version 3.2.10 (2010-10-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 15.12 Version 3.2.8 (2010-08-05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 15.13 Version 3.2.6 (2010-06-25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 15.14 Version 3.2.4 (2010-06-07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 15.15 Version 3.2.2 (2010-06-02) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 15.16 Version 3.2.0 (2010-05-18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 15.17 Version 3.1.8 (2010-05-10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 15.18 Version 3.1.6 (2010-03-25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 15.19 Version 3.1.4 (2010-02-12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 15.20 Version 3.1.2 (2009-12-17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 15.21 Version 3.1.0 (2009-11-30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 15.22 Version 3.0.12 (2009-11-10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 15.23 Version 3.0.10 (2009-10-29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 7 Contents 15.24 Version 3.0.8 (2009-10-02) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 15.25 Version 3.0.6 (2009-09-09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 15.26 Version 3.0.4 (2009-08-04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 15.27 Version 3.0.2 (2009-07-10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 15.28 Version 3.0.0 (2009-06-30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 15.29 Version 2.2.4 (2009-05-29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 15.30 Version 2.2.2 (2009-04-27) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 15.31 Version 2.2.0 (2009-04-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 15.32 Version 2.1.4 (2009-02-16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 15.33 Version 2.1.2 (2009-01-21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 15.34 Version 2.1.0 (2008-12-17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 15.35 Version 2.0.8 (2009-03-10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 15.36 Version 2.0.6 (2008-11-21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 15.37 Version 2.0.4 (2008-10-24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 15.38 Version 2.0.2 (2008-09-12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 15.39 Version 2.0.0 (2008-09-04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 16 Third-party materials and licenses 252 16.1 Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 16.2 Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 16.2.1 GNU General Public License (GPL) . . . . . . . . . . . . . . . . . . . . . 254 16.2.2 GNU Lesser General Public License (LGPL) . . . . . . . . . . . . . . . . 258 16.2.3 Mozilla Public License (MPL) . . . . . . . . . . . . . . . . . . . . . . . . 263 16.2.4 MIT License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 16.2.5 X Consortium License (X11) . . . . . . . . . . . . . . . . . . . . . . . . 269 16.2.6 zlib license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 16.2.7 OpenSSL license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 16.2.8 Slirp license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 16.2.9 liblzf license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 16.2.10 libpng license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 16.2.11 lwIP license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 16.2.12 libxml license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 16.2.13 libxslt licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 16.2.14 gSOAP Public License Version 1.3a . . . . . . . . . . . . . . . . . . . . . 273 16.2.15 Chromium licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 16.2.16 curl license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 16.2.17 libgd license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 16.2.18 BSD license from Intel . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 16.2.19 libjpeg License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 16.2.20 x86 SIMD extension for IJG JPEG library license . . . . . . . . . . . . . 282 17 VirtualBox privacy policy 283 Glossary 284 8 1 First steps Welcome to Oracle VM VirtualBox! VirtualBox 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, Linux or Solaris operating systems. Secondly, it extends the capabilities of your existing computer so that it can run multiple operating systems (inside multiple virtual machines) at the same time. So, for example, you can run Windows and Linux on your Mac, run Windows Server 2008 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. VirtualBox 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 you how VirtualBox, installed on a Mac computer, is running Windows 7 in a virtual machine window: In this User Manual, we’ll begin simply with a quick introduction to virtualization and how to get your first virtual machine running with the easy-to-use VirtualBox 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 VirtualBox. You can find a summary of VirtualBox’s capabilities in chapter 1.3, Features overview, page 11. For existing VirtualBox users who just want to see what’s new in this release, there is a detailed list in chapter 15, Change log, page 192. 9 1 First steps 1.1 Why is virtualization useful? The techniques and features that VirtualBox provides are useful for several scenarios: • Running multiple operating systems simultaneously. VirtualBox allows you to run more than one operating system at a time. This way, you can run software written for one operating system on another (for example, 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 operating system, you can install an old operating system such as DOS or OS/2 even if your real computer’s hardware is no longer supported by that operating system. • 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 VirtualBox, such a complex setup (then 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 VirtualBox. • 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 VirtualBox 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 (e.g. after installing misbehaving software or infecting the guest with a virus), one 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 elec- tricity 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 par- tially used, one can pack many virtual machines onto a few powerful hosts and balance the loads between them. 1.2 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 operating system of the physical computer on which VirtualBox was installed. There are versions of VirtualBox for Windows, Mac OS X, Linux and Solaris hosts; for details, please see chapter 1.4, Supported host operating systems, page 13. Most of the time, this User Manual discusses all VirtualBox versions together. There may be platform-specific differences which we will point out where appropriate. Guest operating system (guest OS). This is the operating system that is running inside the virtual machine. Theoretically, VirtualBox can run any x86 operating system (DOS, Win- dows, OS/2, FreeBSD, 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 operating systems. So while your favorite operating system may run as a guest, we 10 [...]... like this: /VirtualBox. run keep noexec This will unpack all the files needed for installation in the directory install under the current directory The VirtualBox application files are contained in VirtualBox. tar.bz2 which you can unpack to any directory on your system For example: sudo mkdir /opt /VirtualBox sudo tar jxf /install /VirtualBox. tar.bz2 -C /opt /VirtualBox or as root: mkdir /opt /VirtualBox. .. standard VirtualBox package: 1 VirtualBox is the VirtualBox Manager This graphical user interface uses the Qt toolkit; most of this User Manual is dedicated to describing it While this is the easiest to use, some of the more advanced VirtualBox features are kept away from it to keep it simple 2 VBoxManage is our command-line interface for automated and very detailed control of every aspect of VirtualBox. .. a VirtualBox group in the Windows “Start” menu which allows you to launch the application and access its documentation With standard settings, VirtualBox will be installed for all users on the local system In case this is not wanted, you have to invoke the installer by first extracting it by using VirtualBox. exe -extract and then do as follows: VirtualBox. exe -msiparams ALLUSERS=2 or msiexec /i VirtualBox- -MultiArch_.msi... information Once VirtualBox has been successfully installed and configured, you can start it by selecting VirtualBox in your start menu or from the command line (see chapter 2.3.5, Starting VirtualBox on Linux, page 38) 2.3.3.2 Using the alternative installer (VirtualBox. run) The alternative installer performs the following steps: • It unpacks the application files to the target directory, /opt /VirtualBox/ ... page 138 for details 1.6 Starting VirtualBox After installation, you can start VirtualBox as follows: 14 1 First steps • On a Windows host, in the standard “Programs” menu, click on the item in the VirtualBox group On Vista or Windows 7, you can also type 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”... With VirtualBox however, you can skip this step and mount the ISO file directly VirtualBox 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 For this case, the wizard’s drop-down list contains a list of installation media that were previously used with VirtualBox If your medium is not in the list (especially if you are using VirtualBox. .. Due to its modular architecture, VirtualBox can also expose its full functionality and configurability through a comprehensive software development kit (SDK), which allows for integrating every aspect of VirtualBox with other software systems Please see chapter 11, VirtualBox programming interfaces, page 172 for details 12 1 First steps • Remote machine display The VirtualBox Remote Desktop Extension... is possible to create yet another front-end to the complex virtualization engine that is the core of VirtualBox, as the VirtualBox core neatly exposes all of its features in a clean API; please refer to chapter 11, VirtualBox programming interfaces, page 172 30 2 Installation details As installation of VirtualBox varies depending on your host operating system, we provide installation instructions in... where to install VirtualBox to and which components to install In addition to the VirtualBox application, the following components are available: USB support This package contains special drivers for your Windows host that VirtualBox requires to fully support USB devices inside your virtual machines Networking This package contains extra networking drivers for your Windows host that VirtualBox needs... Enterprise Linux 4, 5 and 6 – Fedora Core 4 to 15 – Gentoo Linux 1 Support for 64-bit Windows was added with VirtualBox 1.5 Mac OS X support (beta stage) was added with VirtualBox 1.4, full support with 1.6 Mac OS X 10.4 (Tiger) support was removed with VirtualBox 3.1 3 Support for 64-bit Linux was added with VirtualBox 1.4 2 Preliminary 13 1 First steps – SUSE Linux 9, 10 and 11, openSUSE 10.3, 11.0, 11.1, . 10 .4 (Tiger) support was removed with VirtualBox 3 .1. 3 Support for 64- bit Linux was added with VirtualBox 1 .4. 13 1 First steps – SUSE Linux 9, 10 and 11 , openSUSE 10 .3, 11 .0, 11 .1, 11 .2, 11 .3,. . . . . . 18 9 14 Known limitations 19 0 15 Change log 19 2 15 .1 Version 4. 1. 2 (2 011 -08 -15 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2 15 .2 Version 4. 1. 0 (2 011 -07 -19 ) . . 19 3 15 .3 Version 4. 0 .12 (2 011 -07 -15 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6 15 .4 Version 4. 0 .10 (2 011 -06-22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6 15 .5