Sun VirtualBox R User Manual Version 3.0.0 c 2004-2009 Sun Microsystems, Inc. http://www.virtualbox.
Contents 1 Introduction 1.1 Virtualization basics . . . . . . . . . . . . . . . . . . . . 1.2 Software vs. hardware virtualization (VT-x and AMD-V) 1.3 Features overview . . . . . . . . . . . . . . . . . . . . . 1.4 Supported host operating systems . . . . . . . . . . . . 1.5 Supported guest operating systems . . . . . . . . . . . . 1.6 64-bit guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 41 42 43 45 45 46 47 49 50 51 52 52 53 54 56 56 4 Guest Additions 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Windows Guest Additions . . . . . . . . . . . . . . . . . . . . . 4.2.1 Installing the Windows Guest Additions . . . . . . . . . 4.2.
Contents 5.5 iSCSI servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.5.1 Access iSCSI targets via Internal Networking . . . . . . . . . . . 80 6 Virtual networking 6.1 Virtual networking hardware . . . . . . . . . . 6.2 Introduction to networking modes . . . . . . . 6.3 “Not attached” mode . . . . . . . . . . . . . . . 6.4 Network Address Translation (NAT) . . . . . . 6.4.1 Configuring port forwarding with NAT . 6.4.2 PXE booting with NAT . . . . . . . . . . 6.4.
Contents 8.14 8.15 8.16 8.17 8.18 8.19 8.20 8.21 8.22 8.23 8.24 8.25 VBoxManage createhd . . . . . . . . . . . . VBoxManage modifyhd . . . . . . . . . . . VBoxManage clonehd . . . . . . . . . . . . VBoxManage convertfromraw . . . . . . . . VBoxManage addiscsidisk . . . . . . . . . . VBoxManage getextradata/setextradata . . VBoxManage setproperty . . . . . . . . . . VBoxManage usbfilter add/modify/remove VBoxManage sharedfolder add/remove . . VBoxManage metrics . . . . . . . . . . . . .
Contents 11 Troubleshooting 11.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Collecting debugging information . . . . . . . . . . . . . . . 11.1.2 Guest shows IDE errors for VDI on slow host file system . . . 11.1.3 Responding to guest IDE flush requests . . . . . . . . . . . . 11.2 Windows guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Windows bluescreens after changing VM configuration . . . 11.2.
Contents 12.10Version 2.0.4 (2008-10-24) . 12.11Version 2.0.2 (2008-09-12) . 12.12Version 2.0.0 (2008-09-04) . 12.13Version 1.6.6 (2008-08-26) . 12.14Version 1.6.4 (2008-07-30) . 12.15Version 1.6.2 (2008-05-28) . 12.16Version 1.6.0 (2008-04-30) . 12.17Version 1.5.6 (2008-02-19) . 12.18Version 1.5.4 (2007-12-29) . 12.19Version 1.5.2 (2007-10-18) . 12.20Version 1.5.0 (2007-08-31) . 12.21Version 1.4.0 (2007-06-06) . 12.22Version 1.3.8 (2007-03-14) . 12.23Version 1.3.6 (2007-02-20) . 12.24Version 1.3.
Contents 14.2.7 Slirp license . . . . . . . . . . . . 14.2.8 liblzf license . . . . . . . . . . . . 14.2.9 libpng license . . . . . . . . . . . 14.2.10lwIP license . . . . . . . . . . . . 14.2.11libxml license . . . . . . . . . . . 14.2.12libxslt licenses . . . . . . . . . . . 14.2.13gSOAP Public License Version 1.3a 14.2.14Chromium licenses . . . . . . . . 14.2.15curl license . . . . . . . . . . . . . 14.2.16dnsproxy license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Introduction Sun VirtualBox is a collection of powerful virtual machine tools, targeting desktop computers, enterprise servers and embedded systems. With VirtualBox, you can virtualize 32-bit and 64-bit operating systems on machines with Intel and AMD processors, either by using hardware virtualization features provided by these processors or even entirely in software, at your option. You can find a brief feature overview in chapter 1.
1 Introduction ground, however, VirtualBox intercepts certain operations that the guest performs to make sure that the guest does not interfere with other programs on the host. The techniques and features that VirtualBox provides are useful for several scenarios: • Operating system support. With VirtualBox, one can run software written for one operating system on another (for example, Windows software on Linux) without having to reboot to use it.
1 Introduction 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 officially support and optimize for a select few (which, however, include the most common ones). See chapter 1.5, Supported guest operating systems, page 17 for further information. Virtual machine (VM).
1 Introduction There are two ways in which VirtualBox can achieve virtualization: either entirely in software or, with newer processors, using certain hardware features. • For some years, Intel and AMD processors have had support for so-called “hardware virtualization”. This means that these processors aid virtualization software such as VirtualBox in intercepting potentially dangerous operations that a guest operating system may be attempting and in presenting virtual hardware to a virtual machine.
1 Introduction Warning: Do not run other hypervisors (open-source or commercial virtualization products) together with VirtualBox! While several hypervisors can normally be installed in parallel, do not attempt to run several virtual machines from competing hypervisors at the same time. VirtualBox cannot track what another hypervisor is currently attempting to do on the same host, and especially if several products attempt to use hardware virtualization features such as VT-x, this can crash the entire host.
1 Introduction • Clean architecture; unprecedented modularity. VirtualBox 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 VirtualBox graphical user interface and then control that machine from the command line, or even remotely.
1 Introduction – Full ACPI support. The Advanced Configuration and Power Interface (ACPI) is fully supported by VirtualBox. This eases cloning of PC images from real machines or third-party virtual machines into VirtualBox. With its unique ACPI power status support, VirtualBox can even report to ACPIaware guest operating systems 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 (e.g. in fullscreen modes).
1 Introduction 1.4 Supported host operating systems Currently, VirtualBox is available for the following host operating systems: • Windows hosts: – Windows XP, all service packs (32-bit) – Windows Server 2003 (32-bit) – Windows Vista (32-bit and 64-bit2 ). – Windows Server 2008 (32-bit and 64-bit) – Windows 7 beta (32-bit and 64-bit) • Apple Mac OS X hosts: Intel hardware is required, all versions of Mac OS X supported; please see chapter 13, Known limitations, page 213 also.
1 Introduction 1.5 Supported guest operating systems Since VirtualBox is designed to provide a generic virtualization environment for x86 systems, it may run operating systems of any kind, even those that are not officially supported by Sun Microsystems. However, our focus is to optimize the product’s performance for a select list of guest systems: Windows NT 4.0 All versions/editions and service packs are fully supported; however, there are some issues with older service packs.
1 Introduction 1.6 64-bit guests Starting with Version 2.0, VirtualBox also supports 64-bit guest operating systems. Starting with Version 2.1, you can even run 64-bit guests on a 32-bit host operating system, so long as you have sufficient hardware. In particular, 64-bit guests are supported under the following conditions: 1. You need a 64-bit processor with hardware virtualization support (see chapter 1.2, Software vs. hardware virtualization (VT-x and AMD-V), page 11). 2.
2 Installation As installation of VirtualBox varies depending on your host operating system, we provide installation instructions in four separate chapters for Windows, Mac OS X, Linux and Solaris, respectively. 2.1 Installing on Windows hosts 2.1.1 Prerequisites For the various versions of Windows that we support as host operating systems, please refer to chapter 1.4, Supported host operating systems, page 16. In addition, Windows Installer 1.1 or higher must be present on your system.
2 Installation Networking This package contains extra networking drivers for your Windows host that VirtualBox needs to support Host Interface Networking (to make your VM’s virtual network cards accessible from other machines on your physical network). Depending on your Windows configuration, you may see warnings about “unsigned drivers” or similar. Please select “Continue” on these warnings as otherwise VirtualBox might not function correctly after installation.
2 Installation 2.2.2 Uninstallation To uninstall VirtualBox, open the disk image (dmg) file again and double-click on the uninstall icon contained therein. 2.2.3 Unattended installation To perform a non-interactive installation of VirtualBox you can use the command line version of the installer application. Mount the disk image (dmg) file as described in the normal installation. Then open a terminal session and execute: sudo installer -pkg /Volumes/VirtualBox/VirtualBox.
2 Installation The VirtualBox kernel module is automatically installed on your system when you install VirtualBox. To maintain it with future kernel updates, for recent Linux distributions – for example Fedora Core 5 and later, Ubuntu 7.10 (Gutsy) and later and Mandriva 2007.1 and later –, generally we recommend installing Dynamic Kernel Module Support (DKMS)1 . This framework helps to build kernel modules and to deal with kernel upgrades.
2 Installation 2. The kernel of your Linux host got updated. In that case, the kernel module will need to be reinstalled by executing (as root): /etc/init.d/vboxdrv setup 2.3.3 USB and advanced networking support In order to use VirtualBox’s USB support, the user account under which you intend to run VirtualBox must have read and write access to the USB filesystem (usbfs).
2 Installation sudo /etc/init.d/vboxdrv setup This will start a second attempt to build the module. If a suitable kernel module was found in the package or the module was successfully built, the installation script will attempt to load that module. If this fails, please see chapter 11.5.1, Linux kernel module refuses to load, page 150 for further information.
2 Installation After that you need to put every user which should be able to use VirtualBox in the group vboxusers, either through the GUI user management tools or by running the following command as root: sudo usermod -a -G vboxusers username Note: The usermod command of some older Linux distributions does not support the -a option (which adds the user to the given group without affecting membership of other groups).
2 Installation make install The VirtualBox kernel module needs a device node to operate. The above make command will tell you how to create the device node, depending on your Linux system. The procedure is slightly different for a classical Linux setup with a /dev directory, a system with the now deprecated devfs and a modern Linux system with udev. On certain Linux distributions, you might experience difficulties building the module.
2 Installation sudo ./VirtualBox.run uninstall or as root ./VirtualBox.run uninstall . Starting with version 2.2.2, you can uninstall the .run package by invoking /opt/VirtualBox/uninstall.sh To manually uninstall VirtualBox, simply undo the steps in the manual installation in reverse order. 2.3.4.5 Automatic installation of Debian packages The Debian packages will request some user feedback when installed for the first time. The debconf system is used to perform this task.
2 Installation 2.3.5 Starting VirtualBox on Linux The easiest way to start a VirtualBox program is by running the program of your choice (VirtualBox, VBoxManage, VBoxSDL or VBoxHeadless) from a terminal. These are symbolic links to VBox.sh that start the required program for you. The following detailed instructions should only be of interest if you wish to execute VirtualBox without installing it first.
2 Installation Future versions of OpenSolaris may ship the VirtualBox kernel interface module, in which case you can remove this one before upgrading OpenSolaris. Next you should install the main VirtualBox package using: pkgadd -d VirtualBox-3.0.0-SunOS-x86.pkg Note: If you are using Solaris Zones, to install VirtualBox only into the current zone and not into any other zone, use pkgadd -G. For more information refer to the pkgadd manual; see also chapter 2.4.
2 Installation 2.4.4 Unattended installation To perform a non-interactive installation of VirtualBox we have provided a response file named autoresponse that the installer will use for responses to inputs rather than ask them from you. Extract the tar.gz package as described in the normal installation. Then open a root terminal session and execute: pkgadd -d VirtualBox-3.0.
3 Starting out with VirtualBox As already mentioned in chapter 1.1, Virtualization basics, page 9, VirtualBox allows you to run each of your guest operating systems on its own virtual computer system, which is called a “virtual machine” (VM). The guest system will run in its VM as if it were installed on a real computer, according to the VM settings you have specified. All software running on the guest system does so as it would on a real machine.
3 Starting out with VirtualBox group of your “Applications” menu. Alternatively, you can type VirtualBox in a terminal. A window like the following should come up: On the left, you can see a pane that lists all the virtual machines you have created so far (quite a few in the example above). A row of buttons above it allows you to create new VMs and work on existing VMs. The pane on the right displays the properties of the virtual machine currently selected, if any.
3 Starting out with VirtualBox On the following pages, the wizard will ask you for the bare minimum of information that is needed to create a VM, in particular: 1. A name for your VM, and the type of operating system (OS) you want to install. The name is what you will later see in the VirtualBox main window, and what your settings will be stored under. It is purely informational, but once you have created a few VMs, you will appreciate if you have given your VMs informative names.
3 Starting out with VirtualBox Note: 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 1 GB of RAM and you enter 512 MB as the amount of RAM for a particular virtual machine, while that VM is running, you will only have 512 MB left for all the other software on your host.
3 Starting out with VirtualBox The wizard allows you to create an image file or use an existing one. Note also that the disk images can be separated from a particular VM, so even if you delete a VM, you can keep the image, or copy it to another host and create a new VM for it there. In the wizard, you have the following options: • If you have previously created any virtual hard disks which have not been attached to other virtual machines, you can select those from the dropdown list in the wizard window.
3 Starting out with VirtualBox much more space, a fixed-size file incurs less overhead and is therefore slightly faster than a dynamically expanding file. For details about the differences, please refer to chapter 5.2, Disk image files (VDI, VMDK, VHD), page 77. To prevent your physical hard disk from running full, VirtualBox limits the size of the image file.
3 Starting out with VirtualBox VM settings after installing a guest operating system, certain changes might prevent a guest operating system from functioning correctly if done after installation. Note: The “Settings” button is disabled while a VM is either in the “running” or “saved” state.
3 Starting out with VirtualBox • If you have downloaded installation media from the Internet in the form of an ISO image file (most probably in the case of a Linux distribution), you would normally burn this file to an empty CD or DVD and proceed as just described. 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.
3 Starting out with VirtualBox in the window, as can be seen with the image in chapter 1.1, Virtualization basics, page 9. In general, you can use the virtual machine much like you would use a real computer. There are couple of points worth mentioning however. 3.4.1 Keyboard and mouse support in virtual machines 3.4.1.
3 Starting out with VirtualBox To release keyboard ownership, press the Host key (as explained above, typically the right Control key). Note that while the VM owns the keyboard, some key sequences (like Alt-Tab for example) will no longer be seen by the host, but will go to the guest instead. After you press the host key to re-enable the host keyboard, all key presses will go through the host again, so that sequences like Alt-Tab will no longer reach the guest.
3 Starting out with VirtualBox intercepted by the host operating system and therefore always switch terminals on the host. If, instead, you want to send these key combinations to the guest operating system in the virtual machine, you will need to use one of the following methods: – Use the items in the “Machine” menu of the virtual machine window. There you will find “Insert Ctrl+Alt+Delete” and “Ctrl+Alt+Backspace”; the latter will only have an effect with Linux guests, however.
3 Starting out with VirtualBox The difference between these three options is crucial. They mean: • Save the machine state: With this option, VirtualBox “freezes” the virtual machine by completely saving its state to your local disk. When you later resume the VM (by again clicking the “Start” button in the VirtualBox main window), 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.
3 Starting out with VirtualBox Once you have set up the machine the way you want it, simply take a snapshot, and should anything happen to the installation, you can simply revert to its snapshot state. To take a snapshot of your VM, perform the following steps: 1.
3 Starting out with VirtualBox The Disk Image Manager shows you all images that are currently registered with VirtualBox, conveniently grouped in three tabs for the three possible formats. These formats are: • Hard disk images, either in VirtualBox’s own Virtual Disk Image (VDI) format or in the widely supported VMDK format1 ; • CD/DVD images in standard ISO format; • floppy images in standard RAW format.
3 Starting out with VirtualBox • remove an image from the registry (and optionally delete the image file when doing so); • “release” an image, that is, detach it from a virtual machine if it is currently attached to one as a virtual hard disk.
3 Starting out with VirtualBox 3.7.1 General settings In the Settings window, under “General”, you can configure the most fundamental aspects of the virtual machine such as memory and essential hardware. There are four tabs, “Basic”, “Advanced”, “Description” and “Other”. 3.7.1.1 “Basic” tab Under the “Basic” tab of the “General” settings category, you can find these settings: Name The name under which the VM is shown in the list of VMs in the main window.
3 Starting out with VirtualBox 3.7.1.3 “Description” tab Here you can enter any description for your virtual machine, if you want. This has no effect of the functionality of the machine, but you may find this space useful to note down things like the configuration of a virtual machine and the software that has been installed into it. 3.7.2 System settings The “System” category groups various settings that are related to the basic hardware that is presented to the virtual machine.
3 Starting out with VirtualBox Enable ACPI VirtualBox can present the Advanced Configuration and Power Interface (ACPI) to the guest operating system for configuring the virtual hardware. In addition, via ACPI, VirtualBox can present the host’s power status information to the guest. ACPI is the current industry standard to allow operating systems to recognize hardware, configure motherboards and other devices and manage power.
3 Starting out with VirtualBox In addition, the “Enable PAE/NX” setting determines whether the PAE and NX capabilities of the host CPU will be exposed to the virtual machine. PAE stands for “Physical Address Extension”. Normally, if enabled and supported by the operating system, then even a 32-bit x86 CPU can access more than 4 GB of RAM. This is made possible by adding another 4 bits to memory addresses, so that with 36 bits, up to 64 GB can be addressed.
3 Starting out with VirtualBox comes with Microsoft Windows (typically found under “Accessories” -> “Communication” -> “Remote Desktop Connection”) or, on Linux systems, the standard open-source rdesktop program. These features are described in detail in chapter 7.4, Remote virtual machines (VRDP support), page 93. 3.7.
3 Starting out with VirtualBox lifetime. You may, however, freely remove, add and exchange virtual hard drives after the machine has been set up. For example, if you wish to copy some files from another virtual disk that you created, you can connect that disk as a second hard disk. To connect an additional disk, double-click on the empty space in the list of virtual disks, or click on the respective icon to the right of that list.
3 Starting out with VirtualBox Note: The identification string of the drive provided to the guest (which, in the guest, would be displayed by configuration tools such as the Windows Device Manager) is always “VBOX CD-ROM”, irrespective of the current configuration of the virtual drive. This is to prevent hardware detection from being triggered in the guest operating system every time the configuration is changed. Using the host drive normally provides a read-only drive to the guest.
3 Starting out with VirtualBox In most cases, this default setup will work fine for you. However, VirtualBox is extremely flexible in how it can virtualize networking. It supports up to eight virtual network cards per virtual machine, the first four of which can be configured in detail in the graphical user interface. All eight network cards can be configured on the command line with VBoxManage.
3 Starting out with VirtualBox • You can elect to have the virtual serial port “disconnected”, which means that the guest will see it as hardware, but it will behave as if no cable had been connected to it. • You can connect the virtual serial port to a physical serial port on your host. (On a Windows host, this will be a name like COM1; on Linux or OpenSolaris hosts, it will be a device node like /dev/ttyS0).
3 Starting out with VirtualBox Note: 1. Be careful with USB devices that are currently in use on the host! For example, if you allow your guest to connect to your USB hard disk that is currently mounted on the host, when the guest is activated, it will be disconnected from the host without a proper shutdown. This may cause data loss. 2. Solaris hosts have a few known limitations regarding USB support; please see chapter 13, Known limitations, page 213.
3 Starting out with VirtualBox 3. Remote. This setting specifies whether the device will be local only, or remote only (over VRDP), or either. On a Windows host, you will need to unplug and reconnect a USB device to use it after creating a filter for it. As an example, you could create a new USB filter and specify a vendor ID of 046d (Logitech, Inc), a manufacturer index of 1, and “not remote”.
3 Starting out with VirtualBox OVF is a cross-platform standard supported by many virtualization products which allows for creating ready-made virtual machines that can then be imported into a virtualizer such as VirtualBox. As opposed to other virtualization products, VirtualBox now supports OVF with an easy-to-use graphical user interface as well as using the command line.
3 Starting out with VirtualBox This presents the virtual machines described in the OVF file and allows you to change the virtual machine settings by double-clicking on the description items. Once you click on “Import”, VirtualBox will copy the disk images and create local virtual machines with the settings described in the dialog. These will then show up in the list of virtual machines.
3 Starting out with VirtualBox Note: OVF cannot describe every feature that VirtualBox provides for virtual machines. For example, snapshot information gets lost on export; the disk images will have a “flattened” state identical to the current state of the virtual machine, but any snapshots that were defined for the machine will have been merged.
4 Guest Additions The previous chapter covered getting started with VirtualBox and installing operating systems in a virtual machine. For any serious and interactive use, the VirtualBox Guest Additions will make your life much easier by providing closer integration between host and guest and improving the interactive performance of guest systems. This chapter describes the Guest Additions in detail. 4.1 Introduction As said in chapter 1.
4 Guest Additions For Linux and Solaris guests, the Xorg server version 1.3 or later is required for automatic resizing (the feature has been disabled on Fedora 9 guests due to a bug in the X server they supply). The server version can be checked with Xorg -version. Finally, if the Guest Additions are installed, 3D graphics for guest applications can be accelerated; see chapter 4.8, Hardware 3D acceleration (OpenGL and DirectX 8/9), page 71.
4 Guest Additions • Microsoft Windows Server 2003 (any service pack) • Microsoft Windows Vista (all editions) • Microsoft Windows 7 Beta Generally, it is strongly recommend to install the Windows Guest Additions. 4.2.1 Installing the Windows Guest Additions After mounting the Guest Additions ISO file, the Windows guest should automatically start the Guest Additions installer, which installs the Guest Additions into your Windows guest.
4 Guest Additions 4.2.1.2 Running the installer Unless you have the Autostart feature disabled in your Windows guest, Windows will now autostart the VirtualBox Guest Additions installation program from the Additions ISO. If the Autostart feature has been turned off, choose VBoxWindowsAdditions.exe from the CD/DVD drive inside the guest to start the installer. The installer will add several device drivers to the Windows driver database and then invoke the hardware detection wizard.
4 Guest Additions 4.2.4 Manual file extraction If you would like to install the files and drivers manually, you can extract the files from the Windows Guest Additions setup by typing: VBoxWindowsAdditions.exe /extract To explicitly extract the Windows Guest Additions for another platform than the current running one (e.g. 64-bit files on a 32-bit system), you have to execute the appropriate platform installer (VBoxWindowsAdditions-x86.exe or VBoxWindowsAdditions-amd64.exe) with the /extract parameter. 4.
4 Guest Additions • Ubuntu 5.10, 6.06, 7.04, 7.10, 8.04, 8.10 and 9.04. Other distributions may work if they are based on comparable software releases. The version of the Linux kernel supplied by default in SUSE and openSUSE 10.2, Ubuntu 6.10 (all versions) and Ubuntu 6.06 (server edition) contains a bug which can cause it to crash during startup when it is run in a virtual machine. The Guest Additions work in those distributions.
4 Guest Additions sh ./VBoxAdditions.run help for more information. To recompile the guest kernel modules, use this command: /etc/init.d/vboxadd setup After compilation you should reboot your guest to ensure that the new modules are actually used. 4.3.2 Video acceleration and high resolution graphics modes In Linux guests, VirtualBox video acceleration is available through the X Window System. Typically, in today’s Linux distributions, this will be the X.Org server.
4 Guest Additions 4.4 Solaris Guest Additions Like the Windows Guest Additions, the VirtualBox Guest Additions for Solaris take the form of a set of device drivers and system applications which may be installed in the guest operating system. The following Solaris distributions are officially supported: • OpenSolaris Nevada (Build 82 and higher; this includes OpenSolaris 2008.05, 2008.11 and 2009.06); • OpenSolaris Indiana (Developer Preview 2 and higher); • Solaris 10 (u5 and higher).
4 Guest Additions 4.4.3 Updating the Solaris Guest Additions The Guest Additions should be updated by first uninstalling the existing Guest Additions and then installing the new ones. Attempting to install new Guest Additions without removing the existing ones is not possible. 4.5 OS/2 Guest Additions VirtualBox also ships with a set of drivers that improve running OS/2 in a virtual machine.
4 Guest Additions VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test" There are two types of shares: 1. VM shares which are only available to the VM for which they have been defined; 2. transient VM shares, which can be added and removed at runtime and do not persist after a VM has stopped; for these, add the --transient option to the above command line. Shared folders have read/write access to the files at the host path by default.
4 Guest Additions $id uid=5000(jack) gid=1(other) $mkdir /export/home/jack/mount $pfexec mount -F vboxfs -o uid=5000,gid=1 jackshare /export/home/jack/mount $cd ~/mount $ls sharedfile1.mp3 sharedfile2.txt $ Beyond the standard options supplied by the mount command, the following are available: iocharset CHARSET to set the character set used for I/O operations (utf8 by default) and convertcp CHARSET to specify the character set used for the shared folder name (utf8 by default).
4 Guest Additions To enable seamless mode, after starting the virtual machine, press the Host key (normally the right control key) together with “L”. This will enlarge the size of the VM’s display to the size of your host screen and mask out the guest operating system’s background. To go back to the “normal” VM display (i.e. to disable seamless windows), press the Host key and “L” again. 4.
4 Guest Additions • OpenGL on Linux requires kernel 2.6.27 and higher as well as X.org server version 1.5 and higher. Ubuntu 8.10 and Fedora 10 have been tested and confirmed as working. • OpenGL on Solaris guests requires X.org server version 1.5 and higher. 2. The Guest Additions must be installed. Note: For Direct 3D acceleration to work in a Windows Guest, VirtualBox needs to replace Windows system files in the virtual machine.
4 Guest Additions In addition to establishing the general mechanism of reading and writing values, a set of predefined guest properties is automatically maintained by the VirtualBox Guest Additions to allow for retrieving interesting guest data such as the guest’s exact operating system and service pack level, the installed version of the Guest Additions, users that are currently logged into the guest OS, network statistics and more.
4 Guest Additions Name: /VirtualBox/GuestAdd/Components/VBoxSF.sys, value: 3.0.0r40720, timestamp: 1229098279893056000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxVideo.sys, value: 3.0.
5 Virtual storage As the virtual machine will most probably expect to see a hard disk built into its virtual computer, VirtualBox must be able to present “real” storage to the guest as a virtual hard disk. There are presently three methods in which to achieve this: 1. Most commonly, VirtualBox will use large image files on a real hard disk and present them to a guest as a virtual hard disk. This is described in chapter 5.2, Disk image files (VDI, VMDK, VHD), page 77. 2.
5 Virtual storage CD-ROM/DVD drive, this leaves you with up to three virtual hard disks that you can attach to a virtual machine’s IDE controller. So even if your guest operating system has no support for SCSI or SATA devices, it should always be able to see the default IDE controller that is enabled by default. Of the four slots attached to it, one is normally used when you create a virtual machine with the “New Virtual Machine” wizard of the graphical user interface.
5 Virtual storage To enable the SATA controller, on the “Hard Disks” page of a virtual machine’s settings dialog, check the “Enable Additional Controller” box and select “SATA (AHCI)“ from the list below. After this, the additional controller will appear as a separate PCI device in the virtual machine. Warning: The entire SATA controller and the virtual disks attached to it (including those in IDE compatibility mode) will only seen by operating systems that have device support for AHCI.
5 Virtual storage • Finally, VirtualBox also fully supports the VHD format used by Microsoft. Irrespective of the disk format, as briefly mentioned in chapter 3.2, Creating a virtual machine, page 32, there are two options of how to create a disk image: fixed-size or dynamically expanding. • If you create a fixed-size image of e.g. 10 GB, an image file of roughly the same size will be created on your host system.
5 Virtual storage which VirtualBox creates automatically when the VM starts. The next time the VM is started, the differencing image is reset so that every time the VM starts, its immutable images have exactly the same content.4 If the automatic discarding of the differencing image on VM startup does not fit your needs, you can turn it off using the autoreset parameter of VBoxManage modifyhd; see chapter 8.15, VBoxManage modifyhd, page 118 for details.
5 Virtual storage 5.4 Cloning disk images You can duplicate hard disk image files on the same host to quickly produce a second virtual machine with the same operating system setup. However, you should only make copies of virtual disk images using the utility supplied with VirtualBox; see chapter 8.16, VBoxManage clonehd, page 118.
5 Virtual storage which uses such an iSCSI target is done as described above. The only difference is that the IP address of the target must be specified as a numeric IP address. The IP stack accessing Internal Networking must be configured in the virtual machine which accesses the iSCSI target. A free static IP and a MAC address not used by other virtual machines must be chosen.
6 Virtual networking As briefly mentioned in chapter 3.7.7, Network settings, page 52, VirtualBox provides up to eight virtual PCI Ethernet cards for each virtual machine. For each such card, you can individually select 1. the hardware that will be virtualized as well as 2. the virtualization mode that the virtual card will be operating in with respect to your physical networking hardware on the host.
6 Virtual networking VirtualBox has limited support for so-called jumbo frames, i.e. networking packets with more than 1500 bytes of data, provided that you use the Intel card virtualization and bridged networking. In other words, jumbo frames are not supported in NAT mode or with the AMD networking devices; in those cases, jumbo packets will silently be dropped for both the transmit and the receive direction.
6 Virtual networking 6.3 “Not attached” mode When a virtual network card’s mode is set to “Not attached”, VirtualBox reports to the guest that a network card is present, but that there is no connection – as if no Ethernet cable was plugged into the card. This way it is possible to “pull” the virtual Ethernet cable and disrupt the connection, which can be useful to inform a guest operating system that no network connection is available and enforce a reconfiguration. 6.
6 Virtual networking To an application on the host or other physical (or virtual) machines on the network, it looks as though the service being proxied is actually running on the host (note that this also means that you cannot run the same service on the same ports on the host).
6 Virtual networking ICMP protocol limitations: Some frequently used network debugging tools (e.g. ping or tracerouting) rely on the ICMP protocol for sending/receiving messages. While ICMP support has been improved with VirtualBox 2.1 (ping should now work), some other tools may not work reliably.
6 Virtual networking Note: Even though TAP is no longer necessary on Linux with bridged networking, you can still use TAP interfaces for certain advanced setups, since you can connect a VM to any host interface – which could also be a TAP interface. To enable bridged networking, all you need to do is to open the Settings dialog of a virtual machine, go to the “Network” page and select “Bridged network” in the drop down list for the “Attached to” field.
6 Virtual networking 6.6 Internal networking Internal Networking is similar to bridged networking in that the VM can directly communicate with the outside world. However, the “outside world” is limited to other VMs which connect to the same internal network. Even though technically, everything that can be done using internal networking can also be done using bridged networking, there are two good reasons why this additional mode was implemented: 1. Security.
6 Virtual networking 6.7 Host-only networking Host-only networking is another networking mode that was added with version 2.2 of VirtualBox. It can be thought of as a hybrid between the bridged and internal networking modes: as with bridged networking, the virtual machines can talk to each other and the host as if they were connected through a physical ethernet switch.
7 Alternative front-ends; remote virtual machines 7.1 Introduction As briefly mentioned in chapter 1.3, Features overview, page 13, VirtualBox has a very flexible internal design that allows you to use different front-ends to control the same virtual machines. To illustrate, you can, for example, start a virtual machine with VirtualBox’s easy-to-use graphical user interface and then stop it from the command line.
7 Alternative front-ends; remote virtual machines 7.2 Using VBoxManage to control virtual machines This section will give you a brief introduction to VBoxManage and how you can use it to create and operate virtual machines. In essence, VBoxManage supports everything that our graphical user interface allows you to do with the click of a button. VBoxManage supports a lot more than that, however.
7 Alternative front-ends; remote virtual machines $ VBoxManage createvm --name "SUSE 10.2" --register VirtualBox Command Line Management Interface Version 3.0.0 (C) 2005-2008 Sun Microsystems, Inc. All rights reserved. Virtual machine ’SUSE 10.2’ is created. UUID: c89fc351-8ec6-4f02-a048-57f4d25288e5 Settings file: ’/home/username/.VirtualBox/Machines/SUSE 10.2/SUSE 10.2.xml’ As can be seen from the above output, a new virtual machine has been created with a new UUID and a new XML settings file.
7 Alternative front-ends; remote virtual machines To start a virtual machine with VBoxSDL instead of the VirtualBox GUI, enter the following on a command line: VBoxSDL --startvm where is, as usual with VirtualBox command line parameters, the name or UUID of an existing virtual machine. 7.4 Remote virtual machines (VRDP support) VirtualBox, the graphical user interface, has a built-in server for the VirtualBox Remote Desktop Protocol (VRDP).
7 Alternative front-ends; remote virtual machines hosts the default RDP port (3389) could be already used by the Windows RDP server, in this case you should choose another port for your VM(s). You should specify -N command line option with rdesktop to be able to use NumPad keys: rdesktop -N host_system_ip.
7 Alternative front-ends; remote virtual machines Note that when you use VBoxHeadless to start a VM, the built-in VRDP server will always be enabled, regardless of whether you have enabled the VRDP server in the VM’s settings.
7 Alternative front-ends; remote virtual machines 3. Create a virtual hard disk for the VM (in this case, 10GB in size) and register it with VirtualBox: VBoxManage createhd --filename "WinXP.vdi" --size 10000 --remember 4. Set this newly created VDI file as the first virtual hard disk of the new VM: VBoxManage modifyvm "Windows XP" --hda "WinXP.vdi" 5. Register the ISO file that contains the operating system installation that you want to install later: VBoxManage openmedium dvd /full/path/to/iso.iso 6.
7 Alternative front-ends; remote virtual machines 7.4.3 Remote USB As a special feature on top of the VRDP support, VirtualBox supports remote USB devices over the wire as well. That is, the VirtualBox guest that runs on one computer can access the USB devices of the remote computer on which the RDP data is being displayed the same way as USB devices that are connected to the actual host.
7 Alternative front-ends; remote virtual machines – On Linux hosts, VRDPAuth.so authenticates users against the host’s PAM system. – On Windows hosts, VRDPAuth.dll authenticates users against the host’s WinLogon system. In other words, the “external” method per default performs authentication with the user accounts that exist on the host system. Any user with valid authentication credentials is accepted, i.e. the username does not have to correspond to the user running the VM.
7 Alternative front-ends; remote virtual machines 7.4.6 VRDP multiple connections The VirtualBox built-in RDP server supports simultaneous connections to the same running VM from different clients. All connected clients see the same screen output and share a mouse pointer and keyboard focus. This is similar to several people using the same computer at the same time, taking turns at the keyboard.
8 VBoxManage reference When running VBoxManage without parameters or when supplying an invalid command line, the below syntax diagram will be shown. Note that the output will be slightly different depending on the host platform; when in doubt, check the output of VBoxManage for the commands available on your particular host. Usage: VBoxManage [-v|--version] print version number and exit VBoxManage [-q|--nologo] ...
8 VBoxManage reference [--biosbootmenu disabled|menuonly|messageandmenu] [--biossystemtimeoffset ] [--biospxedebug on|off] [--boot<1-4> none|floppy|dvd|disk|net>] [--hd none||] [--idecontroller PIIX3|PIIX4] [--dvd none|||host:] [--dvdpassthrough on|off] [--floppy disabled|empty|| |host:] [--nic<1-N> none|null|nat|bridged|intnet] [--nictype<1-N> Am79C970A|Am79C973] [--cableconnected<1-N> on|off] [--nictrace<1-N> on|off] [--nictracefil
8 VBoxManage reference [--type gui|sdl|vrdp|headless] VBoxManage controlvm | pause|resume|reset|poweroff|savestate| acpipowerbutton|acpisleepbutton| keyboardputscancode [ ...
8 VBoxManage reference VBoxManage convertfromraw VBoxManage convertfromraw [--format VDI|VMDK|VHD] [--variant Standard,Fixed,Split2G,Stream,ESX] stdin [--format VDI|VMDK|VHD] [--variant Standard,Fixed,Split2G,Stream,ESX] VBoxManage addiscsidisk --server | --target [--port ] [--lun ] [--encodedlun ] [--username ] [--password ] [--type normal|writethrough|immutable] [--comment ] [--intnet] VBoxMan
8 VBoxManage reference [--remote yes|no] (null, VM filters only) [--serialnumber |""] [--maskedinterfaces ] VBoxManage usbfilter remove --target ||global VBoxManage sharedfolder add | --name --hostpath [--transient] [--readonly] VBoxManage sharedfolder remove | --name [--transient] VBoxManage vmstatistics | [--reset] [--pattern ] [--descriptions] VBoxManage metrics list [*|host|
8 VBoxManage reference 8.1 VBoxManage list The list command gives relevant information about your system and information about VirtualBox’s current settings. The following subcommands are available with VBoxManage list: • vms lists all virtual machines currently registered with VirtualBox. By default this displays a compact list with each VM’s name and UUID; if you also specify --long or -l, this will be a detailed list as with the showvminfo command (see below).
8 VBoxManage reference $ VBoxManage showvminfo "Windows XP" VirtualBox Command Line Management Interface Version 3.0.0 (C) 2005-2008 Sun Microsystems, Inc. All rights reserved. Name: Guest OS: UUID: Config file: Memory size: VRAM size: Boot menu mode: ACPI: IOAPIC: Hardw. virt.ext: State: Floppy: DVD: NIC 1: NIC 2: NIC 3: NIC 4: Audio: VRDP: USB: Windows XP Other/Unknown 1bf3464d-57c6-4d49-92a9-a5cc3816b7e7 /home/username/.VirtualBox/Machines/Windows XP/Windows XP.
8 VBoxManage reference 8.4 VBoxManage createvm This command creates a new XML virtual machine definition file. The --name parameter is required and must specify the name of the machine. Since this name is used by default as the file name of the settings file (with the extension .xml) and the machine folder (a subfolder of the .VirtualBox/Machines folder), it must conform to your host operating system’s requirements for file name specifications.
8 VBoxManage reference • --pae on|off: This enables/disables PAE (see chapter 3.7.2.2, “Processor” tab, page 48). • --hwvirtex on|off|default: This enables or disables the use of hardware virtualization extensions (Intel VT-x or AMD-V) in the processor of your host system; see chapter 1.2, Software vs. hardware virtualization (VT-x and AMD-V), page 11.
8 VBoxManage reference 8.5.2 Storage settings The following storage settings are available through VBoxManage modifyvm: • --hd none||: This specifies the settings for each of the three virtual hard disks that can be attached to a VM’s IDE controller (primary master and slave, and secondary slave; the secondary master is always reserved for the virtual CD/DVD drive).
8 VBoxManage reference • --floppy disabled|empty|||host:: This is the floppy equivalent to the --dvd option described above. disabled completely disables the floppy controller, whereas empty keeps the floppy controller enabled, but without a media inserted. 8.5.
8 VBoxManage reference • --intnet<1-N> network: If internal networking has been enabled for a virtual network card (see the --nic option above; otherwise this setting has no effect), use this option to specify the name of the internal network (see chapter 6.6, Internal networking, page 88). • --macaddress<1-N> auto|: With this option you can set the MAC address of the virtual network card. Normally, each virtual network card is assigned a random address by VirtualBox at VM creation. 8.5.
8 VBoxManage reference should be shared with the host; see chapter 3.7.1, General settings, page 46. This requires that the Guest Additions be installed in the virtual machine. • --vrdp on|off: With the VirtualBox graphical user interface, this enables or disables the built-in VRDP server. Note that if you are using VBoxHeadless (see chapter 7.4.1, VBoxHeadless, the VRDP-only server, page 94), VRDP output is always enabled.
8 VBoxManage reference VBoxManage import WindowsXp.ovf --dry-run Interpreting WindowsXp.ovf... OK.
8 VBoxManage reference VMDK. See chapter 3.8, Importing and exporting virtual machines, page 56 for an introduction to appliances. The export command is simple to use: list the machine (or the machines) that you would like to export to the same OVF file and specify the target OVF file after an additional --output or -o option.
8 VBoxManage reference 8.9 VBoxManage controlvm The controlvm subcommand allows you to change the state of a virtual machine that is currently running. The following can be specified: • VBoxManage controlvm pause temporarily puts a virtual machine on hold, without changing its state for good. The VM window will be painted in gray to indicate that the VM is currently paused. (This is equivalent to selecting the “Pause” item in the “Machine” menu of the GUI.
8 VBoxManage reference • dvdattach inserts a DVD image into the virtual machine or connects it to the host DVD drive. With this command (as opposed to VBoxManage modifyvm), the image file does not first have to be registered with VirtualBox. You can use VBoxManage list hostdvds to display all the drives found on the host and the names VirtualBox uses to access them. • floppyattach works in a similar way. • setvideomodehint requests that the guest system change to a particular video mode.
8 VBoxManage reference Note: For compatibility with earlier versions of VirtualBox, the “registerimage” and “unregisterimage” commands are also supported and mapped internally to the “openmedium” and “closemedium” commands, respectively. Note however that when you unregister a hard disk image using VBoxManage, it will not be deleted from the host computer’s hard drive. 8.
8 VBoxManage reference remember Keep the destination image registered after it was successfully written. Note: For compatibility with earlier versions of VirtualBox, the “createvdi” command is also supported and mapped internally to the “createhd” command. 8.15 VBoxManage modifyhd With the modifyhd command, you can change the type of an existing image between the normal, immutable and write-through modes; see chapter 5.3, Configuring image write operations, page 78 for details.
8 VBoxManage reference format Allow to choose a file format for the output file different from the file format of the input file. variant Allow to choose a file format variant for the output file. It is a commaseparated list of variant flags. Not all combinations are supported, and specifying inconsistent flags will result in an error message. type Only honored if –remember is also specified. Defines what kind of hard disk type this image should be.
8 VBoxManage reference 8.18 VBoxManage addiscsidisk The addiscsidisk command attaches an iSCSI network storage unit to VirtualBox. The iSCSI target can then be made available to and used by a virtual machine as though it were a standard write-through virtual disk image.
8 VBoxManage reference 8.19 VBoxManage getextradata/setextradata These commands let you attach and retrieve string data to a virtual machine or to a VirtualBox configuration (by specifying global instead of a virtual machine name). You must specify a key (as a text string) to associate the data with, which you can later use to retrieve it. For example: VBoxManage setextradata Fedora5 installdate 2006.01.01 VBoxManage setextradata SUSE10 installdate 2006.02.02 would associate the string “2006.01.
8 VBoxManage reference 8.21 VBoxManage usbfilter add/modify/remove The usbfilter commands are used for working with USB filters in virtual machines, or global filters which affect the whole VirtualBox setup. Global filters are applied before machine-specific filters, and may be used to prevent devices from being captured by any virtual machine. Global filters are always applied in a particular order, and only the first filter which fits a device is applied.
8 VBoxManage reference Metric data is collected and retained internally; it may be retrieved at any time with the VBoxManage metrics query subcommand. The data is available as long as the background VBoxSVC process is alive. That process terminates shortly after all VMs and frontends have been closed. By default no metrics are collected at all. Metrics collection does not start until VBoxManage metrics setup is invoked with a proper sampling interval and the number of metrics to be retained.
8 VBoxManage reference Note: The query subcommand does not remove or “flush” retained data. If you query often enough you will see how old samples are gradually being “phased out” by new samples. collect This subcommand sets the interval between taking two samples of metric data and the number of samples retained internally. The collected data is displayed periodically until Ctrl-C is pressed unless the -detach option is specified.
8 VBoxManage reference omitted, the property is deleted.
8 VBoxManage reference • With --lowerip and --upperip, you can specify the lowest and highest IP address, respectively, that the DHCP server will hand out to clients. Finally, you must specify --enable or the the DHCP server will be created in the disabled state, doing nothing. After this, VirtualBox will automatically start the DHCP server for given internal or host-only network as soon as the first virtual machine which uses that network is started.
9 Advanced topics 9.1 VirtualBox configuration data For each system user, VirtualBox stores configuration data in the user’s home directory, as per the conventions of the host operating system: • On Windows, this is %HOMEDRIVE%%HOMEPATH%\.VirtualBox; typically something like C:\Documents and Settings\Username\.VirtualBox. • On Mac OS X, this is $HOME/Library/VirtualBox. • On Unix-like systems (Linux, Solaris), this is $HOME/.VirtualBox.
9 Advanced topics machine called “Fedora 6” would, by default, have its settings saved in .VirtualBox/Machines/Fedora 6/Fedora 6.xml. If you would like more control over the file names used, you can create the machine using VBoxManage createvm with the --settingsfile option; see chapter 8.4, VBoxManage createvm, page 107. The virtual machine directory will be renamed if you change the machine name.
9 Advanced topics Note: The VirtualBox GINA is implemented as a wrapper around the standard Windows GINA (MSGINA.DLL) so it will most likely not work correctly with 3rd party GINA modules. To set credentials, use the following command on a running VM: VBoxManage controlvm "Windows XP" setcredentials "John Doe" "secretpassword" "DOMTEST" While the VM is running, the credentials can be queried by the VirtualBox GINA module using the VirtualBox Guest Additions device driver.
9 Advanced topics External authentication is the most flexible as the external handler can both choose to grant access to everyone (like the “null” authentication method would) and delegate the request to the guest authentication component. When delegating the request to the guest component, it will still be called afterwards with the option to override the result. A VRDP authentication library is required to implement exactly one entry point: #include "VRDPAuth.h" /** * Authentication library entry point.
9 Advanced topics • reverse the order of byte 6 and 7. Using this conversion you will get identical results when converting the binary UUID to the string representation. The second arguments contains information about the guest authentication status. For the first call, it is always set to VRDPAuthGuestNotAsked. In case the function returns VRDPAuthDelegateToGuest, a guest authentication will be attempted and another call to the method is made with its result.
9 Advanced topics Additions automatically provide the reduced video modes. Additionally, the VESA BIOS has been adjusted to duplicate its standard mode table with adjusted resolutions. The adjusted mode IDs can be calculated using the following formula: reduced_modeid = modeid + 0x30 For example, in order to start Linux with 1024 x 748 x 16, the standard mode 0x117 (1024 x 768 x 16) is used as a base.
9 Advanced topics 9.6 Multiple monitors for the guest VirtualBox allows the guest to use multiple virtual monitors. Up to sixty-four virtual monitors are supported. Note: 1. Multiple monitors currently work only with Windows XP guests, and Guest Additions must be installed, as the implementation resides in the Guest Additions video driver. 2. Multiple monitors work only with the VBoxHeadless frontend. You must also enable VRDP multiconnection mode (see chapter 7.4.
9 Advanced topics to the VBoxSDL main thread (first entry in the ps list). For example, when switching away to another VT and saving the virtual machine from this terminal, the following sequence can be used to make sure the VM is not saved with stuck modifiers: kill -usr1 VBoxManage controlvm "Windows 2000" savestate 9.8 Launching more than 120 VMs on Solaris hosts Solaris hosts have a fixed number of IPC semaphores IDs per process preventing users from starting more than 120 VMs.
9 Advanced topics This sets up a serial port in the guest with the default settings for COM1 (IRQ 4, I/O address 0x3f8) and the Location setting assumes that this configuration is used on a Windows host, because the Windows named pipe syntax is used. Keep in mind that on Windows hosts a named pipe must always start with \\.\pipe\. On Linux the same config settings apply, except that the path name for the Location can be chosen more freely.
9 Advanced topics arbitrary ways without having to recreate the image file that gives access to the raw disk. To create an image that represents an entire physical hard disk (which will not contain any actual data, as this will all be stored on the physical disk), on a Linux host, use the command VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda This creates the image /path/to/file.vmdk (must be absolute), and all data will be read and written from /dev/sda.
9 Advanced topics VirtualBox uses the same partition numbering as your Linux host. As a result, the numbers given in the above example would refer to the first primary partition and the first logical drive in the extended partition, respectively. On a Windows host, instead of the above device specification, use e.g. \\.\PhysicalDrive0. Partition numbers are the same on Linux and Windows hosts.
9 Advanced topics 9.11 Allowing a virtual machine to start even with unavailable CD/DVD/floppy devices When, on VM startup, a CD, DVD or floppy device is unavailable, VirtualBox by default prints an error message and refuses to start the virtual machine. In some situations this behavior is not desirable.
9 Advanced topics VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/NextServer" 10.0.2.2 VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/BootFile" /srv/tftp/boot/MyPXEBoot.pxe 9.12.3 Tuning TCP/IP buffers for NAT The VirtualBox NAT stack performance is often determined by its interaction with the host’s TCP/IP stack and the size of several buffers (SO_RCVBUF and SO_SNDBUF).
9 Advanced topics 9.12.5 Enabling DNS proxy in NAT mode For resolving network names the DHCP server of the NAT engine offers a list of registered DNS servers of the host. For some reason you might need to hide the DNS server list, thereby forcing the VirtualBox NAT engine to react to changes in the host network settings, for example about the end of DHCP leases.
9 Advanced topics "Host BIOS Version" VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "Host BIOS Release Date" VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor" 1 VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor" 2 VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 3 VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFi
9 Advanced topics 9.16 Configuring the hard disk vendor product data (VPD) VirtualBox reports vendor product data for its virtual hard disks which consist of hard disk serial number, firmware revision and model number.
10 VirtualBox programming interfaces VirtualBox comes with comprehensive support for third-party developers. The socalled “Main API” of VirtualBox exposes the entire feature set of the virtualization engine. It is completely documented and available to anyone who wishes to control VirtualBox programmatically.
11 Troubleshooting This chapter provides answers to commonly asked questions. In order to improve your user experience with VirtualBox, it is recommended to read this section to learn more about common pitfalls and get recommendations on how to use the product. 11.1 General 11.1.1 Collecting debugging information For problem determination, it is often important to collect debugging information which can be analyzed by VirtualBox support.
11 Troubleshooting after a certain amount of data has been written.
11 Troubleshooting 11.2 Windows guests 11.2.1 Windows bluescreens after changing VM configuration Often, customers encounter Windows startup failures (the infamous “blue screen”) after performing configuration changes to a virtual machine which are not allowed for an already installed Windows operating system.
11 Troubleshooting VBoxManage setextradata VMNAME "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1 This sets the delay to one millisecond. In case this doesn’t help, increase it to a value between 1 and 5 milliseconds. Please note that this slows down disk performance. After installation, you should be able to remove the key (or set it to 0). 11.2.4 How to record bluescreen information from Windows guests When Windows guests run into a kernel crash, they display the infamous bluescreen.
11 Troubleshooting 11.3.2 AMD Barcelona CPUs Most Linux-based guests will fail with AMD Phenoms or Barcelona-level Opterons due to a bug in the Linux kernel. Enable the I/O-APIC to work around the problem (see chapter 3.7.1.2, “Advanced” tab, page 46). 11.3.3 Buggy Linux 2.6 kernel versions The following bugs in Linux kernels prevent them from executing correctly in VirtualBox, causing VM boot crashes: • The Linux kernel version 2.6.18 (and some 2.6.
11 Troubleshooting the COM server might experience an internal error and subsequently other processes fail to initialize it. In these situations, it is recommended to use the Windows task manager to kill the process VBoxSVC.exe. 11.4.2 CD/DVD changes not recognized In case you have assigned a physical CD/DVD drive to a guest and the guest does not notice when the medium changes, make sure that the Windows media change notification (MCN) feature is not turned off.
11 Troubleshooting 11.4.4 Running an iSCSI initiator and target on a single system Deadlocks can occur on a Windows host when attempting to access an iSCSI target running in a guest virtual machine with an iSCSI initiator (e.g. Microsoft iSCSI Initiator) that is running on the host.
11 Troubleshooting 11.5.3 Linux host CD/DVD drive not found (older distributions) On older Linux distributions, if your CD/DVD device has a different name, VirtualBox may be unable to find it. On older Linux hosts, VirtualBox performs the following steps to locate your CD/DVD drives: 1. VirtualBox examines if the environment variable VBOX_CDROM is defined (see below). If so, VirtualBox omits all the following checks. 2. VirtualBox tests if /dev/cdrom works. 3.
11 Troubleshooting for IDE CD/DVD writer units this must refer to the appropriate SCSI CD-ROM device node (e.g. /dev/scd0) if the ide-scsi kernel module is loaded. This module is required for CD/DVD writer support with all Linux 2.4 kernels and some early 2.6 kernels. Many Linux distributions load this module whenever a CD/DVD writer is detected in the system, even if the kernel would support CD/DVD writers without the module. VirtualBox supports the use of IDE device files (e.g.
11 Troubleshooting Replace 85 with the group ID that matches your system (search /etc/group for “usb” or similar). Alternatively, if you don’t mind the security hole, give all users access to USB by changing “664” to “666”. The various distributions are very creative from which script the usbfs filesystem is mounted. Sometimes the command is hidden in unexpected places. For SuSE 10.0 the mount command is part of the udev configuration file /etc/udev/rules.d/50-udev.rules.
11 Troubleshooting a weird error message such as “failed to mount the root partition”), then you have probably run into a memory conflict of your kernel and initial RAM disk. This can be solved by adding the following parameter to your GRUB configuration: uppermem 524288 11.6 Solaris hosts 11.6.1 Cannot start VM, not enough contiguous memory The ZFS file system is known to use all available RAM as cache if the default system settings are not changed.
12 Change log This section summarizes the changes between VirtualBox versions. Note that this change log is not exhaustive; not all changes are listed. VirtualBox version numbers consist of three numbers separated by dots where the first number represents the major version, the 2nd number the minor version and the 3rd one the build number. Build numbers of official releases are always even. An odd build number represents an internal development or test build. 12.1 Version 3.0.
12 Change log • VMM: some Windows guests detected a completely wrong CPU frequency (bug #2227) • VMM: fixed hanging and unkillable VM processes (bug #4040) • VMM: fixed random infrequent guest crashes due XMM state corruption (Win64 hosts only) • VMM: performance improvements for network I/O (VT-x/AMD-V only) • GUI: added mini toolbar for fullscreen and seamless mode (Thanks to Huihong Luo) • GUI: redesigned settings dialogs • GUI: allow to create/remove more than one host-only network adapters (non Windows
12 Change log • VHD: fixed crash when discarding snapshots of a VHD image • VHD: fixed access beyond the block bitmap which could lead to arbitrary crashes • VBoxManage: fixed incorrect partition table processing when creating VMDK files giving raw partition access (bug #3510) • VBoxManage: support cloning to existing image file • OVF: several OVF 1.
12 Change log • Web service: fixed inability to handle NULL pointers for object arguments, which are valid values for a lot of APIs, in both the raw and the object-oriented web service. • Web service: object-oriented bindings for JAX-WS did not exhibit interface inheritance correctly, fixed • Web service: added support for IDisplay and IGuest interfaces, which were previously unavailable • Registration dialog uses Sun Online accounts now 12.2 Version 2.2.4 (2009-05-29) This is a maintenance release.
12 Change log • OVF: fixed potential crashes during import/export on Win64 hosts • VBoxManage modifyhd --compact: fixed bug which could lead to crashes and image corruption (bug #3864) • VBoxManage metrics collect: now flushes the output stream • VHD: made VBoxManage internalcommands sethduuid work for .vhd files (bug #3443) • VHD: some .
12 Change log 12.3 Version 2.2.2 (2009-04-27) This is a maintenance release. The following items were fixed and/or added: • Host and guest clipboard: fixed a number of issues affecting hosts and guests running the X window system • Guest Additions: make sure the virtual mouse autodetection works on first reboot after installing the Additions on X.Org server 1.
12 Change log • VBoxManage modifyhd --compact: implemented again for VDI files, and now supports relative paths (bug #2180, #2833) • VBoxManage snapshot discard: made it work again (2.1.0 regression; bug #3714) • NAT: on some Windows hosts, the guest didn’t receive a DHCP lease (bug #3655) • NAT: fixed release assertion during poll() (bug #3667) • Networking: fixed a deadlock caused by the PCnet network device emulation (2.2.
12 Change log • Shared Folders for Solaris and OpenSolaris guests • OpenGL 3D acceleration for Linux and Solaris guests (see chapter 4.
12 Change log • USB: further reduced host CPU utilization for OHCI and EHCI; the “VBoxInternal/Devices/usbohci/0/Config/FrameRate” CFG key is no longer necessary and no longer supported • USB: fixed BSOD on the host with certain USB devices (Windows hosts only; bug #1654) • E1000: properly handle cable disconnects (bug #3421) • VRDP: fixed hangs when VRDP server is enabled or disabled in runtime • Shared Folders: respect umask settings on Linux, OSX and Solaris hosts when creating files • X11 guests: preven
12 Change log • VBoxManage: big command line processing cleanup, the legacy single-dash options are deprecated and will be removed in the next major release, so switch to the new options now • Hard disks: improved immutable disk support to auto-reset diff file at VM startup (related to bug #2772) • GUI: enable the audio adapter by default for new VMs • GUI: warn if VT-x/AMD-V is not operational when starting a 64-bit guest • GUI: deactivate 64-bit guest support when the host CPU does not support VTx/AMD-V •
12 Change log 12.5 Version 2.1.4 (2009-02-16) This is a maintenance release.
12 Change log • NAT: fixed occasional crashes when the guest is doing traceroute (non-Windows hosts; bug #3200) • NAT: fixed crashes under high load (bug #3110) • NAT: fixed truncated downloads (Windows hosts only, bug #3257) • NAT: don’t intercept TFTP packages with a destination address different from the builtin TFTP server (bug #3112) • USB: several fixes for USB passthrough on Linux hosts • USB: reduced host CPU utilization if EHCI is active • VRDP: fixed VRDP server black screen after a client reconne
12 Change log 12.6 Version 2.1.2 (2009-01-21) This is a maintenance release.
12 Change log • VGA: significant performance improvements when using VT-x/AMD-V on Mac OS X hosts • VGA: better handling for VRAM offset changes (fixes GRUB2 and Dos DOOM display issues) • VGA: custom VESA modes with invalid widths are now rounded up to correct ones (bug #2895) • IDE: fixed ATAPI passthrough support (Linux hosts only; bug #2795) • Networking: fixed kernel panics due to NULL pointer dereference in Linux kernels < 2.6.
12 Change log • VBoxManage convertfromraw: added parameter checking and made it default to creating VDI files; fixed and documented format parameter (bug #2776) • VBoxManage clonehd: fixed garbled output image when creating VDI files (bug #2813) • VBoxManage guestproperty: fixed property enumeration (incorrect parameters/exception) • VHD: fixed error when attaching certain container files (bug #2768) • Solaris hosts: added support for serial ports (bug #1849) • Solaris hosts: fix for Japanese keyboards (bug
12 Change log • Linux Additions: fixed bug which prevented to properly set fmode on mapped shared folders (bug #1776) • Linux Additions: fixed appending of files on shared folders (bug #1612) • Linux Additions: ignore noauto option when mounting a shared folder (bug #2498) • Linux Additions: fixed a driver issue preventing X11 from compiling keymaps (bug #2793 and #2905) • X11 Additions: workaround in the mouse driver for a server crash when the driver is loaded manually (bug #2397) 12.7 Version 2.1.
12 Change log • VMM: Solaris and OpenSolaris guest performance improvements for AMD-V (Barcelona family CPUs only) • VMM: fixed guru meditation while running the Dr.
12 Change log • Graphics: fixed handling of a guest video memory which is not a power of two (bug #2724) • VBoxManage: fixed bug which prevented setting up the serial port for direct device access • VBoxManage: added support for VMDK and VHD image creation • VBoxManage: added support for image conversion (VDI/VMDK/VHD/RAW) • Solaris hosts: added IPv6 support between host and guest when using host interface networking • Mac OS X hosts: added ACPI host power status reporting • API: redesigned storage model wi
12 Change log • Networking: fixed issue where a VM could lose connectivity after a reboot • Linux hosts: fixed occasional kernel oopses (bug #2556) • Solaris hosts: fixed high CPU load while running many guests in parallel • Solaris hosts: fixed inability to start more than 128 VMs • Solaris/Web services: fixed SMF script to set home directory correctly • Linux Additions: fixed occasional file corruption when writing files in O_APPEND mode to a shared folder (bug #2844) 12.9 Version 2.0.
12 Change log • Linux hosts: fixed assertion on high network load (AMD64 hosts, fix for Linux distributions with glibc 2.
12 Change log • VHD: fixed bug which prevents booting from VHD images bigger than 4GB (bug #2085) • VRDP: fixed a repaint problem when the guest resolution was not equal to the client resolution • Clipboard: don’t crash when host service initialization takes longer than expected (Linux hosts only; bug #2001) • Windows hosts: VBoxSVC.exe crash (bug #2212) • Windows hosts: VBoxSVC.exe memory leak due to a Windows WMI memory leak (Vista only) (bug #2242) • Windows hosts: VBoxSVC.
12 Change log 12.11 Version 2.0.2 (2008-09-12) This is a maintenance release. The following items were fixed and/or added: • VMM: fixed inability to run more than one VM in parallel (AMD-V on CPUs with erratum 170 only; bug #2167) • VMM: VT-x stability fixes (bug #2179 and others) • VMM: fixed Linux 2.6.26+ kernel crashes (used by Ubuntu 8.10 Alpha, Fedora 10 Alpha; bug #1875) • VMM: fixed 64 bits Linux 2.6.
12 Change log • VRDP: allow a client to reconnect to an existing session on the VRDP server by dropping the existing connection (configurable and disabled by default; only relevant when multiconnection mode is disabled) • VRDP: fixed an image repaint problem • Linux hosts: fixed bug in vboxdrv.ko that could corrupt kernel memory and panic the kernel (bug #2078) • Linux hosts: compile fixes for kernel module on Linux 2.6.
12 Change log 12.12 Version 2.0.0 (2008-09-04) This version is a major update.
12 Change log 12.13 Version 1.6.6 (2008-08-26) This is a maintenance release.
12 Change log • Windows Additions: fixed bug when creating intermediate directories (bug #1870) • Windows Additions: implemented /xres=, /yres= and /depth= switches for the installer (bug #1990) • Linux Additions: properly unregister the misc device when unloading the kernel module • Linux Additions: fixed startup order for recent Linux distributions again (e.g.
12 Change log • VRDP: fixed enabling the RDP server during runtime • VRDP: properly detect the rdesktop 1.6.0 RDP client • VRDP: fixed RDP crash (bug #1521) • VRDP: updated modified rdesktop client to version 1.6.0 • GUI: NLS improvements • BIOS: added SMBIOS header to make Solaris and Vista recognize the DMI data • ACPI: properly hide a disabled floppy controller • VMM: small fixes to protected mode without paging • VMDK: fixed handling of .
12 Change log 12.15 Version 1.6.2 (2008-05-28) This is a maintenance release. The following items were fixed and/or added: • GUI: fixed a bug which prevented to add more than one SATA drive from the GUI • GUI: fixed a regression introduced in 1.6.0: the fullscreen mode was left on every guest video mode switch • GUI: fixed several minor issues • Networking: fixed a host interface networking regression introduced in 1.6.
12 Change log • Internal Networking: fixed shutdown if more than two VMs are connected to the same network • BIOS: allow to change the DMI information (see chapter 9.14, Configuring the BIOS DMI information, page 140) • RTC: fixed UIP emulation to prevent jumping of time in Solaris guests • Windows host: VirtualBox installation directory corrected for 64 bits Windows • Windows host: fixed VBoxVRDP.
12 Change log • SATA hard disk (AHCI) controller (see chapter 5.
12 Change log • Shared Folders: many bugfixes to improve stability • Seamless windows: added support for Linux guests • Linux installer: support DKMS for compiling the kernel module • Linux host: compatibility fixes with Linux 2.6.25 • Windows host: support for USB devices has been significantly improved; many additional USB devices now work • Windows Additions: automatically install AMD PCNet drivers on Vista guests • Linux Additions: several fixes, experimental support for RandR 1.
12 Change log • VMM: under heavy guest activity, for example when copying files to/from a shared folder, the VM could crash with an assertion • VMM: added an option to select PIIX4 (improves compatibility with Windows guests created by VMware) • VMM: fixed a bug which could lead to memory corruption under rare circumstances • VMM: improved performance of Solaris guests • VRDP: fixed a 1.5.
12 Change log • Linux installer: fixed Slackware detection regression • Linux installer: updated VBoxTunctl allowing to assign a tap device to a group on Linux kernels > 2.6.23 • Windows Additions: several fixes, in particular for Windows NT4 • Windows Additions: made them uninstallable • Linux Additions: fixed installer for Kubuntu 8.04 • Linux Additions: add default video mode for handling video mode hints from the host • Linux host: compatibility fixes with Linux > 2.6.24 12.18 Version 1.5.
12 Change log • VMM: fixed code for overriding CPUID values • VMM: improved error handling on out-of-memory conditions • API: don’t crash when trying to create a VM with a duplicate name • API: don’t crash when trying to access the settings of a VM when some other VMs are not accessible • API: fixed several memory leaks • ATA/IDE: fixed SuSE 9.
12 Change log • Clipboard: fixed a SEGFAULT on VM exit (Linux host) • Clipboard: fixed a buffer overflow (Linux host) • Shared Folders: fixed memory leaks • Linux installer: remove the old kernel module before compiling a new one • Linux host: compatibility fixes with Linux 2.6.24 • Linux host: script fixes for ArchLinux • Linux host: load correct HAL library to determine DVD/floppy (libhal.so.1 not libhal.
12 Change log • GUI: fixed DirectDraw mode with certain video cards (e.g.
12 Change log • IDE: large reads from CD could exceed the I/O buffer size • Audio: load ALSA dynamically on Linux (i.e.
12 Change log In addition, the following items were fixed and/or added: • GUI: sometimes two mouse cursors were visible when Windows guest Additions became active • GUI: added VT-x/AMD-V settings • GUI: disable ’Show log...
12 Change log • VMM: fixed crashes if memory allocation failed (Linux) • VMM: fixed enabling of Local APIC on AMD hosts (fixed Ubuntu Feisty installation kernel hang during boot) • VMM: fixed XFree86 4.
12 Change log • Guest Additions: Linux guests shipping Xorg 1.3 (e.g. Fedora 7, Ubuntu Gutsy) are now supported • Guest Additions: added DirectDraw support to the Windows display driver 12.21 Version 1.4.
12 Change log • VMM: fixed issues with V86 mode • VMM: support V86 extensions (VME) • VMM: support guests with a full GDT • VMM: fixed boot hangs for some Linux kernels • VMM: improved FreeBSD and OpenBSD support • VMM: improved performance of guests that aggressively patch kernel code (very recent Linux 2.
12 Change log • NAT: pass first entry in DNS search list (Linux host) or primary DNS suffix (Windows host) as domain name in DHCP • NAT: support UDP broadcasts, which enables using Windows shares • NAT: only warn if the name server could not be determined, no fatal error anymore • NAT: fix a potential problem with incorrect memory allocation • Internal Networking: fixed issue on Windows hosts • Host Interface Networking: fixed sporadic crashes on interface creation/destruction (Windows host) • Host Interfac
12 Change log • Linux Additions: make VBox version visible in Linux modules with modinfo • Linux Additions: make X11 guest video driver accept arbitrary X resolutions • Linux Additions: make X11 setup work if /tmp uses a separate file system • Linux Additions: better support unknown distributions • Linux Installer: force a non-executable stack for all binaries and shared libraries • Linux Installer: make it work on SELinux-enabled systems • Linux Installer: ship VBoxTunctl 12.22 Version 1.3.
12 Change log • Audio: fixed crashes on Vista hosts • NAT: allow configuration of incoming connections (aka port mapping) • Network: hard reset network device on reboot • iSCSI: fixed a hang of unpaused VMs accessing unresponsive iSCSI disks • Linux Additions: support Xorg 7.2.x • Linux Additions: fixed default video mode if all other modes are invalid • Linux Additions: set default DPI to 100,100 • Linux Additions: fixed initialization of video driver on X server reset 12.23 Version 1.3.
12 Change log 12.24 Version 1.3.
12 Change log • Network: fixed IRQ conflict causing occasional major slowdowns with XP guests • Network: significantly improved send performance • Audio: added mixer support to the AC’97 codec (master volume only) • Audio: added support for ALSA on Linux (native, no OSS emulation) • iSCSI: improved LUN handling • iSCSI: fixed hang due to packet overflow • iSCSI: pause VM on iSCSI connection loss • Linux module: never fail unloading the module (blocks Ubuntu/Debian uninstall) • Linux module: improved compati
12 Change log • VMM: significant performance improvements for Linux 2.
12 Change log • VMM: experimental support for IBM OS/2 Warp (requires VT-x to be enabled) • USB: added support for isochronous transfers (webcams, audio, etc.
12 Change log 12.29 Version 1.1.10 (2006-07-28) • IDE: added workaround for Acronis TrueImage (violates IDE specification) • IDE: resolved issues with certain Linux guests • ACPI: further improved host power status reporting • API: fixed several race conditions and improved reliability • API: increased maximum guest RAM size to 2GB (Linux host) and 1.
12 Change log • VBoxManage: made VRDP authentication configurable • VDI: added workaround against possible Windows host deadlocks caused by a synchronization flaw in Windows • ACPI: improved host power status reporting 12.31 Version 1.1.6 (2006-04-18) • ACPI: added workaround for XP SP2 crash in intelppm.
12 Change log • VRDP: added client authentication through external authentication libraries (WinLogon and PAM interfaces are provided as sample code) • VRDP: close TCP connection immediately when receiving bad data from the remote side • VRDP: improved Microsoft RDP client support • XPCOM: fixed race condition on SMP systems that could lead to hung client processes (Linux host) • API: fixed race condition on SMP systems • Network: added AMD PC-Net II 100MBit network card (Am79C973) • Network: added PXE boot
12 Change log • VMM: fixed random user mode crashes with OpenBSD guests • VMM: increased timing accuracy (PIT, RTC), reduced PIT query overhead • VMM: tamed execution thread to make GUI more responsive (esp.
12 Change log 12.34 Version 1.0.
12 Change log • GUI: allow creation and assignment of disk images in the New VM wizard. • USB: fixed high CPU load on certain Linux distributions • VBoxSDL: fixed several secure labeling issues (crash at exit, protection against guest video modes greater than what SDL provides on the host) • VBoxManage: convert command line parameters from the current codepage to Unicode 12.36 Version 1.0.
12 Change log • Graphics/Additions/GUI: added dynamic resizing support • Graphics: added workaround for buggy VESA support in Windows Vista/Longhorn • VRDP: performance and stability improvements; added support for graphics acceleration architecture • USB: restructured USB subsystem; added support for filters to autocapture devices that meet defined criteria • GUI: added mouse wheel support • VMM: added support for PAE host mode 12.38 Version 1.0.
12 Change log • VBoxManage: restructured commands, added numerous improvements • GUI: propagate hostkey change to all running instances • GUI: perform image access tests asynchronously • GUI: added boot order support • GUI: user interface redesign 12.39 Version 1.0.40 (2005-06-17) Note: The configuration has to be deleted as the format has changed. On Linux, issue rm -rf /̃.VirtualBox. On Windows, remove the directory C:\Documents and Settings\\.VirtualBox.
12 Change log • GUI: added detailed error information dialogs • GUI: special handling of inaccessible media • API: better error message handling, provide system parameters, handle inaccessible media • Guest Additions: implemented full pointer shape support for all pointer color depths including alpha channel • VBoxManage: several command extensions 12.40 Version 1.0.39 (2005-05-05) Note: Guest Additions have to be updated.
12 Change log • VMM: fixed several crashes and hangs while installing certain builds of Windows 2000 and XP • VMM: allow guests to have more than 512MB of RAM • VMM: resolved compatibility issues with SMP systems (Windows Host) • VRDP: process cleanup on Linux fixed • Linux module: fixed build error on Red Hat 2.4.21-15-EL • NT Additions: fixed installation and a trap • Win2k/XP Additions: fixed installation 12.42 Version 1.0.37 (2005-04-12) Initial build with change log.
13 Known limitations The following section describes some issues that are known not to work in VirtualBox 3.0.0. Unless marked otherwise these issues are planned to be fixed in later releases. • The following Guest SMP (multiprocessor) limitations exist: – Bad performance with 32-bit guests on AMD CPUs. This affects mainly Windows and Solaris guests, but possibly also some Linux kernel revisions. – 64-bit guests on 32-bit hosts do not support SMP yet (except on Mac OS X).
13 Known limitations – OVA archives (TAR containers) are not yet supported. – Remote files via HTTP or other mechanisms are not yet supported. • Host-only networking. Creation/deletion of host-only adapters are supported for Windows hosts only presently. On other platforms, there is one fixed hostonly interface called “vboxnet0” presently. This will change in a future release. • Vista 64-bit hosts have stability issues when using USB. • Mac OS X host.
13 Known limitations – No ACPI information (battery status, power source) is reported to the guest. – No support for using wireless with bridged networking. – On Solaris 10 U4, zones are not supported. • Guest Additions for OS/2. Shared folders are not yet supported with OS/2 guests. In addition, seamless windows and automatic guest resizing will probably never be implemented due to inherent limitations of the OS/2 graphics system.
14 Third-party licenses VirtualBox incorporates materials from several Open Source software projects. Therefore the use of these materials by VirtualBox is governed by different Open Source licenses. This document reproduces these licenses and provides a list of the materials used and their respective licensing conditions. Section 1 contains a list of the materials used. Section 2 reproduces the applicable Open Source licenses. For each material, a reference to its license is provided. 14.
14 Third-party licenses • VirtualBox may contain NSPR and XPCOM which is governed by the license in chapter 14.2.3, Mozilla Public License (MPL), page 230 and Copyright (C) The Authors. • VirtualBox contains Slirp which is governed by the license in chapter 14.2.7, Slirp license, page 239 and was written by Danny Gasparovski. Copyright (C) 1995, 1996 All Rights Reserved. • VirtualBox contains liblzf which is governed by the license in chapter 14.2.
14 Third-party licenses • VirtualBox may contain code from the gSOAP XML web services tools, which are licensed under the license in chapter 14.2.13, gSOAP Public License Version 1.3a, page 242 and Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., and others. • VirtualBox may ship with the application tunctl (shipped as VBoxTunctl) from the User-mode Linux suite which is governed by the license in chapter 14.2.1, GNU General Public License (GPL), page 218 and Copyright (C) 2002 Jeff Dike.
14 Third-party licenses source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
14 Third-party licenses 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
14 Third-party licenses tion and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.
14 Third-party licenses It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices.
14 Third-party licenses OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS 14.2.2 GNU Lesser General Public License (LGPL) GNU LESSER GENERAL PUBLIC LICENSE Version 2.
14 Third-party licenses To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author’s reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program.
14 Third-party licenses 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called “this License”). Each licensee is addressed as “you”.
14 Third-party licenses (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole.
14 Third-party licenses rather than a “work that uses the library”. The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a “work that uses the Library” uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not.
14 Third-party licenses e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the “work that uses the Library” must include any data and utility programs needed for reproducing the executable from it.
14 Third-party licenses other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
14 Third-party licenses KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16.
14 Third-party licenses A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. B. Any new file that contains any part of the Original Code or previous Modifications. 1.10. “Original Code” means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. 1.10.1.
14 Third-party licenses the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by t
14 Third-party licenses 3.4. Intellectual Property Matters (a) Third Party Claims. If Contributor has knowledge that a license under a third party’s intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled “LEGAL” which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact.
14 Third-party licenses Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. 4. Inability to Comply Due to Statute or Regulation.
14 Third-party licenses CENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 8. TERMINATION. 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License.
14 Third-party licenses LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY’S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 10. U.S. GOVERNMENT END USERS.
14 Third-party licenses The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. Contributor(s): ______________________________________. Alternatively, the contents of this file may be used under the terms of the _____ license (the “[___] License”), in which case the provisions of [______] License are applicable instead of those above.
14 Third-party licenses 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly jloup@gzip.org Mark Adler madler@alumni.caltech.edu 14.2.6 OpenSSL license This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscape’s SSL. This library is free for commercial and non-commercial use as long as the following conditions are adhered to.
14 Third-party licenses The licence and distribution terms for any publicly available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.] 14.2.7 Slirp license Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1.
14 Third-party licenses CLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 14.2.9 libpng license The PNG Reference Library is supplied “AS IS”. The Contributing Authors and Group 42, Inc.
14 Third-party licenses VICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 14.2.11 libxml license Except where otherwise noted in the source code (e.g. the files hash.c, list.
14 Third-party licenses IN NO EVENT SHALL THE DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of Daniel Veillard shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from him.
14 Third-party licenses 1.5. “Executable” means Covered Code in any form other than Source Code. 1.6. “Initial Developer” means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. 1.7. “Larger Work” means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. 1.8. “License” means this document. 1.8.1.
14 Third-party licenses (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (“offer to sell and import”) the Original Code, Modifications, or portions thereof, but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Original Code, Modifications, or any combination or portions thereof. (c) (d) 2.2. Contributor Grant.
14 Third-party licenses (a) Third Party Claims. If Contributor has knowledge that a license under a third party’s intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled “LEGAL” which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact.
14 Third-party licenses 3.8. Restrictions. You may not remove any product identification, copyright, proprietary notices or labels from gSOAP. 4 INABILITY TO COMPLY DUE TO STATUTE OR REGULATION. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect.
14 Third-party licenses OR NATURE WHATSOEVER, WHETHER BASED ON CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, ARISING OUT OF OR IN ANY WAY RELATED TO THE SOFTWARE, EVEN IF THE AUTHORS HAVE BEEN ADVISED ON THE POSSIBILITY OF SUCH DAMAGE OR IF SUCH DAMAGE COULD HAVE BEEN REASONABLY FORESEEN, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY EXCLUSIVE REMEDY PROVIDED.
14 Third-party licenses TIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
14 Third-party licenses A PARTICULAR PURPOSE ARE DISCLAIMED.
14 Third-party licenses Copyright (c) 2002, The Regents of the University of California. Produced at the Lawrence Livermore National Laboratory For details, contact: Randall Frank (rjfrank@llnl.gov). UCRL-CODE-2002-058 All rights reserved. This file is part of Chromium. For details, see accompanying documentation.
14 Third-party licenses 14.2.14.3 COPYRIGHT.REDHAT file This Chromium distribution contains information and code which is covered under the following notice: Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. All Rights Reserved.
14 Third-party licenses 14.2.
15 VirtualBox privacy policy Policy version 1.3, June 29, 2009 This privacy policy sets out how Sun Microsystems, Inc. (“Sun”) treats personal information related to the virtualbox.org website and the VirtualBox registration process. § 1 virtualbox.org. The “virtualbox.org” website, as any other website, logs anonymous usage information such as your IP address, geographical location, browser type, referral source, length of visit and number of page views while you visit (collectively, “anonymous data”).
15 VirtualBox privacy policy § 6 Updates. Sun may update this privacy policy by posting a new version on the website. You should check this page occasionally to ensure you are happy with any changes.
Glossary A ACPI Advanced Configuration and Power Interface, an industry specification for BIOS and hardware extensions to configure PC hardware and perform power management. Windows 2000 and higher as well as Linux 2.4 and higher support ACPI. Windows can only enable or disable ACPI support at installation time. AHCI Advanced Host Controller Interface, the interface that supports SATA devices such as hard disks. See chapter 5.1, Hard disk controllers: IDE, SATA (AHCI), SCSI, page 75.
Glossary C COM Microsoft Component Object Model, a programming infrastructure for modular software. COM allows applications to provide application programming interfaces which can be accessed from various other programming languages and applications. VirtualBox makes use of COM both internally and externally to provide a comprehensive API to 3rd party developers. D DHCP Dynamic Host Configuration Protocol.
Glossary iSCSI Internet SCSI; see chapter 5.5, iSCSI servers, page 80. M MAC Media Access Control, a part of an Ethernet network card. A MAC address is a 6-byte number which identifies a network card. It is typically written in hexadecimal notation where the bytes are separated by colons, such as 00:17:3A:5E:CB:08. N NAT Network Address Translation.
Glossary which data is transferred in both directions. Typically graphics updates and audio are sent from the remote machine and keyboard and mouse input events are sent from the client. VirtualBox contains an enhanced implementation of the relevant standards called “VirtualBox RDP” (VRDP), which is largely compatible with Microsoft’s RDP implementation. See chapter 7.4, Remote virtual machines (VRDP support), page 93 for details. S SATA Serial ATA, an industry standard for hard disk interfaces.
Glossary X XML The eXtensible Markup Language, a metastandard for all kinds of textual information. XML only specifies how data in the document is organized generally and does not prescribe how to semantically organize content. XPCOM Mozilla Cross Platform Component Object Model, a programming infrastructure developed by the Mozilla browser project which is similar to Microsoft COM and allows applications to provide a modular programming interface.