16 Reference

Experimental Features

These Oracle VirtualBox features are considered experimental and are not covered by Oracle Premier Support. However, feedback and suggestions about the features are welcome.

Windows on Arm Hosts

The installation package for Windows 11 includes the ability to run Oracle VirtualBox on an Arm host processor.

This feature is experimental. If you plan to use it, contact Oracle Sales with an indication of the number of hosts so that we can estimate demand for support of this feature.

macOS Guests

Oracle VirtualBox enables you to install and execute unmodified versions of macOS and Mac OS X guests on supported host hardware. This feature is experimental and thus unsupported.

Be aware of the following important issues before you try to install a macOS guest:

  • macOS is commercial, licensed software and contains both license and technical restrictions that limit its use to certain hardware and usage scenarios. You must understand and comply with these restrictions.

    In particular, Apple prohibits the installation of most versions of macOS on non-Apple hardware.

    These license restrictions are also enforced on a technical level. macOS verifies that it is running on Apple hardware. Most DVDs that accompany Apple hardware check for the exact model. These restrictions are not circumvented by Oracle VirtualBox and continue to apply.

  • Only CPUs that are known and tested by Apple are supported. As a result, if your Intel CPU is newer than the macOS build, or if you have a non-Intel CPU, you will likely encounter a panic during bootup with an Unsupported CPU exception.

    Ensure that you use the macOS DVD that comes with your Apple hardware.

  • The macOS installer expects the hard disk to be partitioned. So, the installer will not offer a partition selection to you. Before you can install the software successfully, start the Disk Utility from the Tools menu and partition the hard disk. Close the Disk Utility and proceed with the installation.

Limitations
  • The graphics resolution currently defaults to 1024x768 as macOS falls back to the built-in EFI display support. See Video Modes in EFI for more information on how to change EFI video modes.

  • Depending on your system and version of macOS, you might experience guest hangs after some time. This can be fixed by turning off energy saving. Set the timeout to Never in the system preferences.

  • By default, the Oracle VirtualBox EFI enables debug output of the macOS kernel to help you diagnose boot problems. Note that there is a lot of output and not all errors are fatal. They would also show when using a physical Apple computer. You can turn off these messages by using the following command:

    $ VBoxManage setextradata VM-name "VBoxInternal2/EfiBootArgs" "  "

    To revert to the previous behavior, use the following command:

    $ VBoxManage setextradata VM-name "VBoxInternal2/EfiBootArgs" ""
  • It is currently not possible to start a macOS guest in safe mode by specifying the -x option in VBoxInternal2/EfiBootArgs extradata.

CD/DVD Passthrough

The standard CD/DVD emulation enables reading of standard data CD and DVD formats only. As an experimental feature, for additional capabilities, it is possible to give the guest direct access to the CD/DVD host drive by enabling passthrough mode. Depending on the host hardware, this may potentially enable the following things to work:

  • CD/DVD writing from within the guest, if the host DVD drive is a CD/DVD writer

  • Playing audio CDs

  • Playing encrypted DVDs

To enable host drive passthrough you can use the --passthrough option of the VBoxManage storageattach command. See VBoxManage storageattach.

Even if passthrough is enabled, unsafe commands, such as updating the drive firmware, will be blocked. Video CD formats are never supported, not even in passthrough mode, and cannot be played from a virtual machine.

On Oracle Solaris hosts, passthrough requires running Oracle VirtualBox with real root permissions due to security measures enforced by the host.

PC Speaker Passthrough

As an experimental feature, primarily due to being limited to Linux host only and unknown Linux distribution coverage, Oracle VirtualBox supports passing through the PC speaker to the host. The PC speaker, sometimes called the system speaker, is a way to produce audible feedback such as beeps without the need for regular audio and sound card support.

The PC speaker passthrough feature in Oracle VirtualBox handles beeps only. Advanced PC speaker use by the VM, such as PCM audio, will not work, resulting in undefined host behavior.

Producing beeps on Linux is a very complex topic. Oracle VirtualBox offers a collection of options, in an attempt to make this work deterministically and reliably on as many Linux distributions and system configurations as possible. These are summarized in the following table.

Table 16-1 PC Speaker Configuration Options

Code Device Notes

1

/dev/input/by-path/platform-pcspkr-event-spkr

Direct host PC speaker use.

2

/dev/tty

Uses the terminal association of the VM process. VM needs to be started on a virtual console.

3

/dev/tty0 or /dev/vc/0

Can only be used by user root or users with cap_sys_tty_config capability.

9

A user-specified console or evdev device path.

As for codes 1 to 3, but with a custom device path.

70

/dev/tty

Standard beep only. Loses frequency and length. See code 2.

79

A user-specified terminal device path.

As for code 70, but with a custom device path.

100

All of the above.

Tries all the available codes.

To enable PC speaker passthrough use the following command:

VBoxManage setextradata VM-name "VBoxInternal/Devices/i8254/0/Config/PassthroughSpeaker" N
               

Replace N with the code representing the case you want to use. Changing this setting takes effect when you next start the VM. It is safe to enable PC speaker passthrough on all host OSes. It will only have an effect on Linux.

The VM log file, VBox.log, contains lines with the prefix PIT: speaker: showing the PC speaker passthrough setup activities. It gives hints which device it picked or why it failed.

