Sun VirtualBox R User Manual Version 3.1.0_BETA2 c 2004-2009 Sun Microsystems, Inc. http://www.virtualbox.
Contents 1 First steps 1.1 Why is virtualization useful? . . . . . . . . . . . . . . . . 1.2 Some terminology . . . . . . . . . . . . . . . . . . . . . . 1.3 Features overview . . . . . . . . . . . . . . . . . . . . . . 1.4 Supported host operating systems . . . . . . . . . . . . . 1.5 Installing and starting VirtualBox . . . . . . . . . . . . . . 1.6 Creating your first virtual machine . . . . . . . . . . . . . 1.7 Running your virtual machine . . . . . . . . . . . . . . . . 1.7.
Contents 2.4.5 Configuring a zone for running VirtualBox . . . . . . . . . . . . 43 3 Configuring virtual machines 3.1 Supported guest operating systems . . . . . . . . . . . . . . . . 3.2 64-bit guests . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 General settings . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 “Basic” tab . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 “Advanced” tab . . . . . . . . . . . . . . . . . . . . . . 3.3.3 “Description” tab . . . . . . . . . . .
Contents 4.10 Hardware 2D video acceleration for Windows guests . . . . . . . . . . . 73 4.11 Guest properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5 Virtual storage 5.1 Hard disk controllers: IDE, SATA (AHCI), SCSI . . . 5.2 Disk image files (VDI, VMDK, VHD, HDD) . . . . . . 5.3 The Virtual Media Manager . . . . . . . . . . . . . . 5.4 Special image write modes . . . . . . . . . . . . . . 5.5 Differencing images . . . . . . . . . . . . . . . . . . 5.6 Cloning disk images . . . .
Contents 8.6 8.7 8.8 8.9 8.10 8.11 8.12 8.13 8.14 8.15 8.16 8.17 8.18 8.19 8.20 8.21 8.22 8.23 8.24 8.25 8.26 8.5.2 Networking settings . . . . . . . . . . . . . . . . . . . 8.5.3 Serial port, audio, clipboard, VRDP and USB settings VBoxManage import . . . . . . . . . . . . . . . . . . . . . . . VBoxManage export . . . . . . . . . . . . . . . . . . . . . . . VBoxManage startvm . . . . . . . . . . . . . . . . . . . . . . VBoxManage controlvm . . . . . . . . . . . . . . . . . . . . .
Contents 9.14 9.15 9.16 9.17 9.13.2 Configuring the boot server (next server) of a NAT network interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 9.13.3 Tuning TCP/IP buffers for NAT . . . . . . . . . . . . . . . . . . . 149 9.13.4 Binding NAT sockets to a specific interface . . . . . . . . . . . . 149 9.13.5 Enabling DNS proxy in NAT mode . . . . . . . . . . . . . . . . . 150 9.13.6 Using the host’s resolver as a DNS proxy in NAT mode . . . . . .
Contents 11.5.7 USB not working . . . . . . . . . . . . . . . . . . . . . . 11.5.8 PAX/grsec kernels . . . . . . . . . . . . . . . . . . . . . . 11.5.9 Linux kernel vmalloc pool exhausted . . . . . . . . . . . 11.6 Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6.1 Cannot start VM, not enough contiguous memory . . . . 11.6.2 VM aborts with out of memory errors on Solaris 10 hosts 12 Change log 12.1 Version 3.1.0 Beta 2 (2009-11-19) 12.2 Version 3.0.12 (2009-11-10) . . . 12.
Contents 12.38Version 1.1.6 (2006-04-18) . 12.39Version 1.1.4 (2006-03-09) . 12.40Version 1.1.2 (2006-02-03) . 12.41Version 1.0.50 (2005-12-16) 12.42Version 1.0.48 (2005-11-23) 12.43Version 1.0.46 (2005-11-04) 12.44Version 1.0.44 (2005-10-25) 12.45Version 1.0.42 (2005-08-30) 12.46Version 1.0.40 (2005-06-17) 12.47Version 1.0.39 (2005-05-05) 12.48Version 1.0.38 (2005-04-27) 12.49Version 1.0.37 (2005-04-12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 First steps Welcome to Sun VirtualBox! VirtualBox is a cross-platform virtualization application. What does that mean? For one thing, it installs on your existing Intel or AMD-based computers, whether they are running Windows, Mac, Linux or Solaris operating systems. Secondly, it extends the capabilities of your existing computer so that it can run multiple operating systems (inside multiple virtual machines) at the same time.
1 First steps You can find a summary of VirtualBox’s capabilities in chapter 1.3, Features overview, page 12. For existing VirtualBox users who just want to see what’s new in this release, there is a detailed list in chapter 12, Change log, page 167. 1.1 Why is virtualization useful? The techniques and features that VirtualBox provides are useful for several scenarios: • Operating system support.
1 First steps 1.2 Some terminology When dealing with virtualization (and also for understanding the following chapters of this documentation), it helps to acquaint oneself with a bit of crucial terminology, especially the following terms: Host operating system (host OS): the operating system of the physical computer on which VirtualBox was installed. There are versions of VirtualBox for Windows, Mac OS X, Linux and Solaris hosts; for details, please see chapter 1.
1 First steps 1.3 Features overview Here’s a brief outline of VirtualBox’s main features: • Portability. VirtualBox runs on a large number of 32-bit and 64-bit host operating systems (again, see chapter 1.4, Supported host operating systems, page 14 for details). To a very large degree, VirtualBox is functionally identical on all of the host platforms, and the same file and image formats are used.
1 First steps – Hardware compatibility. VirtualBox virtualizes a vast array of virtual devices, among them many devices that are typically provided by other virtualization platforms. That includes IDE, SCSI and SATA hard disk controllers, several virtual network cards and sound cards, virtual serial and parallel ports and an Input/Output Advanced Programmable Interrupt Controller (I/O APIC), which is found in many modern PC systems.
1 First steps • Remote machine display. You can run any virtual machine in a special VirtualBox program that acts as a server for the VirtualBox Remote Desktop Protocol (VRDP), a backward-compatible extension of the standard Remote Desktop Protocol. With this unique feature, VirtualBox provides high-performance remote access to any virtual machine. VirtualBox’s VRDP support does not rely on the RDP server that is built into Microsoft Windows.
1 First steps – 10.6 (Snow Leopard, 32-bit and 64-bit) Intel hardware is required; please see chapter 13, Known limitations, page 237 also. • Linux hosts (32-bit and 64-bit3 ). Among others, this includes: – Debian GNU/Linux 3.1 (“sarge”), 4.0 (“etch”) and 5.0 (“lenny”) – Fedora Core 4 to 11 – Gentoo Linux – Redhat Enterprise Linux 4 and 5 – SUSE Linux 9 and 10, openSUSE 10.3, 11.0 and 11.1 – Ubuntu 6.06 (“Dapper Drake”), 6.10 (“Edgy Eft”), 7.04 (“Feisty Fawn”), 7.10 (“Gutsy Gibbon”), 8.
1 First steps • On a Mac OS X host, in the Finder, double-click on the “VirtualBox” item in the “Applications” folder. (You may want to drag this item onto your Dock.) • On a Linux or Solaris host, depending on your desktop environment, a “VirtualBox” item may have been placed in either the “System” or “System Tools” group of your “Applications” menu. Alternatively, you can type VirtualBox in a terminal.
1 First steps 1.6 Creating your first virtual machine Click on the “New” button at the top of the VirtualBox window.
1 First steps 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.
1 First steps There are many and potentially complicated ways in which VirtualBox can provide hard disk space to a VM (see chapter 5, Virtual storage, page 76 for details), but the most common way is to use a large image file on your “real” hard disk, whose contents VirtualBox presents to your VM as if it were a complete hard disk. The wizard shows you the following window: The wizard allows you to create an image file or use an existing one.
1 First steps • A dynamically expanding file will only grow in size when the guest actually stores data on its virtual hard disk. It will therefore initially be small on the host hard drive and only later grow to the size specified as it is filled with data. • A fixed-size file will immediately occupy the file specified, even if only a fraction of the virtual hard disk space is actually in use.
1 First steps 1.7 Running your virtual machine You will now see your new virtual machine in the list of virtual machines, at the left of the VirtualBox main window. To start the virtual machine, simply double-click on it, or select it and press the “Start” button at the top. This opens up a new window, and the virtual machine which you selected will boot up. Everything which would normally be seen on the virtual system’s monitor is shown in the window, as can be seen with the image in chapter 1.
1 First steps In detail, all this translates into the following: • Your keyboard is owned by the VM if the VM window on your host desktop has the keyboard focus (and then, if you have many windows open in your guest operating system as well, the window that has the focus in your VM). This means that if you want to type within your VM, click on the title bar of your VM window first. To release keyboard ownership, press the Host key (as explained above, typically the right Control key).
1 First steps there are three candidates as to who receives keyboard input: the host operating system, VirtualBox, or the guest operating system. Who of these three receives keypresses depends on a number of factors, including the key itself. • Host operating systems reserve certain key combinations for themselves.
1 First steps The settings are the same as would be available for the VM in the “Settings” dialog of the VirtualBox main window, but since that dialog is disabled while the VM is in the “running” or “saved” state, this extra menu saves you from having to shut down and restart the VM every time you want to change media. Hence, in the “Devices” menu, VirtualBox allows you to attach the host drive to the guest or select a floppy or DVD image using the Disk Image Manager, all as described in chapter 1.
1 First steps This is equivalent to pulling the power plug on a real computer without shutting it down properly. If you start the machine again after powering it off, your operating system will have to reboot completely and may begin a lengthy check of its (virtual) system disks. As a result, this should not normally be done, since it can potentially cause data loss or an inconsistent state of the guest system on disk.
1 First steps current state of your VM is a variation based on the snapshot you took earlier. If you later take another snapshot, you will see that they will be displayed in sequence, and each subsequent snapshot is a derivation of the earlier one: VirtualBox allows you to take an unlimited number of snapshots – the only limitation is the size of your disks. Keep in mind that each snapshot stores the state of the virtual machine and thus takes some disk space. 2.
1 First steps By restoring an earlier snapshot and taking more snapshots from there, it is even possible to create a kind of alternate reality and to switch between these different histories of the virtual machine. This can result in a whole tree of virtual machine snapshots, as shown in the screenshot above. 3. You can also delete a snapshot, which will not affect the state of the virtual machine, but only release the files on disk that VirtualBox used to store the snapshot data, thus freeing disk space.
1 First steps Note: The “Settings” button is disabled while a VM is either in the “running” or “saved” state. This is simply because the settings dialog allows you to change fundamental characteristics of the virtual computer that is created for your guest operating system, and this operating system may not take it well when, for example, half of its memory is taken away from under its feet. As a result, if the “Settings” button is disabled, shut down the current VM first.
1 First steps 1.10 Deleting virtual machines To remove a virtual machine which you no longer need, right-click on it in the list of virtual machines in the main window and select “Delete” from the context menu that comes up. All settings for that machine will be lost. The “Delete” menu item is disabled while a machine is in “Saved” state. To delete such a machine, discard the saved state first by pressing on the “Discard” button.
1 First steps If VirtualBox can handle the file, a dialog similar to the following will appear: 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.
1 First steps 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.
2 Installation details 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 14. In addition, Windows Installer 1.1 or higher must be present on your system.
2 Installation details 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 details 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 details 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 details 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 details 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 162 for further information.
2 Installation details 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 details 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 details 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 details 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 details 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.5, Configuring a zone for running VirtualBox, page 43. The installer will then prompt you to enter the package you wish to install. Choose “1” or “all” and proceed. Next the installer will ask you if you want to allow the postinstall script to be executed.
2 Installation details To perform a non-interactive uninstallation, open a root terminal session and execute: pkgrm -n -a /opt/VirtualBox/autoresponse SUNWvbox 2.4.5 Configuring a zone for running VirtualBox Starting with VirtualBox 1.6 it is possible to run VirtualBox from within Solaris zones. For an introduction of Solaris zones, please refer to http://www.sun.com/ bigadmin/features/articles/solaris_zones.jsp.
3 Configuring virtual machines Whereas chapter 1, First steps, page 9 gave you a quick introduction to VirtualBox and how to get your first virtual machine running, the following chapter describe in detail how to configure virtual machines. You have considerable latitude in deciding what virtual hardware will be provided to the guest. The virtual hardware can be used for communicating with the host system or with other guests.
3 Configuring virtual machines Solaris 10, OpenSolaris Fully supported (32 bits and 64 bits). Guest Additions are available. FreeBSD Limited support. Guest Additions are not available yet. OpenBSD Versions 3.7 and later are supported. Guest Additions are not available yet. OS/2 Warp 4.5 Requires hardware virtualization to be enabled. We officially support MCP2 only; other OS/2 versions may or may not work. Guest Additions are available with a limited feature set.1 3.2 64-bit guests Starting with version 2.
3 Configuring virtual machines 3.3 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 three tabs, “Basic”, “Advanced” and “Description”. 3.3.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 Configuring virtual machines 3.3.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.4 System settings The “System” category groups various settings that are related to the basic hardware that is presented to the virtual machine.
3 Configuring virtual machines Enable I/O APIC Advanced Programmable Interrupt Controllers (APICs) are a newer x86 hardware feature that have replaced old-style Programmable Interrupt Controllers (PICs) in recent years. With an I/O APIC, operating systems can use more than 16 interrupt requests (IRQs) and therefore avoid IRQ sharing for improved reliability.
3 Configuring virtual machines 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 Configuring virtual machines You can select for each virtual machine individually whether VirtualBox should use software or hardware virtualization. Prior to VirtualBox version 2.2, software virtualization was the default; starting with version 2.2, VirtualBox will enable hardware virtualization by default for new virtual machines that you create. (Existing virtual machines are not automatically changed for compatibility reasons, and the default can of course be changed for each virtual machine.
3 Configuring virtual machines On AMD processors, nested paging has been available starting with the Barcelona (K10) architecture; Intel added support for nested paging, which they call “extended page tables” (EPT), with their Core i7 (Nehalem) processors. Nested paging is still disabled by default even for new machines, but it can be enabled for each virtual machine individually in the machine settings.
3 Configuring virtual machines In a real PC, so-called “storage controllers” connect physical disk drives to the rest of the computer. Similarly, VirtualBox presents virtual storage controllers to a virtual machine. Under each controller, the virtual devices (hard disks, CD/DVD or floppy drives) are shown that are attached to the controller.
3 Configuring virtual machines below the tree. You can then either select “Add CD/DVD device” or “Add Hard Disk”. Alternatively, right-click on the storage controller and select a menu item there. On the right part of the window, you can then select where the virtual disk should be connected to on the controller and which image file to use. • For virtual hard disks, a drop-down list appears on the right, listing all the hard disk images that VirtualBox currently knows about.
3 Configuring virtual machines To remove a virtual disk or drive, select it and click on the “remove” icon at the bottom (or right-click on it and select the menu item). Removable media (CD/DVDs and floppies) can be changed while the guest is running. Since the “Settings” dialog is not available at that time, you can also access these settings from the “Devices” menu of your virtual machine window.
3 Configuring virtual machines 3.9 Serial ports VirtualBox fully supports virtual serial ports in a virtual machine in an easy-to-use manner.3 Ever since the original IBM PC, personal computers have been equipped with one or two serial ports (also called COM ports by DOS and Windows). While these are no longer as important as they were until a few years ago (especially since mice are no longer connected to serial ports these days), there are still some important uses left for them.
3 Configuring virtual machines will then simply redirect all data received from and sent to the virtual serial port to the physical device. • You can tell VirtualBox to connect the virtual serial port to a software pipe on the host. This depends on your host operating system: – On a Windows host, data will be sent and received through a named pipe. You can use a helper program called VMware Serial Line Gateway, available for download at http://www.l4ka.org/tools/ vmwaregateway.php.
3 Configuring virtual machines 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 237.
3 Configuring virtual machines 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 Configuring virtual machines replace the legacy BIOS as the primary interface for bootstrapping computers and certain system services later. By default, VirtualBox uses the BIOS firmware for virtual machines.
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.9, Hardware 3D acceleration (OpenGL and Direct3D 8/9), page 72.
4 Guest Additions To disable this update check for the Guest Additions of a given virtual machine, set the value of its /VirtualBox/GuestAdd/CheckHostVersion guest property to 0; see chapter 4.11, Guest properties, page 73 for details. 4.3 Windows Guest Additions The VirtualBox Windows Guest Additions are designed to be installed in a virtual machine running a Windows operating system. The following versions of Windows guests are supported: • Microsoft Windows NT 4.
4 Guest Additions 3. In the Virtual Disk Manager, press the “Add” button and browse your host file system for the VBoxGuestAdditions.iso file: • On a Windows host, you can find this file in the VirtualBox installation directory (usually under C:\Program files\Sun\xVM VirtualBox). • On Mac OS X hosts, you can find this file in the application bundle of VirtualBox. (Right click on the VirtualBox icon in Finder and choose Show Package Contents. There it is located in the Contents/MacOS folder.
4 Guest Additions 4.3.3 Unattended Installation In order to allow for completely unattended guest installations, you can specify a command line parameter to the install launcher: VBoxWindowsAdditions.exe /S This automatically installs the right files and drivers for the corresponding platform (32- or 64-bit). Note: Because of the drivers are not yet WHQL certified, you still might get some driver installation popups, depending on the Windows guest version.
4 Guest Additions Windows Guest Additions setup. Please consult chapter 4.3.4, Manual file extraction, page 64 on how to achieve this. You will then find the AMD PCNet driver files in the x86\Network\AMD\netamd.inf subdirectory of the default install directory. Alternatively, change the Vista guest’s VM settings to use an Intel networking card instead of the default AMD PCNet card; see chapter 3.8, Network settings, page 54 for details.
4 Guest Additions sudo apt-get install dkms Install DKMS before installing the Linux Guest Additions. 2. Mount the VBoxGuestAdditions.iso file as your Linux guest’s virtual CDROM drive, exactly the same way as described for a Windows guest in chapter 4.3.1.1, Mounting the Additions ISO file, page 62. 3. Change to the directory where your CD-ROM drive is mounted and execute as root: sh ./VBoxLinuxAdditions-x86.run In a 64-bit Linux guest, use VBoxLinuxAdditions-amd64.run instead.
4 Guest Additions page 46. You can also add your own modes to the X server configuration file. You simply need to add them to the “Modes” list in the “Display” subsection of the “Screen” section. For example, the section shown here has a custom 2048x800 resolution mode added: Section "Screen" Identifier "Default Screen" Device "VirtualBox graphics card" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 24 Modes "2048x800" "800x600" "640x480" EndSubSection EndSection 4.4.
4 Guest Additions If in case the CD-ROM drive on the guest doesn’t get mounted (observed on some versions of Solaris 10), execute as root: svcadm restart volfs 2. Change to the directory where your CD-ROM drive is mounted and execute as root: pkgadd -G -d ./VBoxSolarisAdditions.pkg 3. Choose “1” and confirm installation of the guest additions package. After the installation is complete, re-login to X server on your guest to activate the X11 Guest Additions. 4.5.
4 Guest Additions the host and are then shared with the guest; sharing is accomplished using a special service on the host and a file system driver for the guest, both of which are provided by VirtualBox. In order to use this feature, the VirtualBox Guest Additions have to be installed. Note however that Shared Folders are only supported with Windows (2000 or newer), Linux and Solaris guests.
4 Guest Additions net use x: \\vboxsvr\sharename While vboxsvr is a fixed name (note that vboxsrv would also work), replace “x:“ with the drive letter that you want to use for the share, and sharename with the share name specified with VBoxManage.
4 Guest Additions 4.8 Seamless windows With the “seamless windows” feature of VirtualBox, you can have the windows that are displayed within a virtual machine appear side by side next to the windows of your host. This feature is supported for the following guest operating systems (provided that the Guest Additions are installed): • Windows guests (support added with VirtualBox 1.5); • Linux or Solaris/OpenSolaris guests with an X.org server version 1.3 or higher1 (support added with VirtualBox 1.6).
4 Guest Additions 4.9 Hardware 3D acceleration (OpenGL and Direct3D 8/9) The VirtualBox Guest Additions contain experimental hardware 3D support for Windows, Linux and Solaris guests.2 With this feature, if an application inside your virtual machine uses 3D features through the OpenGL or Direct3D 8/9 programming interfaces, instead of emulating them in software (which would be slow), VirtualBox will attempt to use your host’s 3D hardware.
4 Guest Additions Technically, VirtualBox implements this by installing an additional hardware 3D driver inside your guest when the Guest Additions are installed. This driver acts as a hardware 3D driver and reports to the guest operating system that the (virtual) hardware is capable of 3D hardware acceleration.
4 Guest Additions 2. In addition, arbitrary string data can be exchanged between guest and host, and in both directions. To accomplish this, VirtualBox establishes a private communication channel between the VirtualBox Guest Additions and the host, and software on both sides can use this channel to exchange string data for arbitrary purposes. Guest properties are simply string keys to which a value is attached.
4 Guest Additions timestamp: 1229098279885027000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxGuest.sys, value: 3.1.0r40720, timestamp: 1229098279886838000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxMouse.sys, value: 3.1.0r40720, timestamp: 1229098279890600000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxSF.sys, value: 3.1.0r40720, timestamp: 1229098279893056000, flags: Name: /VirtualBox/GuestAdd/Components/VBoxVideo.sys, value: 3.1.
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, HDD), page 79. 2.
5 Virtual storage machine. (By default, one of these four – the secondary master – is preconfigured to be the machine’s virtual CD-ROM/DVD drive, but this can be changed.2 ) 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. You can also select which exact type of IDE controller hardware VirtualBox should present to the virtual machine (PIIX3, PIIX4 or ICH6).
5 Virtual storage Warning: The entire SATA controller and the virtual disks attached to it (including those in IDE compatibility mode) will not be seen by operating systems that do not have device support for AHCI. In particular, there is no support for AHCI in Windows before Windows Vista, so Windows XP (even SP2) will not see such disks unless you install additional drivers. We therefore do not recommend installing operating systems on SATA disks at this time.
5 Virtual storage 5.2 Disk image files (VDI, VMDK, VHD, HDD) Disk image files reside on the host system and are seen by the guest systems as hard disks of a certain geometry. When a guest operating system reads from or writes to a hard disk, VirtualBox redirects the request to the image file. Note that when you create an image file, its size needs to be specified, which represents a fixed geometry of the virtual disk. It is therefore not possible to change the size of the virtual hard disk later.
5 Virtual storage 5.3 The Virtual Media Manager VirtualBox keeps an internal registry of all available hard disk, CD/DVD-ROM and floppy disk images. This registry can be viewed and changed in the Virtual Media Manager, which you can access from the “File” menu in the VirtualBox main window: The window shows you all images that are currently registered with VirtualBox, conveniently grouped in three tabs for the three possible formats.
5 Virtual storage • 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. We recommend that you maintain two special folders on your system for keeping images: one for hard disk image files (which can, in the case of dynamically expanding images, grow to considerable sizes), and one for ISO files (which were probably downloaded from the Internet).
5 Virtual storage While you can attach the same “normal” image to more than one virtual machine, only one of these virtual machines attached to the same image file can be executed simultaneously, as otherwise there would be conflicts if several machines write to the same image file.5 2. By contrast, immutable images only remember write accesses temporarily while the virtual machine is running; all changes are lost when the virtual machine is restarted.
5 Virtual storage taken a snapshot. Imagine you have accidentally infected your VM with a virus and would like to go back to the snapshot. With a normal hard disk image, you simply revert the state of the VM, and the earlier state of your hard disk image will be restored as well (and your virus infection will be undone). With an immutable hard disk, irrespective of the snapshot, all it takes is to shut down and restart your VM, and the virus infection will be discarded.
5 Virtual storage noticeable however since the tables with sector information are always kept in memory and can be looked up quickly. Differencing images are used in the following situations: 1. Snapshots. When you create a snapshot, as explained in the previous section, VirtualBox “freezes” the images of the virtual machine and creates differencing images for each of them (to be precise: for those images which are not in “writethrough” mode).
5 Virtual storage 5.6 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.17, VBoxManage clonehd, page 127.
5 Virtual storage 5.8 iSCSI servers iSCSI stands for “Internet SCSI” and is a standard that allows for using the SCSI protocol over Internet (TCP/IP) connections. Especially with the advent of Gigabit Ethernet, it has become affordable to attach iSCSI storage servers simply as remote hard disks to a computer network. In iSCSI terminology, the server providing storage resources is called an “iSCSI target”, while the client connecting to the server and accessing its resources is called “iSCSI initiator”.
5 Virtual storage Finally the iSCSI disk must be registered with the -intnet option to tell the iSCSI initiator to use internal networking: VBoxManage addiscsidisk --server 10.0.9.30 --target iqn.2008-12.com.sun:sampletarget --intnet The target address must be specified as a numeric IP address, as there is no DNS resolver for internal networking. The virtual machine with the iSCSI target should be started before the VM using it is powered on.
6 Virtual networking As briefly mentioned in chapter 3.8, Network settings, page 54, 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 Network Address Translation (NAT) Network Address Translation (NAT) is the simplest way of accessing an external network from a virtual machine. Usually, it does not require any configuration on the host network and guest system. For this reason, it is the default networking mode in VirtualBox. A virtual machine with NAT enabled acts much like a real computer that connects to the Internet through a router.
6 Virtual networking use the same ports on the guest and on the host). You can use any ports on the host which are not already in use by a service.
6 Virtual networking Protocols such as GRE are unsupported: Protocols other than TCP and UDP are not supported. This means some VPN products (e.g. PPTP from Microsoft) cannot be used. There are other VPN products which use simply TCP and UDP. Forwarding host ports < 1024 impossible: On Unix-based hosts (e.g. Linux, Solaris, Mac OS X) it is not possible to bind to ports below 1024 from applications that are not run by root.
6 Virtual networking list at the bottom of the page, which contains the physical network interfaces of your systems. On a typical MacBook, for example, this will allow you to select between “en1: AirPort” (which is the wireless interface) and “en0: Ethernet”, which represents the interface with a network cable.
6 Virtual networking any reason, you prefer two or more VMs on the same machine to communicate privately, hiding their data from both the host system and the user, bridged networking therefore is not an option. 2. Speed. Internal networking is more efficient than bridged networking, as VirtualBox can directly transmit the data without having to send it through the host operating system’s networking stack. Internal networks are created automatically as needed, i.e. there is no central configuration.
6 Virtual networking Instead, when host-only networking is used, VirtualBox creates a new software interface on the host which then appears next to your existing network interfaces. In other words, whereas with bridged networking an existing physical interface is used to attach virtual machines to, with host-only networking a new “loopback” interface is created on the host.
7 Alternative front-ends; remote virtual machines 7.1 Introduction As briefly mentioned in chapter 1.3, Features overview, page 12, 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.1.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 7.4.1 Common third-party RDP viewers You can use any standard RDP viewer to connect to such a remote virtual machine (examples follow below). For this to work, you must specify the IP address of your host system (not of the virtual machine!) as the server address to connect to, as well as the port number that the RDP server is using. By default, the VRDP server uses the standard RDP TCP port 3389.
7 Alternative front-ends; remote virtual machines installation of the guest operating system, you should set its display color depth to the same value). The -N option enables use of the NumPad keys. • If you run the KDE desktop, you might prefer krdc, the KDE RDP viewer. The command line would look like this: krdc --window --high-quality rdp:/1.2.3.4[:3389] Again, replace “1.2.3.4” with the host IP address, and 3389 with a different port if necessary.
7 Alternative front-ends; remote virtual machines To have the VRDP server use the setting from the VM configuration, as the other frontends would, use this: VBoxHeadless --startvm --vrdp=config 7.4.3 Step by step: creating a virtual machine on a headless server The following instructions may give you an idea how to create a virtual machine on a headless server over a network connection.
7 Alternative front-ends; remote virtual machines 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. Attach this ISO to the virtual machine, so it can boot from it: VBoxManage modifyvm "Windows XP" --dvd /full/path/to/iso.iso (Alternatively, you can use VBoxManage controlvm dvdattach directly, without having to register the image first; see chapter 8.9, VBoxManage controlvm, page 121 for details.) 7.
7 Alternative front-ends; remote virtual machines Note that rdesktop-vrdp can access USB devices only through /proc/bus/usb. Please refer to chapter 11.5.7, USB not working, page 164 for further details on how to properly set up the permissions. Furthermore it is advisable to disable automatic loading of any host driver on the remote host which might work on USB devices to ensure that the devices are accessible by the RDP client.
7 Alternative front-ends; remote virtual machines 7.4.6 RDP encryption RDP features data stream encryption, which is based on the RC4 symmetric cipher (with keys up to 128bit). The RC4 keys are being replaced in regular intervals (every 4096 packets). RDP provides three different authentication methods: 1. Historically, RDP4 authentication was used, with which the RDP client does not perform any checks in order to verify the identity of the server it connects to.
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 [--bioslogofadein on|off] [--bioslogofadeout on|off] [--bioslogodisplaytime ] [--bioslogoimagepath ] [--biosbootmenu disabled|menuonly|messageandmenu] [--biossystemtimeoffset ] [--biospxedebug on|off] [--boot<1-4> none|floppy|dvd|disk|net>] [--nic<1-N> none|null|nat|bridged|intnet] [--nictype<1-N> Am79C970A|Am79C973] [--cableconnected<1-N> on|off] [--nictrace<1-N> on|off] [--nictracefile<1-N> ] [--nicspeed<1-N> ] [--bridgeadapter<1-N> none|
8 VBoxManage reference [--eula ] [--eulafile ] VBoxManage startvm | [--type gui|sdl|vrdp|headless] VBoxManage controlvm | pause|resume|reset|poweroff|savestate| acpipowerbutton|acpisleepbutton| keyboardputscancode [ ...
8 VBoxManage reference VBoxManage showhdinfo | VBoxManage createhd --filename --size [--format VDI|VMDK|VHD] (default: VDI) [--variant Standard,Fixed,Split2G,Stream,ESX] [--type normal|writethrough] (default: normal) [--comment ] [--remember] VBoxManage modifyhd | [--type normal|writethrough|immutable] [--autoreset on|off] [--compact] VBoxManage clonehd | [--format VDI|VMDK|VHD|RAW|] [--variant Standa
8 VBoxManage reference --action ignore|hold (global filters only) [--active yes|no] (yes) [--vendorid ] (null) [--productid ] (null) [--revision ] (null) [--manufacturer ] (null) [--product ] (null) [--remote yes|no] (null, VM filters only) [--serialnumber ] (null) [--maskedinterfaces ] VBoxManage usbfilter modify --target ||global [--name ] [--action ignore|hold] (global filters only) [--active yes|no] [--vendorid |"
8 VBoxManage reference VBoxManage dhcpserver VBoxManage dhcpserver add|modify --netname | [--ip --netmask --lowerip --upperip ] [--enable | --disable] remove --netname | Each time VBoxManage is invoked, only one command can be executed. However, a command might support several subcommands which then can be invoked in one single call. The following sections provide detailed reference information on the different commands. 8.
8 VBoxManage reference • systemproperties displays some global VirtualBox settings, such as minimum and maximum guest RAM and virtual hard disk size, folder settings and the current authentication library in use. • hddbackends lists all known hdd backends of VirtualBox. Beside the name of the backend itself, descriptions about the capabilities, configuration and other useful informations are displayed. 8.2 VBoxManage showvminfo The showvminfo command shows information about a particular virtual machine.
8 VBoxManage reference Storage Controller Type (1): I82078 IDE Controller (0, 0): /home/user/windows.vdi (UUID: 46f6e53a-4557-460a-9b95-68b0f17d744b) IDE Controller (0, 1): /home/user/openbsd-cd46.iso (UUID: 4335e162-59d3-4512-91d5-b63e94eebe0b) Floppy Controller 1 (0, 0): /home/user/floppy.
8 VBoxManage reference 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. If the VM is later renamed, the file and folder names will change automatically.
8 VBoxManage reference • --synthcpu on|off: This setting determines whether VirtualBox will expose a synthetic CPU to the guest to allow live migration between host systems that differ significantly. • --pae on|off: This enables/disables PAE (see chapter 3.4.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 3.4.3, “Acceleration” tab: hardware vs.
8 VBoxManage reference • --boot<1-4> none|floppy|dvd|disk|net: This specifies the boot order for the virtual machine. There are four “slots”, which the VM will try to access from 1 to 4, and for each of which you can set a device that the VM should attempt to boot from. • --snapshotfolder default|: This allows you to specify the folder in which snapshots will be kept for a virtual machine. • --firmware efi|bios: Specifies which firmware is used to boot particular virtual machine: EFI or BIOS.
8 VBoxManage reference • --hostonlyadapter<1-N> none|: If host-only 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 which host-only networking interface the given virtual network interface will use. For details, please see chapter 6.6, Host-only networking, page 94.
8 VBoxManage reference • --audio none|null|oss: With this option, you can set whether the VM should have audio support. • --clipboard disabled|hosttoguest|guesttohost|bidirectional: With this setting, you can select whether the guest operating system’s clipboard should be shared with the host; see chapter 3.3, General settings, page 46. This requires that the Guest Additions be installed in the virtual machine.
8 VBoxManage reference It is therefore recommended to first run the import subcommand with the --dry-run or -n option. This will then print a description of the appliance’s contents to the screen how it would be imported into VirtualBox, together with the optional command-line options to influence the import behavior. As an example, here is the screen output with a sample appliance containing a Windows XP guest: VBoxManage import WindowsXp.ovf --dry-run Interpreting WindowsXp.ovf... OK.
8 VBoxManage reference 8.7 VBoxManage export This command exports one or more virtual machines from VirtualBox into a virtual appliance in OVF format, including copying their virtual disk images to compressed VMDK. See chapter 1.11, Importing and exporting virtual machines, page 29 for an introduction to appliances.
8 VBoxManage reference headless Starts a VM without a window for remote RDP display only. 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.
8 VBoxManage reference • nic<1-N> null|nat|bridged|intnet|hostonly: With this, you can set, for each of the VM’s virtual network cards, what type of networking should be available. They can be not connected to the host (null), use network address translation (nat), bridged networking (bridged) or communicate with other virtual machines using internal networking (intnet) or host-only networking (hostonly). These options correspond to the modes which are described in detail in chapter 6.
8 VBoxManage reference The take operation takes a snapshot of the current state of the virtual machine. You must supply a name for the snapshot and can optionally supply a description. The new snapshot is inserted into the snapshots tree as a child of the current snapshot and then becomes the new current snapshot. The delete operation deletes a snapshot (specified by name or by UUID).
8 VBoxManage reference 8.13.1 VBoxManage storagectl This command attaches/modifies/removes a storage controller. The syntax is as follows: VBoxManage storagectl --name [--add ] [--controller ] [--sataideemulation<1-4> <1-30>] [--sataportcount <1-30>] [--remove] where the parameters mean: uuid|vmname The VM UUID or VM Name. Mandatory. name Name of the storage controller. Mandatory.
8 VBoxManage reference storagectl Name of the storage controller. Mandatory. port Port number to which the medium has to be attached/detached/modified. Mandatory. device Device Number to which the medium has to be attached/detached/modified. Mandatory. type Define the type of the drive to which the medium is being attached/detached/modified. medium Allows to specify if the DVD/Floppy drive or Harddisk is to be completly detached (none) or just an empty DVD/Floppy drive needs to be attached (emptydrive).
8 VBoxManage reference VBoxManage createhd --filename --size [--format VDI|VMDK|VHD] (default: VDI) [--variant Standard,Fixed,Split2G,Stream,ESX] [--type normal|writethrough] (default: normal) [--comment ] [--remember] where the parameters mean: filename Allows to choose a file name. Mandatory. size Allows to define the image capacity, in 1 MiB units. Mandatory. format Allows to choose a file format for the output file different from the file format of the input file.
8 VBoxManage reference In addition, the modifyhd --compact command can be used to compact disk images, i.e. remove blocks that only contains zeroes. For this operation to be effective, it is required to zero out free space in the guest system using a suitable software tool. Microsoft provides the sdelete tool for Windows guests. Execute sdelete -c in the guest to zero the free disk space before compressing the virtual disk image.
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] where the parameters mean: format Select the disk image format to create. Default is VDI. variant Allow to choose a file format variant for the output file. It is a commaseparated list of variant flags.
8 VBoxManage reference lun Logical Unit Number of the target resource (optional). Often, this value is zero. username, password Username and password for target authentication, if required (optional). Note: Currently, username and password are stored without encryption (i.e. in cleartext) in the machine configuration file. type Defines what kind of hard disk type this image should be. comment Any description that you want to have stored with this item (optional; e.g. “Big storage server downstairs”).
8 VBoxManage reference 8.21 VBoxManage setproperty This command is used to change global settings which affect the entire VirtualBox installation. Some of these correspond to the settings in the “Global settings” dialog in the graphical user interface. The following properties are available: hdfolder This specifies the default folder that is used to keep disk image files (.vdi, .vmdk, .vhd). machinefolder This specifies the default folder in which virtual machine definitions are kept; see chapter 9.
8 VBoxManage reference When you modify a USB filter using usbfilter modify, you must specify the filter by index (see the output of VBoxManage list usbfilters to find global filter indexes and that of VBoxManage showvminfo to find indexes for individual machines) and by target, which is either a virtual machine or “global”. The properties which can be changed are the same as for usbfilter add. To remove a filter, use usbfilter remove and specify the index and the target. 8.
8 VBoxManage reference Subcommands may apply to all objects and metrics or can be limited to one object or/and a list of metrics. If no objects or metrics are given in the parameters, the subcommands will apply to all available metrics of all objects. You may use an asterisk (“*“) to explicitly specify that the command should be applied to all objects or metrics. Use “host” as the object name to limit the scope of the command to host-related metrics.
8 VBoxManage reference • enumerate [-patterns ]: This lists all the guest properties that are available for the given VM, including the value. This list will be very limited if the guest’s service process cannot be contacted, e.g. because the VM is not running or the Guest Additions are not installed. If --patterns is specified, it acts as a filter to only list properties that match the given pattern.
8 VBoxManage reference • If you use internal networking for a virtual network adapter of a virtual machine, use VBoxManage dhcpserver add --netname , where is the same network name you used with VBoxManage modifyvm --intnet .
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 cases, VirtualBox backs up the old settings file in the virtual machine’s configuration directory. If you need to go back to the earlier version of VirtualBox, then you will need to manually copy these backup files back. In detail, the following settings files are in use: • In the configuration directory, VirtualBox.xml is the main configuration file. This includes global configuration options and the media and virtual machine registry.
9 Advanced topics 9.2 Automated Windows guest logons When Windows is running in a virtual machine, it might be desirable to perform coordinated and automated logons of guest operating systems using credentials from a master logon system. (With “credentials”, we are referring to logon information consisting of user name, password and domain name, where each value might be empty.
9 Advanced topics 1. For Windows XP guests, the logon subsystem needs to be configured to use the classic logon dialog as the VirtualBox GINA module does not support the XP-style welcome dialog. 2. For Windows Vista and Windows 7 guests, the logon subsystem does not support the so-called Secure Attention Sequence (CTRL+ALT+DEL). As a result, the guest’s group policy settings need to be changed to not use the Secure Attention Sequence.
9 Advanced topics • /VirtualBox/HostGuest/SysprepRet holds the exit code of sysprep.exe after its run. • /VirtualBox/HostGuest/SysprepRC holds the return code of the whole system preparation process done by VBoxService.exe. The sysprep execution is a sub-service in VBoxService.exe which will be run every 10 seconds by default. You can disable this sub-service or increase/decrease the waiting time. See the command line help by doing a VBoxService.exe --help for more information.
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.7 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.9 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 As you can see, the command is identical to the one for “full hard disk” access, except for the additional -partitions parameter. This example would create the image /path/to/file.vmdk (which, again, must be absolute), and partitions 1 and 5 of /dev/sda would be made accessible to the guest. VirtualBox uses the same partition numbering as your Linux host.
9 Advanced topics For each of the above variants, you can register the resulting image for immediate use in VirtualBox by adding -register to the respective command line. The image will then immediately appear in the list of registered disk images. An example is VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5 -relative -register which creates an image referring to individual partitions, and registers it when the image is successfully created. 9.
9 Advanced topics This command would reserve the network addresses 192.168.0.0 ... 192.168.254.254 for the first NAT network instance of “My VM”. The guest IP would be assigned to 192.168.0.15 and the default gateway could be found at 192.168.0.2. 9.13.2 Configuring the boot server (next server) of a NAT network interface For network booting in NAT mode, by default VirtualBox uses a built-in TFTP server at the IP address 10.0.2.3. This default behavior should work fine for typical remotebooting scenarios.
9 Advanced topics VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/BindIP" "10.45.0.2" After this, all outgoing traffic will be sent through the interface with the IP address 10.45.0.2. Please make sure that this interface is up and running prior to this assignment. Also, if you have configured port forwarding for the NAT engine as described in chapter 6.3.
9 Advanced topics by dragging the window, switching to fullscreen or seamless mode or sending a video mode hint using VBoxManage. This behavior is what most users will want, but if you have different needs, it is possible to change it by issuing one of the following commands from the command line: VBoxManage setextradata global GUI/MaxGuestResolution any will remove all limits on guest resolutions.
9 Advanced topics dmidecode -t0 and the DMI system information can be obtained with dmidecode -t1 9.16 Configuring the guest time stamp counter (TSC) to reflect guest execution By default, VirtualBox keeps all sources of time visible to the guest synchronized to a single time source, the monotonic host time. This reflects the assumptions of many guest operating systems, which expect all time sources to reflect “wall clock” time.
9 Advanced topics The serial number is a 20 byte alphanumeric string, the firmware revision an 8 byte alphanumeric string and the model number a 40 byte alphanumeric string. Instead of “Port0” (referring to the first port), specify the desired SATA hard disk port.
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 In order to work around this problem (the true fix is to use a faster file system that doesn’t exhibit such unacceptable write performance), it is possible to flush the image file after a certain amount of data has been written. This interval is normally infinite, but can be configured individually for each disk of a VM.
11 Troubleshooting VBoxManage setextradata VMNAME "VBoxInternal/Devices/ahci/0/LUN#[x]/Config/IgnoreFlush" 0 The value [x] that selects the disk can be a value between 0 and 29. Note that this doesn’t affect the flushes performed according to the configuration described in chapter 11.1.2, Guest shows IDE/SATA errors for file-based images on slow host file system, page 155. Restoring the default of ignoring flush commands is possible by setting the value to 1 or by removing the key. 11.2 Windows guests 11.
11 Troubleshooting These problems are all caused by a bug in the hard disk driver of Windows 2000. After issuing a hard disk request, there is a race condition in the Windows driver code which leads to corruption if the operation completes too fast, i.e. the hardware interrupt from the IDE controller arrives too soon. With physical hardware, there is a guaranteed delay in most systems so the problem is usually hidden there (however it should be possible to reproduce it on physical hardware as well).
11 Troubleshooting 11.3 Linux and X11 guests 11.3.1 Linux guests may cause a high CPU load Some Linux guests may cause a high CPU load even if the guest system appears to be idle. This can be caused by a high timer frequency of the guest kernel. Some Linux distributions, for example Fedora, ship a Linux kernel configured for a timer frequency of 1000Hz. We recommend to recompile the guest kernel and to select a timer frequency of 100Hz. 11.3.
11 Troubleshooting VBoxClient --clipboard VBoxClient --display VBoxClient --seamless when your X11 user session is started if you are using a common desktop environment (Gnome, KDE and others). If a particular desktop service is not working correctly, it is worth checking whether the process which should provide it is running. The VBoxClient processes create files in the user’s home directory with names of the form .vboxclient-*.
11 Troubleshooting Certain applications may disable this key against Microsoft’s advice. If it is set to 0, change it to 1 and reboot your system. VirtualBox relies on Windows notifying it of media changes. 11.4.3 Sluggish response when using Microsoft RDP client If connecting to a Virtual Machine via the Microsoft RDP client (called Remote Desktop Connection), there can be large delays between input (moving the mouse over a menu is the most obvious situation) and output.
11 Troubleshooting 11.5 Linux hosts 11.5.1 Linux kernel module refuses to load If the VirtualBox kernel module (vboxdrv) refuses to load, i.e. you get an “Error inserting vboxdrv: Invalid argument”, check (as root) the output of the dmesg command to find out why the load failed. The most common reasons are: • With Linux 2.6.19 and higher, the NMI watchdog may be active. Add nmi_watchdog=0 to the kernel command line (e.g. in your grub configuration) and reboot.
11 Troubleshooting 11.5.4 Linux host floppy not found The previous instructions (for CD and DVD drives) apply accordingly to floppy disks, except that on older distributions VirtualBox tests for /dev/fd* devices by default, and this can be overridden with the VBOX_FLOPPY environment variable. 11.5.
11 Troubleshooting there are communication problems (i.e. a VirtualBox application cannot communicate with VBoxSVC), terminate the daemons and remove the local domain socket directory. 11.5.7 USB not working If USB is not working on your Linux host, make sure that the current user is a member of the vboxusers group. On older hosts, you need to make sure that the user has permission to access the USB filesystem (usbfs), which VirtualBox relies on to retrieve valid information about your host’s USB devices.
11 Troubleshooting domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev so that it contains domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=85,devmode=664 As usual, replace the 85 with the actual group number which should get access to USB devices. Other distributions do similar operations in scripts stored in the /etc/init.d directory. 11.5.8 PAX/grsec kernels Linux kernels including the grsec patch (see http://www.grsecurity.
11 Troubleshooting 11.6.2 VM aborts with out of memory errors on Solaris 10 hosts Solaris 10 hosts (bug 1225025) requires swap space equal to, or greater than the host’s physical memory size. For example, 8 GB physical memory would require at least 8 GB swap. This can be configured during a Solaris 10 install by choosing a ’custom install’ and changing the default partitions. For existing Solaris 10 installs, an additional swap image needs to be mounted and used as swap.
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.1.
12 Change log • Improved network performance for Linux guests by providing a virtio network device In addition, the following items were fixed and/or added: • VMM: guest SMP fixes for certain rare cases • GUI: allow to disable USB filters (bug #5426) • 3D support: major performance improvement in VBO processing • 3D support: added GL_EXT_framebuffer_object, GL_EXT_compiled_vertex_array support • 3D support: fixed crashes in FarCry, SecondLife, Call of Duty, Unreal Tournament, Eve Online (bugs #2801, #2791)
12 Change log • Solaris Additions: fixed as_pagelock() failed errors affecting guest properties (bug #5337) • Windows Additions: added automatic logon support for Windows Vista and Windows 7 • Windows Additions: fixed crash in seamless mode (contributed by Huihong Luo) • Linux Additions: added support for uninstalling the Linux Guest Additions (bug #4039) • SDK: added object-oriented web service bindings for PHP5 12.2 Version 3.0.12 (2009-11-10) This is a maintenance release.
12 Change log • Linux Additions: fixed writing to files opened in O_APPEND mode (bug #3805) • Solaris Additions: fixed regression in Guest additions driver which among other things caused lost guest property updates and periodic error messages being written to the system log 12.3 Version 3.0.10 (2009-10-29) This is a maintenance release.
12 Change log • Windows Additions: fixed NO_MORE_FILES error when saving to shared folders (bug #4106) • Windows Additions: fixed subdirectory creation on shared folders (bug #4299) • Linux Additions: sendfile() returned -EOVERFLOW when executed on a shared folder (bug #2921) • Linux Additions: fixed incorrect disk usage value (non-Windows hosts only) • Linux installer: register the module sources at DKMS even if the package provides proper modules for the current running kernel • 3D support: removed invali
12 Change log • VMM: fixed release assertion during state restore when using the Sound Blaster 16 emulation (bug #5042) • Security: fixed vulnerability that allowed to execute commands with root privileges • Linux hosts: fixed runtime assertion in semaphore implementation which was triggered under certain conditions (bug #616) • Linux hosts: change the default USB access mode on certain distributions (bugs #3394 and #4291) • Linux hosts: on hardened Gentoo, the VBoxSVC daemon crashed by opening the VM netwo
12 Change log • VRDP: start VM even if configured VRDP port is in use • Networking: the PCnet network device stopped receiving under rare conditions (bug #4870) • VBoxManage: implemented controlvm vrdpport command • iSCSI: fixed issue with NetApp targets (#5072) • SCSI: add support for virtual disks larger than 2TB • USB: fixed potential crash when unplugging USB2 devices (bug #5089) • NAT: IPSEC did not properly work with Linux guests (bug #4801) 12.5 Version 3.0.
12 Change log • Linux/Solaris hosts: correctly detect keyboards with fewer keys than usual (bug #4799) • Mac OS X hosts: prevent password dialogs in 32 bits Snow Leopard • Python WS: fixed issue with certain enumerations constants having wrong values in Python webservices bindings • Python API: several threading and platform issues fixed • Python shell: added exportVM command • Python shell: various improvements and bugfixes • Python shell: corrected detection of home directory in remote case • OVF: fixed X
12 Change log • BIOS: fixed a bug that caused the OS/2 boot manager to fail (2.1.
12 Change log • SUSE 11 guests: fixed Guest Additions installation (bug #4506) • Guest Additions: support Fedora 12 Alpha guests (bugs #4731, #4733 and #4734) 12.6 Version 3.0.4 (2009-08-04) This is a maintenance release. The following items were fixed and/or added: • VMM: 64 bits guest stability fixes (AMD-V only; bugs #3923 & #3666) • VMM: SMP stability fixes (AMD-V only) • VMM: SMP performance improvement (esp.
12 Change log • Shared Folders: fixed selection of a drive root directory as a shared folder host path in VirtualBox (Windows host only) • USB: fixed a bug that may have rendered USB device filter settings inactive (3.0.
12 Change log • VMM: fixed hangs and poor performance with Kaspersky Internet Security (VTx/AMD-V only; bug #1778) • VMM: fixed crashes when executing certain Linux guests (software virtualization only; bugs #2696 & #3868) • ACPI: fixed Windows 2000 kernel hangs with IO-APIC enabled (bug #4348) • APIC: fixed high idle load for certain Linux guests (3.
12 Change log • Solaris host: fixed a preemption issue causing VMs to never start on Solaris 10 (bug #4328). • Solaris guest: fixed mouse integration for OpenSolaris 2009.06 (bug #4365) • Windows hosts: fixed high CPU usage after resuming the host (bug #2978) • Fixed a settings file conversion bug which sometimes caused hardware acceleration to be enabled for virtual machines that had no explicit configuration in the XML. 12.8 Version 3.0.0 (2009-06-30) This version is a major update.
12 Change log • 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 hosts) • GUI: display estimated time for long running operations (e.g.
12 Change log • 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: 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.9 Version 2.2.4 (2009-05-29) This is a maintenance release.
12 Change log • VBoxManage metrics collect: now flushes the output stream • VHD: made VBoxManage internalcommands sethduuid work for .vhd files (bug #3443) • VHD: some .
12 Change log • Guest Additions: clean up properly if the X Window server terminates • Linux Additions: fixed installation path for OpenGL libraries in some 64-bit guests (bug #3693) • Solaris Additions: fixed installation to work when X.Org is not installed on the guest • Solaris Additions: fixed a bug that could panic the guest when unmounting a busy shared folder • Windows Additions: fixed mouse pointer integration of some Windows guests (2.2.
12 Change log • Networking: fixed a deadlock caused by the PCnet network device emulation (2.2.
12 Change log • VMM: FreeBSD guest related fix for V86 flags (bug #2342) • VMM: fixed guru meditation when booting an AsteriskNow Linux VM (bug #2342) • VMM: fixed PGMPOOLKIND_FREE guru meditation (bugs #3356, #3431) • VMM: fixed Windows XP boot hang (guest PAE + nested paging only) • VMM: allow mixing of VT-x/AMD-V and software virtualization • VMM: fixed extremely slow safe mode booting in e.g. Windows 2008 (VTx/AMD-V only) • VMM: significant speedup of certain GRUB boot loaders (e.g.
12 Change log • 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: prevented setting the locale in vboxmouse, as this caused problems with Turkish locales (bug #3563) • X11 guests: show the guest mouse pointer at the right position if the virtual desktop is larger than the guest resolution (bug #2306) • Linux Additions: fixed typo when detecting Xorg 1.
12 Change log • 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 • GUI: removed floppy icon from the status bar • GUI: show build revision in about dialog • GUI: fixed sticky status bar text • GUI: improved error dialogs • GUI: fail with an appropriate error message when trying to boot a read-only disk image (bug #1745) • GUI/Mac OS X: fixed disabl
12 Change log • Linux hosts: fixed module dependency for shipped modules (bug #3115) • Linux hosts: moved the udev rules for USB forward so that they don’t override existing system rules (bug #3143) • Linux hosts: fixed the issue with guest not being able to communicate with each other when attached via TAP interfaces (bug #3215) • Linux hosts: give up probing for USB gracefully if DBus or hal are not available (bug #3136) • Linux hosts: fixed warnings in installer when SELinux was disabled (bug #3098) • Li
12 Change log • USB: reduced host CPU utilization if EHCI is active • VRDP: fixed VRDP server black screen after a client reconnect (bug #1989) • VRDP: modified rdesktop client (rdesktop-vrdp) now uses NumLock state synchronization (bug #3253) • LsiLogic: make FreeBSD guests work (bug #3174) • ATA: fixed deadlock when pausing VM due to problems with the virtual disk (e.g.
12 Change log • VMM: allow running up to 1023 VMs on 64-bit hosts (used to be 127) • VMM: several FreeBSD guest related fixes (bugs #2342, #2341, #2761) • VMM: fixed guru meditation when installing Suse Enterprise Server 10U2 (VT-x only; bug #3039) • VMM: fixed guru meditation when booting Novell Netware 4.
12 Change log • 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 • 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 #2847) • Solaris hosts: 32-bit and 64-bit versions now available as a single, unified package • Linux hosts: don’t depend on libcap1 anymore (bug #2859) • Linux hosts: kernel module compile fixes for 2.6.29-rc1 • Linux hosts: don’t drop any capability if the VM was started by root (2.1.
12 Change log • 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.14 Version 2.1.0 (2008-12-17) This version is a major update. The following major new features were added: • Support for hardware virtualization (VT-x and AMD-V) on Mac OS X hosts • Support for 64-bit guests on 32-bit host operating systems (experimental; see chapter 3.
12 Change log • VMM: deactivate VT-x and AMD-V when the host machine goes into suspend mode; reactivate when the host machine resumes (Windows, Mac OS X & Linux hosts; bug #1660) • VMM: fixed guest hangs when restoring VT-x or AMD-V saved states/snapshots • VMM: fixed guru meditation when executing a one byte debug instruction (VT-x only; bug #2617) • VMM: fixed guru meditation for PAE guests on non-PAE hosts (VT-x) • VMM: disallow mixing of software and hardware virtualization execution in general (bug #24
12 Change log • 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 with better generalization • API: allow attaching a hard disk to more than one VM at a time • API: added methods to return network configuration information of the host system • Shared
12 Change log • 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.16 Version 2.0.6 (2008-11-21) This is a maintenance release.
12 Change log • Solaris hosts: fixed incompatibility between IPSEC and host interface networking • Solaris hosts: fixed a rare race condition while powering off VMs with host interface networking • Solaris hosts: fixed VBoxSDL on Solaris 10 by shipping the required SDL library (bug #2475) • Windows Additions: fixed logged in users reporting via guest properties when using native RDP connections • Windows Additions: fixed Vista crashes when accessing shared folders under certain circumstances (bug #2461) • W
12 Change log • 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 • 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 • Mac OS X hosts: added Python support • Additions: fixed a possible hang in HGCM communication after a VM reboot • Windows Additions: added support for Windows XP 64 bits (bug #2117) • Linux Additions: deactivate dynamic resizing on Linux guests with buggy X servers • Linux Additions: support Ubuntu 8.
12 Change log • New-version notifier • Guest property information interface • Host Interface Networking on Mac OS X hosts • New Host Interface Networking on Solaris hosts • Support for Nested Paging on modern AMD CPUs (major performance gain) • Framework for collecting performance and resource usage data (metrics) • Added SATA asynchronous IO (NCQ: Native Command Queuing) when accessing raw disks/partitions (major performance gain) • Clipboard integration for OS/2 Guests • Created separate SDK component fea
12 Change log • SATA: fixed BSODs of Windows guests on a SATA disk (bug #1941) • SATA: fixed hard disk detection on Solaris 10 U5 (bug #1789) • VBoxHeadless: don’t start the clipboard service (bug #1743) • VBoxHeadless: added -vrdp parameter which allows to start the VM session without VRDP (bug #1960) • VBoxManage: fixes to creating raw disk/partition VMDK files, now accepts removable media on Windows (bug #1869) • VRDP: fixed communication with MS Remote Desktop Connection on Mac OS X (bug #1337) • VRDP:
12 Change log • Linux Additions: fixed startup order for recent Linux distributions again (e.g. openSUSE 11) • Linux Additions: attempt to fix the autostart issue of VBoxClient with Mandriva guests (bug #1699) • Linux Additions: fixed detection of patched Linux 2.6.18 kernels of RHEL5 / FC6 / CentOS 5.
12 Change log • 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 .vmdk images without UUIDs • Windows hosts: fixed driver parameter validation issue in VBoxDrv.
12 Change log • VMM: fixed starting of VMs with AMD-V enabled • VMM: massive performance enhancements for AMD-V • VMM: stability improvements for AMD-V on Windows hosts • VMM: correctly detect AMD CPUs with erratum 170 (AMD-V) • VMM: detect inconsistent timestamp counters on certain AMD Phenom motherboards (Windows host only) • VMM: fixed KVM check (Linux hosts only) • VMM: fixed a regression introduced in 1.6.
12 Change log • Windows host: fixed stability during high system load (page fault in KeQueryActiveProcessors) • Mac OS X host: fixed crashes under certain conditions • Shared Folders: limited users without admin rights now also can use Shared Folders on Windows guests • Linux hosts: fixed default runlevel for the kernel module helper script • Solaris hosts: enabled support for VT-x and AMD-V • Solaris hosts: dynamic loading of libdlpi fixes a problem where Solaris 10 was not able to start a VM • Linux Addit
12 Change log • VMM: many fixes for VT-x/SVM hardware-supported virtualization • ATA/IDE: better disk geometry compatibility with VMware images • ATA/IDE: virtualize an AHCI controller • Storage: better write optimization, prevent images from growing unnecessarily • Network: support PXE booting with NAT • Network: fixed the Am79C973 PCNet emulation for Nexenta guests • NAT: improved builtin DHCP server (implemented DHCPNAK response) • NAT: port forwarding stopped when restoring the VM from a saved state • N
12 Change log 12.24 Version 1.5.6 (2008-02-19) This version is a maintenance release. It adds an experimental Intel Gigabit Ethernet device emulation and read-only shared folders.
12 Change log • VRDP: install rdesktop-vrdp on Linux hosts • VBoxManage: fixed crash during clonevdi • VBoxManage: added ’list runningvms’ command • VBoxManage: improved the compatibility when reading the partition table of a raw disk • Shared Folders: added support for read-only shared folders • Shared Clipboard: several fixes • Network: don’t crash if the device is activated but not attached • Network: experimental support for Intel Gigabit Ethernet (E1000) device emulation • iSCSI: better check for misco
12 Change log 12.25 Version 1.5.4 (2007-12-29) This version is a maintenance release. It adds USB 2.0 support and a PulseAudio backend.
12 Change log • Floppy: fixed handling of read-only images • USB: virtualize an EHCI controller • USB: several minor fixes • Network: fixed MAC address check • Network: host interface fixes for Solaris guests • Network: guest networking stopped completely after taking a snapshot • Network: don’t crash if a network card is enabled but not attached • PXE: fix for PXE-EC8 error on soft reboot • NAT: update the DNS server IP address on every DNS packet sent by the guest • VGA: reset VRAM access handers after a
12 Change log • Linux host: make sure the tun kernel module is loaded before initializing static TAP interfaces • Windows Additions: fixed hang during HGCM communication • Windows Additions: fixed delay when shutting down the guest • Linux Additions: added sendfile support to allow HTTP servers to send files on shared folders • Linux Additions: make Additions work with Fedora 8 (SELinux policy added) • Linux Additions: sometimes ARGB pointers were displayed incorrectly • Linux Additions: several small scrip
12 Change log • BIOS: expose the VM UUID in the DMI/SMBIOS area • VGA: fixed CGA video modes • VGA: fixed 8-bit DAC handling (Solaris setup) • VMM: fixed issue with VT-x on Windows 64-bit hosts • VMM: improved compatibility with Linux KVM • VMM: fixed issues with Fedora 8 guests • VMM: fixed fatal errors while installing Windows guests when using AMD-V • VMM: fixed sporadic hangs when minimizing VM window and using VT-x/AMDV • VMM: fixed high load of ksoftirq on tickless Linux hosts • VMM: fixed Windows 200
12 Change log • Windows Additions: fixed issues with Additions on NT 4 guests • Windows Additions: added support for 8-bit video modes • Windows Additions: allow specifying custom resolutions for secondary screens • Windows Additions: several fixes and improvements for DirectDraw • Windows Additions: improved the mouse filter driver compatibility with other mouse drivers • Linux Additions: several fixes and enhancements to Shared Folders • Linux Additions: added support for X.org Server 1.
12 Change log • GUI: pass the Pause key and the PrtScrn key to the guest (Linux hosts) • GUI: increased maximum guest RAM to 2 GB (Windows host) • GUI: improved rendering performance (Windows host) • GUI: status lights for USB and shared folders • GUI: properly respect the DISPLAY environment variable • GUI: download Guest Additions from virtualbox.
12 Change log • VMM: fixed out-of-memory errors under certain environments with enough appropriate memory available • API: fixed occasional crashes of the VBoxSVC server during VM shutdown (Linux host) • API: some components were not notified when mounting a CD/DVD • VMDK: improve geometry compatibility with existing VMDK images • IDE/Floppy: optionally make non-available host device non-fatal • IDE: improve emulation accuracy of the IRQ line between master and slave drive • IDE: guest could freeze when unm
12 Change log 12.28 Version 1.4.
12 Change log • VMM: improved FreeBSD and OpenBSD support • VMM: improved performance of guests that aggressively patch kernel code (very recent Linux 2.
12 Change log • 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 Interface Networking: reworked TAP handling for Linux 2.6.
12 Change log • 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.29 Version 1.3.8 (2007-03-14) • Windows installer: fixed installation problem if UAC is active • Linux installer: added RPM for rhel4 and Mandriva 2007.1 • Linux installer: remove any old vboxdrv modules in /lib/modules/*/misc • Linux installer: many small improvements for .deb and .
12 Change log • 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.30 Version 1.3.
12 Change log 12.31 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.36 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.38 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.41 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.43 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.45 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.46 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.47 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.49 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.1.0_BETA2. Unless marked otherwise these issues are planned to be fixed in later releases. • The following Guest SMP (multiprocessor) limitations exist: – Poor performance with 32-bit guests on AMD CPUs. This affects mainly Windows and Solaris guests, but possibly also some Linux kernel revisions. Partially solved in 3.0.6 for 32 bits Windows NT, 2000, XP and 2003 guests. Requires 3.0.
13 Known limitations – OVF localization (multiple languages in one OVF file) is not yet supported. – Some OVF sections like StartupSection, DeploymentOptionSection and InstallSection are ignored. – OVF environment documents, including their property sections and appliance configuration with ISO images, are not yet supported. – OVA archives (TAR containers) are not yet supported. – Remote files via HTTP or other mechanisms are not yet supported. • Vista 64-bit hosts have stability issues when using USB.
13 Known limitations • 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 254 and Copyright (C) The Authors. • VirtualBox contains Slirp which is governed by the license in chapter 14.2.8, Slirp license, page 263 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.14, gSOAP Public License Version 1.3a, page 267 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 242 and Copyright (C) 2002 Jeff Dike.
14 Third-party licenses When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive 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.
14 Third-party licenses You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2.
14 Third-party licenses c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution 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.
14 Third-party licenses If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
14 Third-party licenses 12.
14 Third-party licenses the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library.
14 Third-party licenses The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a “work based on the library” and a “work that uses the library”. The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0.
14 Third-party licenses d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
14 Third-party licenses 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a “work that uses the Library”. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
14 Third-party licenses c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
14 Third-party licenses impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11.
14 Third-party licenses will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
14 Third-party licenses 1.8. “License” means this document. 1.8.1. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. 1.9. “Modifications” means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: A.
14 Third-party licenses (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices. 2.2. Contributor Grant.
14 Third-party licenses Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change.
14 Third-party licenses or collateral in which You describe recipients’ rights relating to the Covered Code.
14 Third-party licenses COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU.
14 Third-party licenses 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination. 9. LIMITATION OF LIABILITY.
14 Third-party licenses veloper permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A. EXHIBIT A -Mozilla Public License. “The contents of this file are subject to the Mozilla Public License Version 1.1 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.
14 Third-party licenses 14.2.
14 Third-party licenses textual message at program startup or in documentation (online or textual) provided with the package. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2.
14 Third-party licenses CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
14 Third-party licenses 2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source. 3. This Copyright notice may not be removed or altered from any source or altered source distribution. The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products.
14 Third-party licenses THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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.
14 Third-party licenses IN NO EVENT SHALL THE AUTHORS 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 the authors 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.2.
14 Third-party licenses 1.10.1. “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. 1.11.
14 Third-party licenses (c) (d) 3 DISTRIBUTION OBLIGATIONS. 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute.
14 Third-party licenses directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients’ rights or ownership rights relating to Covered Code.
14 Third-party licenses choose to use such Covered Code under the terms of any subsequent version of the License. 6.3. Derivative Works.
14 Third-party licenses JURY OR LOSS OF HUMAN LIFE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. 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.
14 Third-party licenses “The contents of this file are subject to the gSOAP Public License Version 1.3 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.cs.fsu.edu/~engelen/ soaplicense.html. Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
14 Third-party licenses • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. • Neither the name of Stanford University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
14 Third-party licenses 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. Additional BSD Notice 1. This notice is required to be provided under our contract with the U.S. Department of Energy (DOE).
14 Third-party licenses 14.2.16 curl license COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1996 - 2009, Daniel Stenberg, daniel@haxx.se. All rights reserved. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
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 76.
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 I IDE Integrated Drive Electronics, an industry standard for hard disk interfaces. See chapter 5.1, Hard disk controllers: IDE, SATA (AHCI), SCSI, page 76. I/O APIC See APIC. iSCSI Internet SCSI; see chapter 5.8, iSCSI servers, page 86. 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.
Glossary R RDP Remote Desktop Protocol, a protocol developed by Microsoft as an extension to the ITU T.128 and T.124 video conferencing protocol. With RDP, a PC system can be controlled from a remote location using a network connection over 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.
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.