Enabling PC speaker passthrough for the VM is usually the simple part. The real difficulty is making sure that Oracle VirtualBox can access the necessary device, because in a typical Linux install most of them can only be accessed by user root. You should follow the preferred way to persistently change this, such as by referring to your distribution's documentation. Since there are countless Linux distribution variants, we can only give the general hints that there is often a way to give the X11 session user access to additional devices, or you need to find a working solution using a udev configuration file. If everything fails you might try setting the permissions using a script which is run late enough in the host system startup.

Sometimes additional rules are applied by the kernel to limit access. For example, that the VM process must have the same controlling terminal as the device configured to be used for beeping, something which is often very difficult to achieve for GUI applications such as Oracle VirtualBox. The table above contains some hints, but in general refer to the Linux documentation.

If you have trouble getting any beeps even if the device permissions are set up and VBox.log confirms that it uses evdev or console for the PC speaker control, check if your system has a PC speaker. Some systems do not have one. Other complications can arise from Linux rerouting the PC speaker output to a sound card. Check if the beeps are audible if you connect speakers to your sound card. Today almost all systems have one. Finally, check if the audio mixer control has a channel named beep, which could be hidden in the mixer settings, and that it is not muted.

Virtual I/O Device SCSI Hard Disk Controller

The use of hard disk controllers is described at Hard Disk Controllers. In addition to those listed, virtio-scsi is an experimental feature.

Virtual I/O Device SCSI is a standard to connect virtual storage devices like hard disks or optical drives to a VM. Recent Linux and Windows versions support these devices, but Windows needs additional drivers. Drivers are available from Oracle Support.

Note:

The virtio-scsi controller will only be seen by OSes with device support for it. In particular, there is no built-in support in Windows. So Windows will not see such disks unless you install additional drivers.

Up to 256 slots can be attached to the virtio-scsi controller, if enabled and supported by the guest OS.

Access iSCSI Targets Using Internal Networking

As an experimental feature, Oracle VirtualBox enables access to an iSCSI target running in a virtual machine which is configured to use Internal Networking mode. See iSCSI Servers, Internal Networking, and VBoxManage storageattach.

The IP stack accessing Internal Networking must be configured in the virtual machine which accesses the iSCSI target. A free static IP and a MAC address not used by other virtual machines must be chosen. In the example below, adapt the name of the virtual machine, the MAC address, the IP configuration, and the Internal Networking name (MyIntNet) according to your needs. The following eight commands must first be issued:

$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/Trusted 1
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/Config/MAC 08:00:27:01:02:0f
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/Config/IP 10.0.9.1
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/Config/Netmask 255.255.255.0
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/LUN#0/Driver IntNet
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/LUN#0/Config/Network MyIntNet
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/LUN#0/Config/TrunkType 2
$ VBoxManage setextradata VM-name \
VBoxInternal/Devices/IntNetIP/0/LUN#0/Config/IsService 1

Finally the iSCSI disk must be attached with the --intnet option to tell the iSCSI initiator to use internal networking, as follows:

$ VBoxManage storageattach ... --medium iscsi --server 10.0.9.30 \
--target iqn.2008-12.com.sun:sampletarget --intnet

Compared to a regular iSCSI setup, the IP address of the target 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. If a virtual machine using an iSCSI disk is started without having the iSCSI target powered up, it can take up to 200 seconds to detect this situation. The VM will fail to power up.

Oracle VirtualBox Privacy Information

Version 6, July 19, 2024

The Oracle Privacy Policies apply to your personal data collected and used by Oracle. The following privacy information describes in more detail which information is exchanged between the Oracle VirtualBox application and Oracle, and which information is collected by the virtualbox.org website.

§ 1 virtualbox.org. The virtualbox.org 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"). In addition, but only if you choose to register an Oracle Single Sign On account, the website's bug tracking and forum services store the data you choose to reveal in your profile, such as your user name and contact information.

§ 2 Cookies. The virtualbox.org website, the bug tracker and the forum services use cookies to identify and track the visiting web browser and, if you have registered, to facilitate login. Most browsers allow you to refuse to accept cookies. While you can still visit the website with cookies disabled, logging into the bug tracker and forum services will not work without them.

§ 3 Update notifications. The Oracle VirtualBox application may contact Oracle to find out whether a new version of Oracle VirtualBox has been released and notify the user if that is the case. In the process, anonymous data such as your IP address and a non-identifying counter, together with the product version and the platform being used, is sent so that the server can find out whether an update is available. By default, this check is performed once a day. You change this interval or disable these checks altogether in the Oracle VirtualBox preferences.

§ 4 Usage of personal information. Oracle may use anonymous and personal data collected by the means above for statistical purposes as well as to automatically inform you about new notices related to your posts on the bug tracker and forum services, to administer the website and to contact you due to technical issues. Oracle may also inform you about new product releases related to Oracle VirtualBox.

In no event will personal data without your express consent be provided to any third parties, unless Oracle may be required to do so by law or in connection with legal proceedings.

§ 5 Updates. Oracle may update the privacy policy at any time by posting a new version at Oracle Privacy Policies and the privacy information will be kept up to date in the documentation which comes with the Oracle VirtualBox application. You should check these places occasionally to ensure you are happy with any changes.