summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2023-02-13 15:48:05 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2023-02-13 15:48:05 +0000
commitafe2fc0306f4fb449a163d09d1d7f1215445e123 (patch)
tree0384a218fa2bfd3831084c630d382745a0990f4b /doc
parent5ba5edbdf536688afa04329388e5d56e82bf2af2 (diff)
downloadVirtualBox-svn-afe2fc0306f4fb449a163d09d1d7f1215445e123.tar.gz
Docs: bugref:10302. Uploading .dita user manual files we received from the doc team on 25th Jan.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@98549 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/en_US/dita/topics/AdvancedTopics.dita7
-rw-r--r--doc/manual/en_US/dita/topics/BasicConcepts.dita40
-rw-r--r--doc/manual/en_US/dita/topics/ExperimentalFeatures.dita60
-rw-r--r--doc/manual/en_US/dita/topics/Glossary.dita8
-rw-r--r--doc/manual/en_US/dita/topics/Introduction.dita53
-rw-r--r--doc/manual/en_US/dita/topics/KnownIssues.dita7
-rw-r--r--doc/manual/en_US/dita/topics/KnownProblems.dita334
-rw-r--r--doc/manual/en_US/dita/topics/Security.dita7
-rw-r--r--doc/manual/en_US/dita/topics/TechnicalBackground.dita15
-rw-r--r--doc/manual/en_US/dita/topics/Troubleshooting.dita14
-rw-r--r--doc/manual/en_US/dita/topics/VirtualBoxAPI.dita32
-rw-r--r--doc/manual/en_US/dita/topics/access-doc-access.dita13
-rw-r--r--doc/manual/en_US/dita/topics/addhostonlysolaris.dita76
-rw-r--r--doc/manual/en_US/dita/topics/additions-linux-graphics-mouse.dita105
-rw-r--r--doc/manual/en_US/dita/topics/additions-linux-install-unattended.dita22
-rw-r--r--doc/manual/en_US/dita/topics/additions-linux-install.dita55
-rw-r--r--doc/manual/en_US/dita/topics/additions-linux-uninstall.dita36
-rw-r--r--doc/manual/en_US/dita/topics/additions-linux-updating.dita15
-rw-r--r--doc/manual/en_US/dita/topics/additions-linux.dita68
-rw-r--r--doc/manual/en_US/dita/topics/additions-os2.dita27
-rw-r--r--doc/manual/en_US/dita/topics/additions-solaris-install-unattended.dita22
-rw-r--r--doc/manual/en_US/dita/topics/additions-solaris-install.dita49
-rw-r--r--doc/manual/en_US/dita/topics/additions-solaris-uninstall.dita15
-rw-r--r--doc/manual/en_US/dita/topics/additions-solaris-updating.dita15
-rw-r--r--doc/manual/en_US/dita/topics/additions-solaris.dita34
-rw-r--r--doc/manual/en_US/dita/topics/additions-windows-install-unattended-certs.dita100
-rw-r--r--doc/manual/en_US/dita/topics/additions-windows-install-unattended.dita21
-rw-r--r--doc/manual/en_US/dita/topics/additions-windows-updating.dita36
-rw-r--r--doc/manual/en_US/dita/topics/additions-windows.dita100
-rw-r--r--doc/manual/en_US/dita/topics/adv-config-linux-guest.dita7
-rw-r--r--doc/manual/en_US/dita/topics/adv-config-win-guest.dita7
-rw-r--r--doc/manual/en_US/dita/topics/adv-display-config.dita7
-rw-r--r--doc/manual/en_US/dita/topics/adv-storage-config.dita7
-rw-r--r--doc/manual/en_US/dita/topics/auth-config-using.dita38
-rw-r--r--doc/manual/en_US/dita/topics/autologon.dita18
-rw-r--r--doc/manual/en_US/dita/topics/autologon_unix.dita188
-rw-r--r--doc/manual/en_US/dita/topics/autologon_unix_lightdm.dita152
-rw-r--r--doc/manual/en_US/dita/topics/autologon_win.dita137
-rw-r--r--doc/manual/en_US/dita/topics/autostart-linux.dita54
-rw-r--r--doc/manual/en_US/dita/topics/autostart-osx.dita30
-rw-r--r--doc/manual/en_US/dita/topics/autostart-solaris.dita27
-rw-r--r--doc/manual/en_US/dita/topics/autostart-windows.dita97
-rw-r--r--doc/manual/en_US/dita/topics/autostart.dita12
-rw-r--r--doc/manual/en_US/dita/topics/basic-unattended.dita57
-rw-r--r--doc/manual/en_US/dita/topics/buffer-overwriting-mitigation.dita56
-rw-r--r--doc/manual/en_US/dita/topics/changeacpicust.dita26
-rw-r--r--doc/manual/en_US/dita/topics/changedmi.dita137
-rw-r--r--doc/manual/en_US/dita/topics/changenat.dita7
-rw-r--r--doc/manual/en_US/dita/topics/changetimesync.dita107
-rw-r--r--doc/manual/en_US/dita/topics/changetscmode.dita38
-rw-r--r--doc/manual/en_US/dita/topics/changevpd.dita60
-rw-r--r--doc/manual/en_US/dita/topics/clone.dita167
-rw-r--r--doc/manual/en_US/dita/topics/cloningvdis.dita38
-rw-r--r--doc/manual/en_US/dita/topics/cloud-create-api-keypair.dita72
-rw-r--r--doc/manual/en_US/dita/topics/cloud-create-cloud-profile.dita125
-rw-r--r--doc/manual/en_US/dita/topics/cloud-export-oci-prepare-vm.dita180
-rw-r--r--doc/manual/en_US/dita/topics/cloud-export-oci.dita151
-rw-r--r--doc/manual/en_US/dita/topics/cloud-import-oci.dita65
-rw-r--r--doc/manual/en_US/dita/topics/cloud-integration-steps.dita40
-rw-r--r--doc/manual/en_US/dita/topics/cloud-integration.dita30
-rw-r--r--doc/manual/en_US/dita/topics/cloud-upload-public-key.dita75
-rw-r--r--doc/manual/en_US/dita/topics/cloud-using-cli.dita87
-rw-r--r--doc/manual/en_US/dita/topics/cloud-using-cloud-networks.dita77
-rw-r--r--doc/manual/en_US/dita/topics/cloud-using-cloud-profile-manager.dita168
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vbox-oci-tasks.dita46
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-add.dita90
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-control.dita49
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-instance-console.dita54
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-new.dita96
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-oci-group.dita39
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-remove.dita32
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm-settings.dita29
-rw-r--r--doc/manual/en_US/dita/topics/cloud-vm.dita63
-rw-r--r--doc/manual/en_US/dita/topics/collect-debug-info.dita85
-rw-r--r--doc/manual/en_US/dita/topics/config-vm-selector-menu.dita112
-rw-r--r--doc/manual/en_US/dita/topics/config-vm-window-menu.dita958
-rw-r--r--doc/manual/en_US/dita/topics/config-vm-window-status-bar.dita135
-rw-r--r--doc/manual/en_US/dita/topics/config-vm-window-visual-modes.dita53
-rw-r--r--doc/manual/en_US/dita/topics/configbasics.dita44
-rw-r--r--doc/manual/en_US/dita/topics/cpuhotplug.dita74
-rw-r--r--doc/manual/en_US/dita/topics/create-floppy-disk-image.dita62
-rw-r--r--doc/manual/en_US/dita/topics/create-optical-disk-image.dita98
-rw-r--r--doc/manual/en_US/dita/topics/create-virtual-hard-disk-image.dita67
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard-hardware.dita83
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard-name-os.dita106
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard-summary.dita24
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard-unattended-examples.dita76
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard-unattended-install.dita83
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard-virtual-hard-disk.dita132
-rw-r--r--doc/manual/en_US/dita/topics/create-vm-wizard.dita18
-rw-r--r--doc/manual/en_US/dita/topics/customize-vm-manager.dita56
-rw-r--r--doc/manual/en_US/dita/topics/customize-vm-selector.dita81
-rw-r--r--doc/manual/en_US/dita/topics/customvesa.dita42
-rw-r--r--doc/manual/en_US/dita/topics/diffimages.dita156
-rw-r--r--doc/manual/en_US/dita/topics/disable-nested-paging-mitigation.dita25
-rw-r--r--doc/manual/en_US/dita/topics/disabletimesync.dita16
-rw-r--r--doc/manual/en_US/dita/topics/diskencryption-decryption.dita21
-rw-r--r--doc/manual/en_US/dita/topics/diskencryption-encryption.dita40
-rw-r--r--doc/manual/en_US/dita/topics/diskencryption-limitations.dita73
-rw-r--r--doc/manual/en_US/dita/topics/diskencryption-startvm.dita31
-rw-r--r--doc/manual/en_US/dita/topics/diskencryption.dita29
-rw-r--r--doc/manual/en_US/dita/topics/efi.dita43
-rw-r--r--doc/manual/en_US/dita/topics/efibootargs.dita21
-rw-r--r--doc/manual/en_US/dita/topics/efividmode.dita350
-rw-r--r--doc/manual/en_US/dita/topics/emul-hardware.dita82
-rw-r--r--doc/manual/en_US/dita/topics/externalkernelmodules.dita112
-rw-r--r--doc/manual/en_US/dita/topics/features-overview.dita233
-rw-r--r--doc/manual/en_US/dita/topics/fine-tune-timers.dita7
-rw-r--r--doc/manual/en_US/dita/topics/flush-level1-data-cache-mitigation.dita56
-rw-r--r--doc/manual/en_US/dita/topics/frontends.dita59
-rw-r--r--doc/manual/en_US/dita/topics/generalsettings.dita14
-rw-r--r--doc/manual/en_US/dita/topics/gimdebug.dita24
-rw-r--r--doc/manual/en_US/dita/topics/gimdebughyperv-windows-setup.dita198
-rw-r--r--doc/manual/en_US/dita/topics/gimdebughyperv.dita120
-rw-r--r--doc/manual/en_US/dita/topics/gimproviders.dita60
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-acpi.dita14
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ahci.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-amdv.dita14
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-api.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-apic.dita19
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ata.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-bios.dita15
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-com.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-dhcp.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-efi.dita15
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ehci.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-gui.dita14
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-guid.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ide.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ioapic.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-iscsi.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-mac.dita15
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-msi.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-nat.dita18
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ovf.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-pae.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-pic.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-pxe.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-rdp.dita22
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-sas.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-sata.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-scsi.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-smp.dita15
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-ssd.dita14
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-tar.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-uuid.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-vm.dita14
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-vmm.dita14
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-vrde.dita16
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-vrdp.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-vtx.dita13
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-xhci.dita12
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-xml.dita15
-rw-r--r--doc/manual/en_US/dita/topics/glossentry-xpcom.dita16
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-2d.dita56
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-3d.dita127
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-balloon.dita89
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-dnd-formats.dita46
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-dnd-limitations.dita27
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-dnd.dita104
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-gc-file-manager-using.dita75
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-gc-file-manager.dita33
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-guestcontrol.dita32
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-guestprops-waits.dita23
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-guestprops.dita145
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-install.dita13
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-intro.dita161
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-memory-usage.dita15
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-pagefusion.dita106
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-resizing-linux-limitations.dita17
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-resizing-linux.dita63
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-resizing.dita7
-rw-r--r--doc/manual/en_US/dita/topics/guestadd-video.dita7
-rw-r--r--doc/manual/en_US/dita/topics/guestadditions.dita16
-rw-r--r--doc/manual/en_US/dita/topics/guestossupport.dita349
-rw-r--r--doc/manual/en_US/dita/topics/guestxorgsetup.dita76
-rw-r--r--doc/manual/en_US/dita/topics/gui-details-preview.dita19
-rw-r--r--doc/manual/en_US/dita/topics/gui-details-settings.dita37
-rw-r--r--doc/manual/en_US/dita/topics/gui-details-toolbar.dita50
-rw-r--r--doc/manual/en_US/dita/topics/gui-details.dita20
-rw-r--r--doc/manual/en_US/dita/topics/gui-machine-list.dita37
-rw-r--r--doc/manual/en_US/dita/topics/gui-notification-center.dita24
-rw-r--r--doc/manual/en_US/dita/topics/gui-tools-global.dita79
-rw-r--r--doc/manual/en_US/dita/topics/gui-tools-machine.dita66
-rw-r--r--doc/manual/en_US/dita/topics/gui-tools.dita26
-rw-r--r--doc/manual/en_US/dita/topics/gui-virtualboxmanager.dita67
-rw-r--r--doc/manual/en_US/dita/topics/gui-vmgroups.dita110
-rw-r--r--doc/manual/en_US/dita/topics/guitweaks.dita7
-rw-r--r--doc/manual/en_US/dita/topics/guru-meditation-action.dita62
-rw-r--r--doc/manual/en_US/dita/topics/harddiskcontrollers.dita305
-rw-r--r--doc/manual/en_US/dita/topics/hdimagewrites.dita198
-rw-r--r--doc/manual/en_US/dita/topics/headless-vm-steps.dita140
-rw-r--r--doc/manual/en_US/dita/topics/heartbeatservice.dita45
-rw-r--r--doc/manual/en_US/dita/topics/help-viewer.dita90
-rw-r--r--doc/manual/en_US/dita/topics/hidledssync.dita20
-rw-r--r--doc/manual/en_US/dita/topics/host-key-customize.dita418
-rw-r--r--doc/manual/en_US/dita/topics/hostcpurequirements.dita13
-rw-r--r--doc/manual/en_US/dita/topics/hostossupport.dita181
-rw-r--r--doc/manual/en_US/dita/topics/hostpowertweaks.dita65
-rw-r--r--doc/manual/en_US/dita/topics/hwvirt-details.dita92
-rw-r--r--doc/manual/en_US/dita/topics/hwvirt.dita92
-rw-r--r--doc/manual/en_US/dita/topics/hyperv-support.dita25
-rw-r--r--doc/manual/en_US/dita/topics/images/clone-vm-1.pngbin0 -> 81172 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/clone-vm-2.pngbin0 -> 68887 bytes
-rwxr-xr-xdoc/manual/en_US/dita/topics/images/clone-vm-3.pngbin0 -> 65690 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/cloud-profile-manager.pngbin0 -> 29590 bytes
-rwxr-xr-xdoc/manual/en_US/dita/topics/images/cloudvm-add.pngbin0 -> 65819 bytes
-rwxr-xr-xdoc/manual/en_US/dita/topics/images/cloudvm-new.pngbin0 -> 68976 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/cloudvm-oci-group.pngbin0 -> 12110 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/cloudvm-overview.pngbin0 -> 59815 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/create-vm-1.pngbin0 -> 77943 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/create-vm-2.pngbin0 -> 73227 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/create-vm-3.pngbin0 -> 63504 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/create-vm-4.pngbin0 -> 68296 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/details-pane.pngbin0 -> 39695 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/dnd-modes.pngbin0 -> 15875 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/export-appliance-oci.pngbin0 -> 71510 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/global-tools-menu.pngbin0 -> 38973 bytes
-rwxr-xr-xdoc/manual/en_US/dita/topics/images/guest-fm.pngbin0 -> 53965 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/import-instance.pngbin0 -> 62466 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/log-viewer.pngbin0 -> 40737 bytes
-rwxr-xr-xdoc/manual/en_US/dita/topics/images/machine-tools-menu.pngbin0 -> 52325 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/ovf-import.pngbin0 -> 69563 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/seamless.pngbin0 -> 603665 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/session-information.pngbin0 -> 59858 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/snapshots-1.pngbin0 -> 60222 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/snapshots-2.pngbin0 -> 12414 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/softkeybd.pngbin0 -> 40134 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/upload-key.pngbin0 -> 37716 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/virtual-disk-manager-2.pngbin0 -> 19565 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/virtual-disk-manager.pngbin0 -> 64886 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/virtual-hard-disk-wizard.pngbin0 -> 65819 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/virtualbox-main-empty.pngbin0 -> 87015 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/virtualbox-main.pngbin0 -> 78083 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/vm-activity-overview.pngbin0 -> 124514 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/vm-close.pngbin0 -> 12911 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/vm-groups.pngbin0 -> 116002 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/vm-hostkey.pngbin0 -> 3130 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/vm-settings-harddisk.pngbin0 -> 36844 bytes
-rw-r--r--doc/manual/en_US/dita/topics/images/vm-vista-running.pngbin0 -> 522810 bytes
-rw-r--r--doc/manual/en_US/dita/topics/import-instance-sequence.dita60
-rw-r--r--doc/manual/en_US/dita/topics/install-ext-pack-manager.dita58
-rw-r--r--doc/manual/en_US/dita/topics/install-ext-pack.dita37
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-alt-installer.dita98
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-debian-automatic.dita35
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-debian-ubuntu.dita45
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-host.dita7
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-manual.dita87
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-performing.dita15
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-prereq.dita41
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-rpm-automatic.dita15
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-update-uninstall.dita30
-rw-r--r--doc/manual/en_US/dita/topics/install-linux-vboxusers.dita18
-rw-r--r--doc/manual/en_US/dita/topics/install-mac-performing.dita41
-rw-r--r--doc/manual/en_US/dita/topics/install-mac-unattended.dita23
-rw-r--r--doc/manual/en_US/dita/topics/install-mac-uninstall.dita14
-rw-r--r--doc/manual/en_US/dita/topics/install-solaris-host.dita19
-rw-r--r--doc/manual/en_US/dita/topics/install-solaris-performing.dita52
-rw-r--r--doc/manual/en_US/dita/topics/install-solaris-starting.dita27
-rw-r--r--doc/manual/en_US/dita/topics/install-solaris-unattended.dita26
-rw-r--r--doc/manual/en_US/dita/topics/install-solaris-vboxuser.dita26
-rw-r--r--doc/manual/en_US/dita/topics/install-win-performing.dita198
-rw-r--r--doc/manual/en_US/dita/topics/install-win-prereq.dita18
-rw-r--r--doc/manual/en_US/dita/topics/install-win-public-props.dita75
-rw-r--r--doc/manual/en_US/dita/topics/install-win-unattended.dita13
-rw-r--r--doc/manual/en_US/dita/topics/install-win-uninstall.dita15
-rw-r--r--doc/manual/en_US/dita/topics/installation-mac.dita7
-rw-r--r--doc/manual/en_US/dita/topics/installation.dita13
-rw-r--r--doc/manual/en_US/dita/topics/installation_windows.dita7
-rw-r--r--doc/manual/en_US/dita/topics/intro-64bitguests.dita27
-rw-r--r--doc/manual/en_US/dita/topics/intro-installing.dita73
-rw-r--r--doc/manual/en_US/dita/topics/intro-macosxguests.dita78
-rw-r--r--doc/manual/en_US/dita/topics/intro-removable-media-changing.dita35
-rw-r--r--doc/manual/en_US/dita/topics/intro-removing.dita58
-rw-r--r--doc/manual/en_US/dita/topics/intro-resize-window.dita66
-rw-r--r--doc/manual/en_US/dita/topics/intro-running.dita46
-rw-r--r--doc/manual/en_US/dita/topics/intro-save-machine-state.dita81
-rw-r--r--doc/manual/en_US/dita/topics/intro-starting-vm-first-time.dita18
-rw-r--r--doc/manual/en_US/dita/topics/intro-starting.dita45
-rw-r--r--doc/manual/en_US/dita/topics/iocaching.dita99
-rw-r--r--doc/manual/en_US/dita/topics/iscsi-intnet.dita61
-rw-r--r--doc/manual/en_US/dita/topics/kernel-modules-efi-secure-boot.dita40
-rw-r--r--doc/manual/en_US/dita/topics/keyb_mouse_normal.dita109
-rw-r--r--doc/manual/en_US/dita/topics/legacy-fullscreen-mode.dita26
-rw-r--r--doc/manual/en_US/dita/topics/linux-guest-manual-setup.dita43
-rw-r--r--doc/manual/en_US/dita/topics/linux_install_opts.dita28
-rw-r--r--doc/manual/en_US/dita/topics/log-viewer.dita113
-rw-r--r--doc/manual/en_US/dita/topics/max-resolution-guests.dita42
-rw-r--r--doc/manual/en_US/dita/topics/mountingadditionsiso.dita132
-rw-r--r--doc/manual/en_US/dita/topics/mouse-capture.dita65
-rw-r--r--doc/manual/en_US/dita/topics/nat-address-config.dita35
-rw-r--r--doc/manual/en_US/dita/topics/nat-adv-alias.dita25
-rw-r--r--doc/manual/en_US/dita/topics/nat-adv-dns.dita18
-rw-r--r--doc/manual/en_US/dita/topics/nat-adv-settings.dita32
-rw-r--r--doc/manual/en_US/dita/topics/nat-adv-tftp.dita20
-rw-r--r--doc/manual/en_US/dita/topics/nat-bind-sockets.dita26
-rw-r--r--doc/manual/en_US/dita/topics/nat-limitations.dita64
-rw-r--r--doc/manual/en_US/dita/topics/nat-tftp.dita18
-rw-r--r--doc/manual/en_US/dita/topics/nat_host_resolver_name_intercepting.dita59
-rw-r--r--doc/manual/en_US/dita/topics/nat_host_resolver_proxy.dita24
-rw-r--r--doc/manual/en_US/dita/topics/natforward.dita96
-rw-r--r--doc/manual/en_US/dita/topics/nested-virt.dita44
-rw-r--r--doc/manual/en_US/dita/topics/nestedpaging.dita74
-rw-r--r--doc/manual/en_US/dita/topics/network-manager-cloud-network-tab.dita68
-rw-r--r--doc/manual/en_US/dita/topics/network-manager-host-only-tab.dita54
-rw-r--r--doc/manual/en_US/dita/topics/network-manager-nat-network-tab.dita54
-rw-r--r--doc/manual/en_US/dita/topics/network-manager.dita38
-rw-r--r--doc/manual/en_US/dita/topics/network_bandwidth_limit.dita56
-rw-r--r--doc/manual/en_US/dita/topics/network_bridged.dita116
-rw-r--r--doc/manual/en_US/dita/topics/network_cloud.dita40
-rw-r--r--doc/manual/en_US/dita/topics/network_hostonly.dita146
-rw-r--r--doc/manual/en_US/dita/topics/network_internal.dita84
-rw-r--r--doc/manual/en_US/dita/topics/network_nat.dita64
-rw-r--r--doc/manual/en_US/dita/topics/network_nat_service.dita114
-rw-r--r--doc/manual/en_US/dita/topics/network_performance.dita112
-rw-r--r--doc/manual/en_US/dita/topics/network_udp_tunnel.dita76
-rw-r--r--doc/manual/en_US/dita/topics/network_vde.dita86
-rw-r--r--doc/manual/en_US/dita/topics/networkingdetails.dita39
-rw-r--r--doc/manual/en_US/dita/topics/networkingmodes.dita314
-rw-r--r--doc/manual/en_US/dita/topics/nichardware.dita107
-rw-r--r--doc/manual/en_US/dita/topics/otherextpacks.dita52
-rw-r--r--doc/manual/en_US/dita/topics/ovf-about.dita70
-rw-r--r--doc/manual/en_US/dita/topics/ovf-export-appliance.dita100
-rw-r--r--doc/manual/en_US/dita/topics/ovf-import-appliance.dita103
-rw-r--r--doc/manual/en_US/dita/topics/ovf.dita26
-rw-r--r--doc/manual/en_US/dita/topics/pcspeaker_passthrough.dita226
-rw-r--r--doc/manual/en_US/dita/topics/pot-insecure.dita88
-rwxr-xr-xdoc/manual/en_US/dita/topics/preface-accessibility.dita11
-rw-r--r--doc/manual/en_US/dita/topics/preface-audience.dita15
-rwxr-xr-xdoc/manual/en_US/dita/topics/preface-conventions.dita80
-rwxr-xr-xdoc/manual/en_US/dita/topics/preface-diversity.dita17
-rwxr-xr-xdoc/manual/en_US/dita/topics/preface-doc-accessibility.dita13
-rw-r--r--doc/manual/en_US/dita/topics/preface-reldocs.dita15
-rw-r--r--doc/manual/en_US/dita/topics/preface.dita12
-rw-r--r--doc/manual/en_US/dita/topics/preferences.dita83
-rw-r--r--doc/manual/en_US/dita/topics/privacy.dita76
-rw-r--r--doc/manual/en_US/dita/topics/rawdisk-access-disk-partitions.dita119
-rw-r--r--doc/manual/en_US/dita/topics/rawdisk-access-entire-physical-disk.dita60
-rw-r--r--doc/manual/en_US/dita/topics/rawdisk.dita49
-rw-r--r--doc/manual/en_US/dita/topics/rdp-viewers.dita114
-rw-r--r--doc/manual/en_US/dita/topics/remotevm.dita7
-rw-r--r--doc/manual/en_US/dita/topics/restrict-network-attachments.dita90
-rw-r--r--doc/manual/en_US/dita/topics/seamlesswindows.dita48
-rw-r--r--doc/manual/en_US/dita/topics/sec-rec-cve-2018-12126-et-al.dita19
-rw-r--r--doc/manual/en_US/dita/topics/sec-rec-cve-2018-3646.dita22
-rw-r--r--doc/manual/en_US/dita/topics/secure-config-vms.dita12
-rw-r--r--doc/manual/en_US/dita/topics/security-3d-graphics.dita14
-rw-r--r--doc/manual/en_US/dita/topics/security-cd-dvd-passthrough.dita15
-rw-r--r--doc/manual/en_US/dita/topics/security-encryption.dita38
-rw-r--r--doc/manual/en_US/dita/topics/security-features.dita12
-rw-r--r--doc/manual/en_US/dita/topics/security-general.dita66
-rw-r--r--doc/manual/en_US/dita/topics/security-model.dita24
-rw-r--r--doc/manual/en_US/dita/topics/security-networking.dita38
-rw-r--r--doc/manual/en_US/dita/topics/security-recommendations.dita15
-rw-r--r--doc/manual/en_US/dita/topics/security-secure-install-overview.dita51
-rw-r--r--doc/manual/en_US/dita/topics/security-secure-install-postinstall.dita22
-rw-r--r--doc/manual/en_US/dita/topics/security-secure-install.dita7
-rw-r--r--doc/manual/en_US/dita/topics/security-shared-folders.dita15
-rw-r--r--doc/manual/en_US/dita/topics/security-usb-passthrough.dita17
-rw-r--r--doc/manual/en_US/dita/topics/security-vrdp-auth.dita16
-rw-r--r--doc/manual/en_US/dita/topics/security_clipboard.dita25
-rw-r--r--doc/manual/en_US/dita/topics/serialports.dita214
-rw-r--r--doc/manual/en_US/dita/topics/settings-acceleration.dita58
-rw-r--r--doc/manual/en_US/dita/topics/settings-audio.dita61
-rw-r--r--doc/manual/en_US/dita/topics/settings-basic.dita52
-rw-r--r--doc/manual/en_US/dita/topics/settings-capture.dita77
-rw-r--r--doc/manual/en_US/dita/topics/settings-description.dita22
-rw-r--r--doc/manual/en_US/dita/topics/settings-disk-encryption.dita31
-rw-r--r--doc/manual/en_US/dita/topics/settings-display.dita12
-rw-r--r--doc/manual/en_US/dita/topics/settings-general-advanced.dita72
-rw-r--r--doc/manual/en_US/dita/topics/settings-motherboard.dita169
-rw-r--r--doc/manual/en_US/dita/topics/settings-network.dita35
-rw-r--r--doc/manual/en_US/dita/topics/settings-processor.dita69
-rw-r--r--doc/manual/en_US/dita/topics/settings-remote-display.dita28
-rw-r--r--doc/manual/en_US/dita/topics/settings-screen.dita125
-rw-r--r--doc/manual/en_US/dita/topics/settings-storage.dita173
-rw-r--r--doc/manual/en_US/dita/topics/settings-system.dita28
-rw-r--r--doc/manual/en_US/dita/topics/settings-usb.dita179
-rw-r--r--doc/manual/en_US/dita/topics/sf_mount_auto.dita63
-rw-r--r--doc/manual/en_US/dita/topics/sf_mount_manual.dita126
-rw-r--r--doc/manual/en_US/dita/topics/shared-folders.dita16
-rw-r--r--doc/manual/en_US/dita/topics/sharedfolders.dita122
-rw-r--r--doc/manual/en_US/dita/topics/snapshots-contents.dita78
-rw-r--r--doc/manual/en_US/dita/topics/snapshots-take-restore-delete.dita164
-rw-r--r--doc/manual/en_US/dita/topics/snapshots.dita106
-rw-r--r--doc/manual/en_US/dita/topics/soft-keyb-custom.dita93
-rw-r--r--doc/manual/en_US/dita/topics/soft-keyb-using.dita76
-rw-r--r--doc/manual/en_US/dita/topics/soft-keyb.dita69
-rw-r--r--doc/manual/en_US/dita/topics/solaris-zones.dita56
-rw-r--r--doc/manual/en_US/dita/topics/solariscodedumper.dita66
-rw-r--r--doc/manual/en_US/dita/topics/specialcharacters.dita127
-rw-r--r--doc/manual/en_US/dita/topics/sse412passthrough.dita22
-rw-r--r--doc/manual/en_US/dita/topics/startingvboxonlinux.dita43
-rw-r--r--doc/manual/en_US/dita/topics/storage-bandwidth-limit.dita40
-rw-r--r--doc/manual/en_US/dita/topics/storage-cds.dita106
-rw-r--r--doc/manual/en_US/dita/topics/storage-iscsi.dita34
-rw-r--r--doc/manual/en_US/dita/topics/storage.dita54
-rw-r--r--doc/manual/en_US/dita/topics/sysprep.dita54
-rw-r--r--doc/manual/en_US/dita/topics/technical-components.dita227
-rw-r--r--doc/manual/en_US/dita/topics/teleporting.dita130
-rw-r--r--doc/manual/en_US/dita/topics/terminate-vm-action.dita77
-rw-r--r--doc/manual/en_US/dita/topics/terminate-vm-default-action.dita78
-rw-r--r--doc/manual/en_US/dita/topics/ts_categorize-isolate.dita87
-rw-r--r--doc/manual/en_US/dita/topics/ts_config-periodic-flush.dita79
-rw-r--r--doc/manual/en_US/dita/topics/ts_debugger.dita269
-rw-r--r--doc/manual/en_US/dita/topics/ts_general.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_guest-core-format.dita56
-rw-r--r--doc/manual/en_US/dita/topics/ts_gui-2d-grayed-out.dita27
-rw-r--r--doc/manual/en_US/dita/topics/ts_host-freq-boost.dita25
-rw-r--r--doc/manual/en_US/dita/topics/ts_host-freq-scaling.dita32
-rw-r--r--doc/manual/en_US/dita/topics/ts_host-powermgmt.dita30
-rw-r--r--doc/manual/en_US/dita/topics/ts_ide-sata-flush.dita42
-rw-r--r--doc/manual/en_US/dita/topics/ts_lin-hosts.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_lin-x11-guests.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-buggy.dita42
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-guest-high-cpu.dita26
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-guest-x11-services.dita37
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-host-cd-dvd-not-found.dita25
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-host-grsec.dita16
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-host-ide-messages.dita49
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-host-malloc.dita23
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-host-vboxsvc.dita33
-rw-r--r--doc/manual/en_US/dita/topics/ts_linux-kernelmodule-fails-to-load.dita19
-rw-r--r--doc/manual/en_US/dita/topics/ts_procs-tools.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_sol-guests.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_sol-host-zfs.dita20
-rw-r--r--doc/manual/en_US/dita/topics/ts_sol-hosts.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_solaris-10-guest-slow-boot-smp.dita26
-rw-r--r--doc/manual/en_US/dita/topics/ts_usb-linux.dita17
-rw-r--r--doc/manual/en_US/dita/topics/ts_vboxbugreport.dita75
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-cpu-usage-rept.dita21
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-dnd-uipi.dita26
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guest-active-dir-domain.dita23
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-record-info.dita24
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-smp.dita24
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guest-bluescreen.dita44
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guest-high-cpu.dita15
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guest-shared-folders-access-delay.dita22
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-guests.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-host-bridged-network-adapters.dita48
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-host-cd-dvd-changes.dita23
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-host-com-server.dita38
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-host-host-only-network-adapters.dita21
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-host-iscsi.dita34
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-host-rdp-client.dita33
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-hosts.dita7
-rw-r--r--doc/manual/en_US/dita/topics/ts_win-vista-guest-networking.dita22
-rw-r--r--doc/manual/en_US/dita/topics/ts_win2k-guest-install.dita55
-rw-r--r--doc/manual/en_US/dita/topics/ts_win31-ram-limitations.dita28
-rw-r--r--doc/manual/en_US/dita/topics/ts_win7-guest-usb3-support.dita28
-rw-r--r--doc/manual/en_US/dita/topics/ts_win98-guest-usb-tablet-coordinates.dita26
-rw-r--r--doc/manual/en_US/dita/topics/unattended-guest-install-example.dita187
-rw-r--r--doc/manual/en_US/dita/topics/uninstall-solaris-host.dita20
-rw-r--r--doc/manual/en_US/dita/topics/usb-implementation-notes.dita27
-rw-r--r--doc/manual/en_US/dita/topics/usb-over-rdp.dita36
-rw-r--r--doc/manual/en_US/dita/topics/usb-support.dita10
-rw-r--r--doc/manual/en_US/dita/topics/usbip-security.dita19
-rw-r--r--doc/manual/en_US/dita/topics/usbip-setup-server.dita55
-rw-r--r--doc/manual/en_US/dita/topics/usbip.dita33
-rw-r--r--doc/manual/en_US/dita/topics/usbtrafficcapturing.dita33
-rw-r--r--doc/manual/en_US/dita/topics/user-interface.dita58
-rw-r--r--doc/manual/en_US/dita/topics/vbox-auth.dita165
-rw-r--r--doc/manual/en_US/dita/topics/vboxandsolzvmm.dita37
-rw-r--r--doc/manual/en_US/dita/topics/vboxbowsolaris11.dita38
-rw-r--r--doc/manual/en_US/dita/topics/vboxbowvnictemplates.dita61
-rw-r--r--doc/manual/en_US/dita/topics/vboxconfigdata-XML-files.dita44
-rw-r--r--doc/manual/en_US/dita/topics/vboxconfigdata-global.dita46
-rw-r--r--doc/manual/en_US/dita/topics/vboxconfigdata-machine-folder.dita104
-rw-r--r--doc/manual/en_US/dita/topics/vboxconfigdata-summary-locations.dita86
-rw-r--r--doc/manual/en_US/dita/topics/vboxconfigdata.dita22
-rw-r--r--doc/manual/en_US/dita/topics/vboxexpertstoragemgmt.dita27
-rw-r--r--doc/manual/en_US/dita/topics/vboxheadless.dita107
-rw-r--r--doc/manual/en_US/dita/topics/vboximg-mount-display.dita79
-rw-r--r--doc/manual/en_US/dita/topics/vboximg-mount-steps.dita59
-rw-r--r--doc/manual/en_US/dita/topics/vboximg-mount.dita77
-rw-r--r--doc/manual/en_US/dita/topics/vboxmanage-general.dita46
-rw-r--r--doc/manual/en_US/dita/topics/vboxmanage-intro.dita160
-rw-r--r--doc/manual/en_US/dita/topics/vboxmanage.dita63
-rw-r--r--doc/manual/en_US/dita/topics/vboxmanager-wizards.dita47
-rw-r--r--doc/manual/en_US/dita/topics/vboxsvc-session-0-known-issues.dita25
-rw-r--r--doc/manual/en_US/dita/topics/vboxsvc-session-0.dita27
-rw-r--r--doc/manual/en_US/dita/topics/vboxwatchdog-ballonctrl.dita70
-rw-r--r--doc/manual/en_US/dita/topics/vboxwatchdog-hostisln.dita79
-rw-r--r--doc/manual/en_US/dita/topics/vboxwatchdog-linux.dita206
-rw-r--r--doc/manual/en_US/dita/topics/vboxwatchdog-moreinfo.dita14
-rw-r--r--doc/manual/en_US/dita/topics/vboxwatchdog-solaris.dita43
-rw-r--r--doc/manual/en_US/dita/topics/vboxwatchdog.dita47
-rw-r--r--doc/manual/en_US/dita/topics/vboxwebsrv-daemon.dita18
-rw-r--r--doc/manual/en_US/dita/topics/vboxwebsrv-linux.dita312
-rw-r--r--doc/manual/en_US/dita/topics/vboxwebsrv-osx.dita24
-rw-r--r--doc/manual/en_US/dita/topics/vboxwebsrv-solaris.dita44
-rw-r--r--doc/manual/en_US/dita/topics/vdidetails.dita96
-rw-r--r--doc/manual/en_US/dita/topics/virt-why-useful.dita85
-rw-r--r--doc/manual/en_US/dita/topics/virtintro.dita83
-rw-r--r--doc/manual/en_US/dita/topics/virtual-media-manager.dita269
-rw-r--r--doc/manual/en_US/dita/topics/vm-activity-overview.dita48
-rw-r--r--doc/manual/en_US/dita/topics/vm-activity-session-information.dita60
-rw-r--r--doc/manual/en_US/dita/topics/vm-info.dita37
-rw-r--r--doc/manual/en_US/dita/topics/vmencryption-addpassword.dita51
-rw-r--r--doc/manual/en_US/dita/topics/vmencryption-decryption.dita19
-rw-r--r--doc/manual/en_US/dita/topics/vmencryption-encryption.dita33
-rw-r--r--doc/manual/en_US/dita/topics/vmencryption-limitations.dita41
-rw-r--r--doc/manual/en_US/dita/topics/vmencryption.dita35
-rw-r--r--doc/manual/en_US/dita/topics/vrde-crypt.dita128
-rw-r--r--doc/manual/en_US/dita/topics/vrde-customization.dita27
-rw-r--r--doc/manual/en_US/dita/topics/vrde-multiconnection.dita21
-rw-r--r--doc/manual/en_US/dita/topics/vrde-multimonitor.dita34
-rw-r--r--doc/manual/en_US/dita/topics/vrde-videochannel.dita40
-rw-r--r--doc/manual/en_US/dita/topics/vrde.dita78
-rw-r--r--doc/manual/en_US/dita/topics/warpguest.dita32
-rw-r--r--doc/manual/en_US/dita/topics/webcam-linux-hosts.dita23
-rw-r--r--doc/manual/en_US/dita/topics/webcam-mac-hosts.dita16
-rw-r--r--doc/manual/en_US/dita/topics/webcam-passthrough.dita7
-rw-r--r--doc/manual/en_US/dita/topics/webcam-using-guest.dita110
-rw-r--r--doc/manual/en_US/dita/topics/webcam-win-hosts.dita13
-rw-r--r--doc/manual/en_US/dita/topics/windows-guest-file-extraction.dita25
-rw-r--r--doc/manual/en_US/dita/user.ditamap728
517 files changed, 29323 insertions, 0 deletions
diff --git a/doc/manual/en_US/dita/topics/AdvancedTopics.dita b/doc/manual/en_US/dita/topics/AdvancedTopics.dita
new file mode 100644
index 00000000000..277781a66fe
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/AdvancedTopics.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="AdvancedTopics">
+ <title>Advanced Topics</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/BasicConcepts.dita b/doc/manual/en_US/dita/topics/BasicConcepts.dita
new file mode 100644
index 00000000000..1d9d73ef674
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/BasicConcepts.dita
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="BasicConcepts">
+ <title>Configuring Virtual Machines</title>
+
+ <body>
+ <p>
+ This chapter provides detailed steps for configuring an
+ Oracle VM VirtualBox virtual machine (VM). For an introduction to
+ Oracle VM VirtualBox and steps to get your first virtual machine running,
+ see <xref href="Introduction.dita#Introduction"/>.
+ </p>
+ <p>
+ You have considerable latitude when deciding what virtual hardware
+ to provide to the guest. Use virtual hardware to communicate with
+ the host system or with other guests. For example, you can use
+ virtual hardware in the following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Have Oracle VM VirtualBox present an ISO CD-ROM image to a guest
+ system as if it were a physical CD-ROM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Provide a guest system access to the physical network through
+ its virtual network card.
+ </p>
+ </li>
+ <li>
+ <p>
+ Provide the host system, other guests, and computers on the
+ Internet access to the guest system.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ExperimentalFeatures.dita b/doc/manual/en_US/dita/topics/ExperimentalFeatures.dita
new file mode 100644
index 00000000000..ff150ad5b11
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ExperimentalFeatures.dita
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ExperimentalFeatures">
+ <title>Experimental Features</title>
+
+ <body>
+ <p>
+ Some Oracle VM VirtualBox features are labeled as experimental. Such
+ features are provided on an "as-is" basis and are not formally
+ supported. However, feedback and suggestions about such features
+ are welcome. A comprehensive list of experimental features is as
+ follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Hardware 3D acceleration support for Windows, Linux, and
+ Oracle Solaris guests
+ </p>
+ </li>
+ <li>
+ <p>
+ Hardware 2D video playback acceleration support for Windows
+ guests
+ </p>
+ </li>
+ <li>
+ <p>
+ Mac OS X guests (macOS hosts only)
+ </p>
+ </li>
+ <li>
+ <p>
+ ICH9 chipset emulation
+ </p>
+ </li>
+ <li>
+ <p>
+ EFI firmware
+ </p>
+ </li>
+ <li>
+ <p>
+ Host CD/DVD drive passthrough
+ </p>
+ </li>
+ <li>
+ <p>
+ Support of iSCSI using internal networking
+ </p>
+ </li>
+ <li>
+ <p>
+ Using Oracle VM VirtualBox and Hyper-V on the same host
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/Glossary.dita b/doc/manual/en_US/dita/topics/Glossary.dita
new file mode 100644
index 00000000000..a07d3690494
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/Glossary.dita
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="Glossary">
+ <title>Glossary</title>
+ <body>
+ <p>This chapter describes some terms and abbreviations used in this document.</p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/Introduction.dita b/doc/manual/en_US/dita/topics/Introduction.dita
new file mode 100644
index 00000000000..69a2cbc0f32
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/Introduction.dita
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="Introduction">
+ <title>First Steps</title>
+
+ <body>
+ <p>
+ Welcome to Oracle VM VirtualBox.
+ </p>
+ <p>
+ Oracle VM 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, macOS, Linux,
+ or Oracle Solaris operating systems (OSes). Secondly, it extends the
+ capabilities of your existing computer so that it can run multiple
+ OSes, inside multiple virtual machines, at the same time. As an
+ example, you can run Windows and Linux on your Mac, run Windows
+ Server on your Linux server, run Linux on your Windows PC, and so
+ on, all alongside your existing applications. You can install and
+ run as many virtual machines as you like. The only practical limits
+ are disk space and memory.
+ </p>
+ <p>
+ Oracle VM VirtualBox is deceptively simple yet also very powerful. It can
+ run everywhere from small embedded systems or desktop class machines
+ all the way up to datacenter deployments and even Cloud
+ environments.
+ </p>
+ <p>
+ The following screenshot shows how Oracle VM VirtualBox, installed on an
+ Apple Mac computer, is running Windows Server 2016 in a virtual
+ machine window.
+ </p>
+ <fig id="fig-win2016-intro">
+ <title>Windows Server 2016 Virtual Machine, Displayed on a macOS Host</title>
+ <image href="images/vm-vista-running.png" placement="break"/>
+ </fig>
+ <p>
+ In this User Manual, we will begin simply with a quick introduction
+ to virtualization and how to get your first virtual machine running
+ with the easy-to-use Oracle VM VirtualBox graphical user interface.
+ Subsequent chapters will go into much more detail covering more
+ powerful tools and features, but fortunately, it is not necessary to
+ read the entire User Manual before you can use Oracle VM VirtualBox.
+ </p>
+ <p>
+ You can find a summary of Oracle VM VirtualBox's capabilities in
+ <xref href="features-overview.dita#features-overview"/>. For existing Oracle VM VirtualBox
+ users who just want to find out what is new in this release, see the
+ <xref href="https://docs.oracle.com/en/virtualization/virtualbox/7.0/relnotes/ChangeLog.html" format="html" scope="external">Change Log</xref>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/KnownIssues.dita b/doc/manual/en_US/dita/topics/KnownIssues.dita
new file mode 100644
index 00000000000..4804a3edd4e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/KnownIssues.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="KnownIssues">
+ <title>Known Limitations</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/KnownProblems.dita b/doc/manual/en_US/dita/topics/KnownProblems.dita
new file mode 100644
index 00000000000..e4cc596d613
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/KnownProblems.dita
@@ -0,0 +1,334 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="KnownProblems">
+ <title>Known Issues</title>
+
+ <body>
+ <p>
+ The following section describes known problems with this release
+ of Oracle VM VirtualBox. Unless marked otherwise, these issues are
+ planned to be fixed in later releases.
+ </p>
+ <ul>
+ <li>
+ <p>
+ The macOS installer packages for Oracle VM VirtualBox 7 currently do
+ not include the Internal Networking feature, which is
+ available on all other platforms. This will be addressed with
+ an update of Oracle VM VirtualBox 7. For setups which depend on this
+ functionality it is best to keep using Oracle VM VirtualBox 6.1.
+ </p>
+ </li>
+ <li>
+ <p>
+ Poor performance when using Oracle VM VirtualBox and
+ <b outputclass="bold">Hyper-V</b> on the same host. To
+ fix this, certain Windows features like "Hyper-V Platform",
+ "Virtual Machine Platform" and "Windows Hypervisor Platform"
+ must be turned off, followed by a host reboot.
+ </p>
+ <p>
+ Additionally, the Microsoft Device Guard and Credential Guard
+ hardware readiness tool might have to be used in order to turn
+ off more features. For example, by running the following
+ command:
+ </p>
+ <pre xml:space="preserve">.\DG_Readiness_Tool_vX.X.ps1 -Disable -AutoReboot</pre>
+ <note>
+ <p>
+ Disabling Device Guard and Credential Guard features will
+ have an impact on the overall security of the host. Please
+ contact your Administrator beforehand regarding this.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ The following <b outputclass="bold">Guest SMP (multiprocessor)
+ limitations</b> exist:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Poor performance</b> with
+ 32-bit guests on AMD CPUs. This affects mainly Windows and
+ Oracle Solaris guests, but possibly also some Linux kernel
+ revisions. Partially solved for 32-bit Windows NT, 2000,
+ XP, and 2003 guests. Requires the Guest Additions to be
+ installed.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Poor performance</b> with
+ 32-bit guests on certain Intel CPU models that do not
+ include virtual APIC hardware optimization support. This
+ affects mainly Windows and Oracle Solaris guests, but
+ possibly also some Linux kernel revisions. Partially
+ solved for 32-bit Windows NT, 2000, XP, and 2003 guests.
+ Requires the Guest Additions to be installed.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p><b outputclass="bold">NX (no execute, data execution
+ prevention)</b> only works for guests running on 64-bit
+ hosts and requires that hardware virtualization be enabled.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Guest control.</b> On Windows
+ guests, a process started using the guest control execute
+ support will not be able to display a graphical user interface
+ <i>unless</i> the user account under which it is
+ running is currently logged in and has a desktop session.
+ </p>
+ <p>
+ Also, to use accounts without or with an empty password, the
+ guest's group policy must be changed. To do so, open the group
+ policy editor on the command line by typing
+ <userinput>gpedit.msc</userinput>, open the key <codeph>Computer
+ Configuration\Windows Settings\Security Settings\Local
+ Policies\Security Options</codeph> and change the value of
+ <codeph>Accounts: Limit local account use of blank passwords
+ to console logon only</codeph> to Disabled.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Compacting virtual disk images is
+ limited to VDI files.</b> The <userinput>VBoxManage
+ modifymedium --compact</userinput> command is currently only
+ implemented for VDI files. At the moment the only way to
+ optimize the size of a virtual disk images in other formats,
+ such as VMDK or VHD, is to clone the image and then use the
+ cloned image in the VM configuration.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">OVF import/export:</b>
+ </p>
+ <ul>
+ <li>
+ <p>
+ OVF localization, with multiple languages in a single OVF
+ file, is not yet supported.
+ </p>
+ </li>
+ <li>
+ <p>
+ Some OVF sections like StartupSection,
+ DeploymentOptionSection, and InstallSection are ignored.
+ </p>
+ </li>
+ <li>
+ <p>
+ OVF environment documents, including their property
+ sections and appliance configuration with ISO images, are
+ not yet supported.
+ </p>
+ </li>
+ <li>
+ <p>
+ Remote files using HTTP or other mechanisms are not yet
+ supported.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Neither <b outputclass="bold">scale mode</b> nor
+ <b outputclass="bold">seamless mode</b> work correctly
+ with guests using OpenGL 3D features, such as with
+ Compiz-enabled window managers.
+ </p>
+ </li>
+ <li>
+ <p>
+ The RDP server in the Oracle VM VirtualBox extension pack supports
+ only audio streams in format 22.05kHz stereo 16-bit. If the
+ RDP client requests any other audio format there will be no
+ audio.
+ </p>
+ </li>
+ <li>
+ <p>
+ Preserving the aspect ratio in scale mode works only on
+ Windows hosts and on macOS hosts.
+ </p>
+ </li>
+ <li>
+ <p>
+ On <b outputclass="bold">macOS hosts</b>, the following
+ features are not yet implemented:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Numlock emulation
+ </p>
+ </li>
+ <li>
+ <p>
+ CPU frequency metric
+ </p>
+ </li>
+ <li>
+ <p>
+ Memory ballooning
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">macOS/ARM64 (Apple silicon) host
+ package</b>
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Mac OS X guests:</b>
+ </p>
+ <ul>
+ <li>
+ <p>
+ Mac OS X guests can only run on a certain host hardware.
+ For details about license and host hardware limitations.
+ See <xref href="intro-macosxguests.dita">Mac OS X Guests</xref> and check the
+ Apple software license conditions.
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle VM VirtualBox does not provide Guest Additions for Mac OS
+ X at this time.
+ </p>
+ </li>
+ <li>
+ <p>
+ The graphics resolution currently defaults to 1024x768 as
+ Mac OS X falls back to the built-in EFI display support.
+ See <xref href="efividmode.dita">Video Modes in EFI</xref> for more information on
+ how to change EFI video modes.
+ </p>
+ </li>
+ <li>
+ <p>
+ Mac OS X guests only work with one CPU assigned to the VM.
+ Support for SMP will be provided in a future release.
+ </p>
+ </li>
+ <li>
+ <p>
+ Depending on your system and version of Mac OS X, 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.
+ </p>
+ </li>
+ <li>
+ <p>
+ By default, the Oracle VM VirtualBox EFI enables debug output of
+ the Mac OS X 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
+ Macintosh computer. You can turn off these messages by
+ using the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal2/EfiBootArgs" " "</pre>
+ <p>
+ To revert to the previous behavior, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal2/EfiBootArgs" ""</pre>
+ </li>
+ <li>
+ <p>
+ It is currently not possible to start a Mac OS X guest in
+ safe mode by specifying the <codeph>-x</codeph> option in
+ <codeph>VBoxInternal2/EfiBootArgs</codeph> extradata.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Oracle Solaris hosts:</b>
+ </p>
+ <ul>
+ <li>
+ <p>
+ USB support on Oracle Solaris hosts requires Oracle
+ Solaris 11 version snv_124 or later. Webcams and other
+ isochronous devices are known to have poor performance.
+ </p>
+ </li>
+ <li>
+ <p>
+ Host Webcam passthrough is restricted to 640x480 frames at
+ 20 frames per second due to limitations in the Oracle
+ Solaris V4L2 API. This may be addressed in a future Oracle
+ Solaris release.
+ </p>
+ </li>
+ <li>
+ <p>
+ No ACPI information, such as battery status or power
+ source, is reported to the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ No support for using wireless adapters with bridged
+ networking.
+ </p>
+ </li>
+ <li>
+ <p>
+ Crossbow-based bridged networking on Oracle Solaris 11
+ hosts does not work directly with aggregate links.
+ However, you can use <userinput>dladm</userinput> to manually
+ create a VNIC over the aggregate link and use that with a
+ VM. This limitation does not exist in Oracle Solaris 11u1
+ build 17 and later.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Neither virtio nor Intel PRO/1000 drivers for
+ <b outputclass="bold">Windows XP guests</b> support
+ segmentation offloading. Therefore Windows XP guests have
+ slower transmission rates comparing to other guest types.
+ Refer to MS Knowledge base article 842264 for additional
+ information.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Guest Additions for OS/2.</b>
+ Seamless windows and automatic guest resizing will probably
+ never be implemented due to inherent limitations of the OS/2
+ graphics system.
+ </p>
+ </li>
+ <li>
+ <p>
+ Some guest operating systems predating ATAPI CD-ROMs may
+ exhibit long delays or entirely fail to boot in certain
+ configurations. This is most likely to happen when an
+ IDE/ATAPI CD-ROM exists alone on a primary or secondary IDE
+ channel.
+ </p>
+ <p>
+ Affected operating systems are MS OS/2 1.21: fails to boot
+ with an error message referencing COUNTRY.SYS and MS OS/2 1.3:
+ long boot delays. To avoid such problems, disable the emulated
+ IDE/ATAPI CD-ROM. The guest OS cannot use this device, anyway.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/Security.dita b/doc/manual/en_US/dita/topics/Security.dita
new file mode 100644
index 00000000000..4c340236e84
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/Security.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="Security">
+ <title>Security Guide</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/TechnicalBackground.dita b/doc/manual/en_US/dita/topics/TechnicalBackground.dita
new file mode 100644
index 00000000000..f8f6895af10
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/TechnicalBackground.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="TechnicalBackground">
+ <title>Technical Background</title>
+
+ <body>
+ <p>
+ This chapter provides additional information for readers who are
+ familiar with computer architecture and technology and wish to find
+ out more about how Oracle VM VirtualBox works <i>under the
+ hood</i>. The contents of this chapter are not required
+ reading in order to use Oracle VM VirtualBox successfully.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/Troubleshooting.dita b/doc/manual/en_US/dita/topics/Troubleshooting.dita
new file mode 100644
index 00000000000..5848d8de611
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/Troubleshooting.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="Troubleshooting">
+ <title>Troubleshooting</title>
+
+ <body>
+ <p>
+ This chapter provides answers to commonly asked questions. In order
+ to improve your user experience with Oracle VM VirtualBox, it is
+ recommended to read this section to learn more about common pitfalls
+ and get recommendations on how to use the product.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/VirtualBoxAPI.dita b/doc/manual/en_US/dita/topics/VirtualBoxAPI.dita
new file mode 100644
index 00000000000..c789f229b33
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/VirtualBoxAPI.dita
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="VirtualBoxAPI">
+ <title>Oracle VM VirtualBox Programming Interfaces</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox comes with comprehensive support for third-party
+ developers. The so-called <i>Main API</i> of
+ Oracle VM VirtualBox exposes the entire feature set of the virtualization
+ engine. It is completely documented and available to anyone who
+ wishes to control Oracle VM VirtualBox programmatically.
+ </p>
+ <p>
+ The Main API is made available to C++ clients through COM on Windows
+ hosts or XPCOM on other hosts. Bridges also exist for SOAP, Java and
+ Python.
+ </p>
+ <p>
+ All programming information such as documentation, reference
+ information, header and other interface files, as well as samples
+ have been split out to a separate <b outputclass="bold">Software
+ Development Kit (SDK)</b>. The SDK is available for download
+ from
+ <ph>http://www.virtualbox.org</ph>.
+ In particular, the SDK comes with a Programming Guide and Reference
+ manual in PDF format. This manual contains, among other things, the
+ information that was previously in this chapter of the User Manual.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/access-doc-access.dita b/doc/manual/en_US/dita/topics/access-doc-access.dita
new file mode 100644
index 00000000000..be5e3ca5d7d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/access-doc-access.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="access-doc-access">
+ <title>Documentation Accessibility</title>
+
+ <body>
+ <p>For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
+ Program website at <ph>https://www.oracle.com/corporate/accessibility/</ph>. </p>
+ <p>For information about the accessibility of the Oracle Help Center, see the Oracle
+ Accessibility Conformance Report at <ph>https://www.oracle.com/corporate/accessibility/templates/t2-11535.html</ph>.</p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/addhostonlysolaris.dita b/doc/manual/en_US/dita/topics/addhostonlysolaris.dita
new file mode 100644
index 00000000000..c02ad46298e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/addhostonlysolaris.dita
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="addhostonlysolaris">
+ <title>Configuring Multiple Host-Only Network Interfaces on Oracle Solaris
+ Hosts</title>
+
+ <body>
+ <p>
+ By default Oracle VM VirtualBox provides you with one host-only network
+ interface. Adding more host-only network interfaces on Oracle
+ Solaris hosts requires manual configuration. Here is how to add
+ another host-only network interface.
+ </p>
+ <p>
+ Begin by stopping all running VMs. Then, unplumb the existing
+ "vboxnet0" interface by execute the following command as root:
+ </p>
+ <pre xml:space="preserve"># ifconfig vboxnet0 unplumb</pre>
+ <p>
+ If you have several vboxnet interfaces, you will need to unplumb
+ all of them. Once all vboxnet interfaces are unplumbed, remove the
+ driver by executing the following command as root:
+ </p>
+ <pre xml:space="preserve"># rem_drv vboxnet</pre>
+ <p>
+ Edit the file
+ <filepath>/platform/i86pc/kernel/drv/vboxnet.conf</filepath> and
+ add a line for the new interface we want to add as shown below:
+ </p>
+ <pre xml:space="preserve">name="vboxnet" parent="pseudo" instance=1;
+name="vboxnet" parent="pseudo" instance=2;</pre>
+ <p>
+ Add as many of these lines as required with each line having a
+ unique instance number.
+ </p>
+ <p>
+ Next, reload the vboxnet driver by executing the following command
+ as root:
+ </p>
+ <pre xml:space="preserve"># add_drv vboxnet</pre>
+ <p>
+ On Oracle Solaris 11.1 and newer hosts you may want to rename the
+ default vanity interface name. To check what name has been
+ assigned, execute:
+ </p>
+ <pre xml:space="preserve">$ dladm show-phys
+LINK MEDIA STATE SPEED DUPLEX DEVICE
+net0 Ethernet up 100 full e1000g0
+net2 Ethernet up 1000 full vboxnet1
+net1 Ethernet up 1000 full vboxnet0</pre>
+ <p>
+ In the above example, we can rename "net2" to "vboxnet1" before
+ proceeding to plumb the interface. This can be done by executing
+ as root:
+ </p>
+ <pre xml:space="preserve"># dladm rename-link net2 vboxnet1</pre>
+ <p>
+ Now plumb all the interfaces using <userinput>ifconfig
+ vboxnet<varname>X</varname> plumb</userinput>, where
+ <varname>X</varname> would be 1 in this case. Once the
+ interface is plumbed, it may be configured like any other network
+ interface. Refer to the <userinput>ifconfig</userinput> documentation
+ for further details.
+ </p>
+ <p>
+ To make the settings for the newly added interfaces persistent
+ across reboots, you will need to edit the files
+ <filepath>/etc/inet/netmasks</filepath>, and if you are using NWAM
+ <filepath>/etc/nwam/llp</filepath> and add the appropriate entries
+ to set the netmask and static IP for each of those interfaces. The
+ Oracle VM VirtualBox installer only updates these configuration files
+ for the one "vboxnet0" interface it creates by default.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-linux-graphics-mouse.dita b/doc/manual/en_US/dita/topics/additions-linux-graphics-mouse.dita
new file mode 100644
index 00000000000..20e13c18458
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-linux-graphics-mouse.dita
@@ -0,0 +1,105 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-linux-graphics-mouse">
+ <title>Graphics and Mouse Integration</title>
+
+ <body>
+ <p>
+ In Linux and Oracle Solaris guests, Oracle VM VirtualBox graphics
+ and mouse integration goes through the X Window System.
+ Oracle VM VirtualBox can use the X.Org variant of the system, or
+ XFree86 version 4.3 which is identical to the first X.Org
+ release. During the installation process, the X.Org display
+ server will be set up to use the graphics and mouse drivers
+ which come with the Guest Additions.
+ </p>
+ <p>
+ After installing the Guest Additions into a fresh installation
+ of a supported Linux distribution or Oracle Solaris system,
+ many unsupported systems will work correctly too, the guest's
+ graphics mode will change to fit the size of the
+ Oracle VM VirtualBox window on the host when it is resized. You can
+ also ask the guest system to switch to a particular resolution
+ by sending a video mode hint using the
+ <userinput>VBoxManage</userinput> tool.
+ </p>
+ <p>
+ Multiple guest monitors are supported in guests using the
+ X.Org server version 1.3, which is part of release 7.3 of the
+ X Window System version 11, or a later version. The layout of
+ the guest screens can be adjusted as needed using the tools
+ which come with the guest operating system.
+ </p>
+ <p>
+ If you want to understand more about the details of how the
+ X.Org drivers are set up, in particular if you wish to use
+ them in a setting which our installer does not handle
+ correctly, see <xref href="guestxorgsetup.dita">Guest Graphics and Mouse Driver Setup in Depth</xref>.
+ </p>
+ <p>
+ Starting from Oracle VM VirtualBox 7, Linux guest screen resize
+ functionality for guests running VMSVGA graphics configuration
+ has been changed. Since then, this functionality consists of a
+ standalone daemon called VBoxDRMClient and its Desktop
+ Environment helper counterpart.
+ </p>
+ <p>
+ VBoxDRMClient runs as a root process and is a bridge between
+ the host and the guest's vmwgfx driver. This means that
+ VBoxDRMClient listens to screen resize hints from the host and
+ forwards them to the vmwgfx driver. This enables guest screen
+ resize functionality to be available before the user has
+ performed a graphical login.
+ </p>
+ <p>
+ In order to perform Desktop Environment specific actions, such
+ as setting the primary screen in a multimonitor setup, a
+ Desktop Environment helper is used. Once the user has
+ performed a graphical login operation, the helper daemon
+ starts with user session scope and attempts to connect to
+ VBoxDRMClient using an IPC connection. When VBoxDRMClient has
+ received a corresponding command from the host, it is
+ forwarded to the helper daemon over IPC and the action is then
+ performed.
+ </p>
+ <p>
+ By default, VBoxDRMClient allows any process to connect to its
+ IPC socket. This can be restricted by using the following
+ steps:
+ </p>
+ <ol>
+ <li>
+ <p>
+ The Guest Additions Linux installer creates a
+ <codeph>vboxdrmipc</codeph> user group. A corresponding
+ user needs to be added to this group.
+ </p>
+ </li>
+ <li>
+ <p>
+ You must set the <codeph>DRMIpcRestricted</codeph> guest
+ property, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage guestproperty set "VM name" /VirtualBox/GuestAdd/DRMIpcRestricted 1 \
+--flags RDONLYGUEST</pre>
+ <p>
+ It is important to set only the RDONLYGUEST flag for the
+ property, so that it cannot be changed from inside the
+ guest.
+ </p>
+ </li>
+ </ol>
+ <note>
+ <p>
+ Both steps are required. If one of them is missing, all
+ processes will have access to the IPC socket.
+ </p>
+ </note>
+ <p>
+ Restricted mode can be disabled by unsetting the guest
+ property, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage guestproperty unset "VM name" /VirtualBox/GuestAdd/DRMIpcRestricted</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-linux-install-unattended.dita b/doc/manual/en_US/dita/topics/additions-linux-install-unattended.dita
new file mode 100644
index 00000000000..14b46ab190c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-linux-install-unattended.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-linux-install-unattended">
+ <title>Unattended Installation of the Linux Guest Additions</title>
+
+ <body>
+ <p>
+ You can configure unattended installation of the
+ Oracle VM VirtualBox Guest Additions when you create a new VM using
+ the <b outputclass="bold">Create Virtual Machine</b>
+ wizard. Select the <b outputclass="bold">Guest
+ Additions</b> check box on the
+ <b outputclass="bold">Unattended Guest OS Install</b>
+ page of the wizard.
+ </p>
+ <p>
+ Guest Additions are installed automatically, following
+ completion of the guest OS installation.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-linux-install.dita b/doc/manual/en_US/dita/topics/additions-linux-install.dita
new file mode 100644
index 00000000000..1ab4a198f80
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-linux-install.dita
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-linux-install">
+ <title>Installing the Linux Guest Additions</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox Guest Additions for Linux are provided on
+ the same virtual CD-ROM file as the Guest Additions for
+ Windows. See <xref href="mountingadditionsiso.dita#mountingadditionsiso"/>. They also
+ come with an installation program that guides you through the
+ setup process. However, due to the significant differences
+ between Linux distributions, installation may be slightly more
+ complex when compared to Windows.
+ </p>
+ <p>
+ Installation generally involves the following steps:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Before installing the Guest Additions, you prepare your
+ guest system for building external kernel modules. This
+ works as described in
+ <xref href="externalkernelmodules.dita#externalkernelmodules"/>, except that this
+ step must be performed in your Linux
+ <i>guest</i> instead of on a Linux host
+ system.
+ </p>
+ <p>
+ If you suspect that something has gone wrong, check that
+ your guest is set up correctly and run the following
+ command as root:
+ </p>
+ <pre xml:space="preserve">rcvboxadd setup</pre>
+ </li>
+ <li>
+ <p>
+ Insert the <filepath>VBoxGuestAdditions.iso</filepath> CD
+ file into your Linux guest's virtual CD-ROM drive, as
+ described for a Windows guest in
+ <xref href="mountingadditionsiso.dita#mountingadditionsiso"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Change to the directory where your CD-ROM drive is mounted
+ and run the following command as root:
+ </p>
+ <pre xml:space="preserve">sh ./VBoxLinuxAdditions.run</pre>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-linux-uninstall.dita b/doc/manual/en_US/dita/topics/additions-linux-uninstall.dita
new file mode 100644
index 00000000000..34416c4ca53
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-linux-uninstall.dita
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-linux-uninstall">
+ <title>Uninstalling the Linux Guest Additions</title>
+
+ <body>
+ <p>
+ If you have a version of the Guest Additions installed on your
+ virtual machine and wish to remove it without installing new
+ ones, you can do so by inserting the Guest Additions CD image
+ into the virtual CD-ROM drive as described above. Then run the
+ installer for the current Guest Additions with the
+ <codeph>uninstall</codeph> parameter from the path that the
+ CD image is mounted on in the guest, as follows:
+ </p>
+ <pre xml:space="preserve">sh ./VBoxLinuxAdditions.run uninstall</pre>
+ <p>
+ While this will normally work without issues, you may need to
+ do some manual cleanup of the guest in some cases, especially
+ of the XFree86Config or xorg.conf file. In particular, if the
+ Additions version installed or the guest operating system were
+ very old, or if you made your own changes to the Guest
+ Additions setup after you installed them.
+ </p>
+ <p>
+ You can uninstall the Additions as follows:
+ </p>
+ <pre xml:space="preserve">/opt/VBoxGuestAdditions-<varname>version</varname>/uninstall.sh</pre>
+ <p>
+ Replace
+ <filepath>/opt/VBoxGuestAdditions-<varname>version</varname></filepath>
+ with the correct Guest Additions installation directory.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-linux-updating.dita b/doc/manual/en_US/dita/topics/additions-linux-updating.dita
new file mode 100644
index 00000000000..78bfd2ee0b8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-linux-updating.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-linux-updating">
+ <title>Updating the Linux Guest Additions</title>
+
+ <body>
+ <p>
+ The Guest Additions can simply be updated by going through the
+ installation procedure again with an updated CD-ROM image.
+ This will replace the drivers with updated versions. You
+ should reboot after updating the Guest Additions.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-linux.dita b/doc/manual/en_US/dita/topics/additions-linux.dita
new file mode 100644
index 00000000000..cf992796c9c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-linux.dita
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-linux">
+ <title>Guest Additions for Linux</title>
+
+ <body>
+ <p>
+ Like the Windows Guest Additions, the Oracle VM VirtualBox Guest
+ Additions for Linux are a set of device drivers and system
+ applications which may be installed in the guest operating
+ system.
+ </p>
+ <p>
+ The following Linux distributions are officially supported:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle Linux as of version 5, including UEK kernels
+ </p>
+ </li>
+ <li>
+ <p>
+ Fedora as of Fedora Core 4
+ </p>
+ </li>
+ <li>
+ <p>
+ Red Hat Enterprise Linux as of version 3
+ </p>
+ </li>
+ <li>
+ <p>
+ SUSE and openSUSE Linux as of version 9
+ </p>
+ </li>
+ <li>
+ <p>
+ Ubuntu as of version 5.10
+ </p>
+ </li>
+ </ul>
+ <p>
+ Many other distributions are known to work with the Guest
+ Additions.
+ </p>
+ <p>
+ The version of the Linux kernel supplied by default in SUSE and
+ openSUSE 10.2, Ubuntu 6.10 (all versions) and Ubuntu 6.06
+ (server edition) contains a bug which can cause it to crash
+ during startup when it is run in a virtual machine. The Guest
+ Additions work in those distributions.
+ </p>
+ <p>
+ Note that some Linux distributions already come with all or part
+ of the Oracle VM VirtualBox Guest Additions. You may choose to keep
+ the distribution's version of the Guest Additions but these are
+ often not up to date and limited in functionality, so we
+ recommend replacing them with the Guest Additions that come with
+ Oracle VM VirtualBox. The Oracle VM VirtualBox Linux Guest Additions
+ installer tries to detect an existing installation and replace
+ them but depending on how the distribution integrates the Guest
+ Additions, this may require some manual interaction. It is
+ highly recommended to take a snapshot of the virtual machine
+ before replacing preinstalled Guest Additions.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-os2.dita b/doc/manual/en_US/dita/topics/additions-os2.dita
new file mode 100644
index 00000000000..6c0a31f8026
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-os2.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-os2">
+ <title>Guest Additions for OS/2</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox also ships with a set of drivers that improve
+ running OS/2 in a virtual machine. Due to restrictions of OS/2
+ itself, this variant of the Guest Additions has a limited
+ feature set. See <xref href="KnownIssues.dita">Known Limitations</xref> for details.
+ </p>
+ <p>
+ The OS/2 Guest Additions are provided on the same ISO CD-ROM as
+ those for the other platforms. Mount the ISO in OS/2 as
+ described previously. The OS/2 Guest Additions are located in
+ the directory <filepath>\OS2</filepath>.
+ </p>
+ <p>
+ We do not provide an automatic installer at this time. See the
+ <filepath>readme.txt</filepath> file in the CD-ROM directory,
+ which describes how to install the OS/2 Guest Additions
+ manually.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-solaris-install-unattended.dita b/doc/manual/en_US/dita/topics/additions-solaris-install-unattended.dita
new file mode 100644
index 00000000000..c7fa5a0eddf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-solaris-install-unattended.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-solaris-install-unattended">
+ <title>Unattended Installation of the Oracle Solaris Guest Additions</title>
+
+ <body>
+ <p>
+ You can configure unattended installation of the
+ Oracle VM VirtualBox Guest Additions when you create a new VM using
+ the <b outputclass="bold">Create Virtual Machine</b>
+ wizard. Select the <b outputclass="bold">Guest
+ Additions</b> check box on the
+ <b outputclass="bold">Unattended Guest OS Install</b>
+ page of the wizard.
+ </p>
+ <p>
+ Guest Additions are installed automatically, following
+ completion of the guest OS installation.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-solaris-install.dita b/doc/manual/en_US/dita/topics/additions-solaris-install.dita
new file mode 100644
index 00000000000..0da555f119e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-solaris-install.dita
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-solaris-install">
+ <title>Installing the Oracle Solaris Guest Additions</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox Guest Additions for Oracle Solaris are
+ provided on the same ISO CD-ROM as the Additions for Windows
+ and Linux. They come with an installation program that guides
+ you through the setup process.
+ </p>
+ <p>
+ Installation involves the following steps:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Mount the <filepath>VBoxGuestAdditions.iso</filepath> file
+ as your Oracle Solaris guest's virtual CD-ROM drive,
+ exactly the same way as described for a Windows guest in
+ <xref href="mountingadditionsiso.dita#mountingadditionsiso"/>.
+ </p>
+ <p>
+ If the CD-ROM drive on the guest does not get mounted, as
+ seen with some versions of Oracle Solaris 10, run the
+ following command as root:
+ </p>
+ <pre xml:space="preserve">svcadm restart volfs</pre>
+ </li>
+ <li>
+ <p>
+ Change to the directory where your CD-ROM drive is mounted
+ and run the following command as root:
+ </p>
+ <pre xml:space="preserve">pkgadd -G -d ./VBoxSolarisAdditions.pkg</pre>
+ </li>
+ <li>
+ <p>
+ Choose <b outputclass="bold">1</b> and confirm
+ installation of the Guest Additions package. After the
+ installation is complete, log out and log in to X server
+ on your guest, to activate the X11 Guest Additions.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-solaris-uninstall.dita b/doc/manual/en_US/dita/topics/additions-solaris-uninstall.dita
new file mode 100644
index 00000000000..8a1d5d76a26
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-solaris-uninstall.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-solaris-uninstall">
+ <title>Uninstalling the Oracle Solaris Guest Additions</title>
+
+ <body>
+ <p>
+ The Oracle Solaris Guest Additions can be safely removed by
+ removing the package from the guest. Open a root terminal
+ session and run the following command:
+ </p>
+ <pre xml:space="preserve">pkgrm SUNWvboxguest</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-solaris-updating.dita b/doc/manual/en_US/dita/topics/additions-solaris-updating.dita
new file mode 100644
index 00000000000..ead070c9c22
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-solaris-updating.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-solaris-updating">
+ <title>Updating the Oracle Solaris Guest Additions</title>
+
+ <body>
+ <p>
+ The Guest Additions should be updated by first uninstalling
+ the existing Guest Additions and then installing the new ones.
+ Attempting to install new Guest Additions without removing the
+ existing ones is not possible.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-solaris.dita b/doc/manual/en_US/dita/topics/additions-solaris.dita
new file mode 100644
index 00000000000..d77e1e54371
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-solaris.dita
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-solaris">
+ <title>Guest Additions for Oracle Solaris</title>
+
+ <body>
+ <p>
+ Like the Windows Guest Additions, the Oracle VM VirtualBox Guest
+ Additions for Oracle Solaris take the form of a set of device
+ drivers and system applications which may be installed in the
+ guest operating system.
+ </p>
+ <p>
+ The following Oracle Solaris distributions are officially
+ supported:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle Solaris 11, including Oracle Solaris 11 Express
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle Solaris 10 4/08 and later
+ </p>
+ </li>
+ </ul>
+ <p>
+ Other distributions may work if they are based on comparable
+ software releases.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-windows-install-unattended-certs.dita b/doc/manual/en_US/dita/topics/additions-windows-install-unattended-certs.dita
new file mode 100644
index 00000000000..c6def799d1e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-windows-install-unattended-certs.dita
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-windows-install-unattended-certs">
+ <title>Installing Code Signing Certificates</title>
+
+ <body>
+ <p>
+ To avoid popups when performing an unattended installation
+ of the Oracle VM VirtualBox Guest Additions, the code signing
+ certificates used to sign the drivers needs to be installed
+ in the correct certificate stores on the guest operating
+ system. Failure to do this will cause a typical Windows
+ installation to display multiple dialogs asking whether you
+ want to install a particular driver.
+ </p>
+ <note>
+ <p>
+ On some legacy Windows versions, such as Windows 2000 and
+ Windows XP, the user intervention popups mentioned above
+ are always displayed, even after importing the Oracle
+ certificates.
+ </p>
+ </note>
+ <p>
+ Installing the code signing certificates on a Windows guest
+ can be done automatically. Use the
+ <filepath>VBoxCertUtil.exe</filepath> utility from the
+ <filepath>cert</filepath> folder on the Guest Additions
+ installation CD.
+ </p>
+ <p>
+ Use the following steps:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Log in as Administrator on the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ Mount the Oracle VM VirtualBox Guest Additions .ISO.
+ </p>
+ </li>
+ <li>
+ <p>
+ Open a command line window on the guest and change to
+ the <filepath>cert</filepath> folder on the
+ Oracle VM VirtualBox Guest Additions CD.
+ </p>
+ </li>
+ <li>
+ <p>
+ Run the following command:
+ </p>
+ <pre xml:space="preserve">VBoxCertUtil.exe add-trusted-publisher vbox*.cer --root vbox*.cer</pre>
+ <p>
+ This command installs the certificates to the
+ certificate store. When installing the same certificate
+ more than once, an appropriate error will be displayed.
+ </p>
+ </li>
+ </ol>
+ <p>
+ To allow for completely unattended guest installations, you
+ can specify a command line parameter to the install
+ launcher:
+ </p>
+ <pre xml:space="preserve">VBoxWindowsAdditions.exe /S</pre>
+ <p>
+ This automatically installs the right files and drivers for
+ the corresponding platform, either 32-bit or 64-bit.
+ </p>
+ <note>
+ <p>
+ By default on an unattended installation on a Vista or
+ Windows 7 guest, there will be the XPDM graphics driver
+ installed. This graphics driver does not support Windows
+ Aero / Direct3D on the guest. Instead, the WDDM graphics
+ driver needs to be installed. To select this driver by
+ default, add the command line parameter
+ <codeph>/with_wddm</codeph> when invoking the Windows
+ Guest Additions installer. This is only required for Vista
+ and Windows 7.
+ </p>
+ </note>
+ <note>
+ <p>
+ For Windows Aero to run correctly on a guest, the guest's
+ VRAM size needs to be configured to at least 128 MB.
+ </p>
+ </note>
+ <p>
+ For more options regarding unattended guest installations,
+ consult the command line help by using the command:
+ </p>
+ <pre xml:space="preserve">VBoxWindowsAdditions.exe /?</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-windows-install-unattended.dita b/doc/manual/en_US/dita/topics/additions-windows-install-unattended.dita
new file mode 100644
index 00000000000..72f7a6367dd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-windows-install-unattended.dita
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-windows-install-unattended">
+ <title>Unattended Installation of the Windows Guest Additions</title>
+
+ <body>
+ <p>
+ You can configure unattended installation of the
+ Oracle VM VirtualBox Guest Additions when you create a new VM using
+ the <b outputclass="bold">Create Virtual Machine</b>
+ wizard. Select the <b outputclass="bold">Guest
+ Additions</b> check box on the
+ <b outputclass="bold">Unattended Guest OS Install</b>
+ page of the wizard.
+ </p>
+ <p>
+ Guest Additions are installed automatically, following
+ completion of the guest OS installation.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-windows-updating.dita b/doc/manual/en_US/dita/topics/additions-windows-updating.dita
new file mode 100644
index 00000000000..5563ca08570
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-windows-updating.dita
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-windows-updating">
+ <title>Updating the Windows Guest Additions</title>
+
+ <body>
+ <p>
+ Windows Guest Additions can be updated by running the
+ installation program again. This replaces the previous
+ Additions drivers with updated versions.
+ </p>
+ <p>
+ Alternatively, you can also open the Windows Device Manager
+ and select <b outputclass="bold">Update Driver...</b>
+ for the following devices:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle VM VirtualBox Graphics Adapter
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle VM VirtualBox System Device
+ </p>
+ </li>
+ </ul>
+ <p>
+ For each, choose the option to provide your own driver, click
+ <b outputclass="bold">Have Disk</b> and navigate to the
+ CD-ROM drive with the Guest Additions.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/additions-windows.dita b/doc/manual/en_US/dita/topics/additions-windows.dita
new file mode 100644
index 00000000000..c2a60c115c6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/additions-windows.dita
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="additions-windows">
+ <title>Guest Additions for Windows</title>
+
+ <body>
+ <p>
+ The Oracle VM 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:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Microsoft Windows 11
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2022
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows 10 (all feature updates)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2019
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2016
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows 8.1 (all editions)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2012R2
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows 8 (all editions)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2012
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows 7 (all editions)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2008R2
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Vista (all editions)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2008
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows XP (any service pack)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows Server 2003 (any service pack)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows 2000 (any service pack)
+ </p>
+ </li>
+ <li>
+ <p>
+ Microsoft Windows NT 4.0 (any service pack)
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/adv-config-linux-guest.dita b/doc/manual/en_US/dita/topics/adv-config-linux-guest.dita
new file mode 100644
index 00000000000..f87ef10136e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/adv-config-linux-guest.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="adv-config-linux-guest">
+ <title>Advanced Configuration for Linux and Oracle Solaris Guests</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/adv-config-win-guest.dita b/doc/manual/en_US/dita/topics/adv-config-win-guest.dita
new file mode 100644
index 00000000000..f075878f0d1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/adv-config-win-guest.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="adv-config-win-guest">
+ <title>Advanced Configuration for Windows Guests</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/adv-display-config.dita b/doc/manual/en_US/dita/topics/adv-display-config.dita
new file mode 100644
index 00000000000..8342b2fe97a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/adv-display-config.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="adv-display-config">
+ <title>Advanced Display Configuration</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/adv-storage-config.dita b/doc/manual/en_US/dita/topics/adv-storage-config.dita
new file mode 100644
index 00000000000..c8a8055fdf6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/adv-storage-config.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="adv-storage-config">
+ <title>Advanced Storage Configuration</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/auth-config-using.dita b/doc/manual/en_US/dita/topics/auth-config-using.dita
new file mode 100644
index 00000000000..34bfc998cde
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/auth-config-using.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="auth-config-using">
+ <title>Configuring and Using Authentication</title>
+
+ <body>
+ <p>
+ The following components of Oracle VM VirtualBox can use passwords for
+ authentication:
+ </p>
+ <ul>
+ <li>
+ <p>
+ When using remote iSCSI storage and the storage server
+ requires authentication, an initiator secret can optionally
+ be supplied with the <userinput>VBoxManage
+ storageattach</userinput> command. As long as no settings
+ password is provided, by using the command line option
+ <codeph>--settingspwfile</codeph>, then this secret is
+ stored <i>unencrypted</i> in the machine
+ configuration and is therefore potentially readable on the
+ host. See <xref href="storage-iscsi.dita">iSCSI Servers</xref> and
+ <xref href="man_VBoxManage-storageattach.dita">VBoxManage storageattach</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ When using the Oracle VM VirtualBox web service to control an
+ Oracle VM VirtualBox host remotely, connections to the web service
+ are authenticated in various ways. This is described in
+ detail in the Oracle VM VirtualBox Software Development Kit (SDK)
+ reference. See <xref href="VirtualBoxAPI.dita#VirtualBoxAPI"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autologon.dita b/doc/manual/en_US/dita/topics/autologon.dita
new file mode 100644
index 00000000000..4c6ca988146
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autologon.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autologon">
+ <title>Automated Guest Logins</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox provides Guest Addition modules for Windows, Linux,
+ and Oracle Solaris to enable automated logins on the guest.
+ </p>
+ <p>
+ When a guest operating system is running in a virtual machine, it
+ might be desirable to perform coordinated and automated logins
+ using credentials passed from the host. Credentials are user name,
+ password, and domain name, where each value might be empty.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autologon_unix.dita b/doc/manual/en_US/dita/topics/autologon_unix.dita
new file mode 100644
index 00000000000..adaa8f18965
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autologon_unix.dita
@@ -0,0 +1,188 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autologon_unix">
+ <title>Automated Linux and UNIX Guest Logins</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox provides a custom PAM module (Pluggable
+ Authentication Module) which can be used to perform automated
+ guest logins on platforms which support this framework.
+ Virtually all modern Linux and UNIX distributions rely on PAM.
+ </p>
+ <p>
+ For automated logins on Ubuntu, or Ubuntu-derived, distributions
+ using LightDM as the display manager. See
+ <xref href="autologon_unix_lightdm.dita#autologon_unix_lightdm"/>.
+ </p>
+ <p>
+ The <filepath>pam_vbox.so</filepath> module itself
+ <i>does not</i> do an actual verification of the
+ credentials passed to the guest OS. Instead it relies on other
+ modules such as <filepath>pam_unix.so</filepath> or
+ <filepath>pam_unix2.so</filepath> down in the PAM stack to do
+ the actual validation using the credentials retrieved by
+ <filepath>pam_vbox.so</filepath>. Therefore
+ <filepath>pam_vbox.so</filepath> has to be on top of the
+ authentication PAM service list.
+ </p>
+ <note>
+ <p>
+ The <filepath>pam_vbox.so</filepath> module only supports the
+ <codeph>auth</codeph> primitive. Other primitives such as
+ <codeph>account</codeph>, <codeph>session</codeph>, or
+ <codeph>password</codeph> are not supported.
+ </p>
+ </note>
+ <p>
+ The <filepath>pam_vbox.so</filepath> module is shipped as part
+ of the Guest Additions but it is not installed and/or activated
+ on the guest OS by default. In order to install it, it has to be
+ copied from
+ <filepath>/opt/VBoxGuestAdditions-<varname>version</varname>/other/</filepath>
+ to the security modules directory. This is usually
+ <filepath>/lib/security/</filepath> on 32-bit Linux guests or
+ <filepath>/lib64/security/</filepath> on 64-bit Linux guests.
+ Please refer to your guest OS documentation for the correct PAM
+ module directory.
+ </p>
+ <p>
+ For example, to use <filepath>pam_vbox.so</filepath> with a
+ Ubuntu Linux guest OS and the GNOME Desktop Manager (GDM) to log
+ in users automatically with the credentials passed by the host,
+ configure the guest OS as follows:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Copy the <filepath>pam_vbox.so</filepath> module to the
+ security modules directory. In this case,
+ <filepath>/lib/security</filepath>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Edit the PAM configuration file for GDM, found at
+ <filepath>/etc/pam.d/gdm</filepath>. Add the line
+ <codeph>auth requisite pam_vbox.so</codeph> at the top.
+ Additionally, in most Linux distributions there is a file
+ called <filepath>/etc/pam.d/common-auth</filepath>. This
+ file is included in many other services, like the GDM file
+ mentioned above. There you also have to add the line
+ <codeph>auth requisite pam_vbox.so</codeph>.
+ </p>
+ </li>
+ <li>
+ <p>
+ If authentication against the shadow database using
+ <filepath>pam_unix.so</filepath> or
+ <filepath>pam_unix2.so</filepath> is desired, the argument
+ <codeph>try_first_pass</codeph> for
+ <filepath>pam_unix.so</filepath> or
+ <codeph>use_first_pass</codeph> for
+ <filepath>pam_unix2.so</filepath> is needed in order to pass
+ the credentials from the Oracle VM VirtualBox module to the shadow
+ database authentication module. For Ubuntu, this needs to be
+ added to <filepath>/etc/pam.d/common-auth</filepath>, to the
+ end of the line referencing
+ <filepath>pam_unix.so</filepath>. This argument tells the
+ PAM module to use credentials already present in the stack,
+ such as the ones provided by the Oracle VM VirtualBox PAM module.
+ </p>
+ </li>
+ </ol>
+ <note type="attention">
+ <p>
+ An incorrectly configured PAM stack can effectively prevent
+ you from logging into your guest system.
+ </p>
+ </note>
+ <p>
+ To make deployment easier, you can pass the argument
+ <codeph>debug</codeph> right after the
+ <filepath>pam_vbox.so</filepath> statement. Debug log output
+ will then be recorded using syslog.
+ </p>
+ <note>
+ <p>
+ By default, <userinput>pam_vbox</userinput> does not wait for
+ credentials to arrive from the host. When a login prompt is
+ shown, for example by GDM/KDM or the text console, and
+ <userinput>pam_vbox</userinput> does not yet have credentials it
+ does not wait until they arrive. Instead the next module in
+ the PAM stack, depending on the PAM configuration, will have
+ the chance for authentication.
+ </p>
+ </note>
+ <p><userinput>pam_vbox</userinput> supports various guest property
+ parameters that are located in
+ <filepath>/VirtualBox/GuestAdd/PAM/</filepath>. These parameters
+ allow <userinput>pam_vbox</userinput> to wait for credentials to be
+ provided by the host and optionally can show a message while
+ waiting for those. The following guest properties can be set:
+ </p>
+ <ul>
+ <li>
+ <p><codeph>CredsWait</codeph>: Set to 1 if
+ <userinput>pam_vbox</userinput> should start waiting until
+ credentials arrive from the host. Until then no other
+ authentication methods such as manually logging in will be
+ available. If this property is empty or gets deleted no
+ waiting for credentials will be performed and
+ <userinput>pam_vbox</userinput> will act like before. This
+ property must be set read-only for the guest
+ (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>CredsWaitAbort</codeph>: Aborts waiting for
+ credentials when set to any value. Can be set from host and
+ the guest.
+ </p>
+ </li>
+ <li>
+ <p><codeph>CredsWaitTimeout</codeph>: Timeout, in seconds, to
+ let <userinput>pam_vbox</userinput> wait for credentials to
+ arrive. When no credentials arrive within this timeout,
+ authentication of <userinput>pam_vbox</userinput> will be set to
+ failed and the next PAM module in chain will be asked. If
+ this property is not specified, set to 0 or an invalid
+ value, an infinite timeout will be used. This property must
+ be set read-only for the guest
+ (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ </ul>
+ <p>
+ To customize <userinput>pam_vbox</userinput> further there are the
+ following guest properties:
+ </p>
+ <ul>
+ <li>
+ <p><codeph>CredsMsgWaiting</codeph>: Custom message showed
+ while pam_vbox is waiting for credentials from the host.
+ This property must be set read-only for the guest
+ (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>CredsMsgWaitTimeout</codeph>: Custom message
+ showed when waiting for credentials by
+ <userinput>pam_vbox</userinput> has timed out. For example, they
+ did not arrive within time. This property must be set
+ read-only for the guest (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ If a <userinput>pam_vbox</userinput> guest property does not have
+ the correct flag set (<codeph>RDONLYGUEST</codeph>) the
+ property is ignored and, depending on the property, a default
+ value will be used. This can result in pam_vbox not waiting
+ for credentials. Consult the appropriate syslog file for more
+ information and use the <codeph>debug</codeph> option.
+ </p>
+ </note>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autologon_unix_lightdm.dita b/doc/manual/en_US/dita/topics/autologon_unix_lightdm.dita
new file mode 100644
index 00000000000..ea61df6bc32
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autologon_unix_lightdm.dita
@@ -0,0 +1,152 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autologon_unix_lightdm">
+ <title>Oracle VM VirtualBox Greeter for Ubuntu/LightDM</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox comes with a greeter module, named
+ <userinput>vbox-greeter</userinput>, that can be used with
+ LightDM. LightDM is the default display manager for Ubuntu
+ Linux and therefore can also be used for automated guest
+ logins.
+ </p>
+ <p><userinput>vbox-greeter</userinput> does not need the
+ <userinput>pam_vbox</userinput> module described in
+ <xref href="autologon_unix.dita#autologon_unix"/>in order to function. It comes
+ with its own authentication mechanism provided by LightDM.
+ However, to provide maximum flexibility both modules can be
+ used together on the same guest.
+ </p>
+ <p>
+ As with the <userinput>pam_vbox</userinput> module,
+ <userinput>vbox-greeter</userinput> is shipped as part of the
+ Guest Additions but it is not installed or activated on the
+ guest OS by default. To install
+ <userinput>vbox-greeter</userinput> automatically upon Guest
+ Additions installation, use the
+ <codeph>--with-autologon</codeph> option when starting the
+ <userinput>VBoxLinuxAdditions.run</userinput> file:
+ </p>
+ <pre xml:space="preserve"># ./VBoxLinuxAdditions.run -- --with-autologon</pre>
+ <p>
+ For manual or postponed installation, copy the
+ <filepath>vbox-greeter.desktop</filepath> file from
+ <filepath>/opt/VBoxGuestAdditions-<varname>version</varname>/other/</filepath>
+ to the <filepath>xgreeters</filepath> directory, which is
+ usually <filepath>/usr/share/xgreeters/</filepath>. See your
+ guest OS documentation for the name of the correct LightDM
+ greeter directory.
+ </p>
+ <p>
+ The <userinput>vbox-greeter</userinput> module is installed by the
+ Oracle VM VirtualBox Guest Additions installer and is located in
+ <filepath>/usr/sbin/</filepath>. To enable
+ <userinput>vbox-greeter</userinput> as the standard greeter
+ module, edit the file
+ <filepath>/etc/lightdm/lightdm.conf</filepath> as follows:
+ </p>
+ <pre xml:space="preserve">[SeatDefaults]
+greeter-session=vbox-greeter</pre>
+ <note>
+ <ul>
+ <li>
+ <p>
+ The LightDM server must be fully restarted in order for
+ <userinput>vbox-greeter</userinput> to be used as the
+ default greeter. As <codeph>root</codeph> on Ubuntu,
+ run <userinput>service lightdm --full-restart</userinput> or
+ restart the guest.
+ </p>
+ </li>
+ <li>
+ <p><userinput>vbox-greeter</userinput> is independent of the
+ graphical session you choose, such as Gnome, KDE, or
+ Unity. However, <userinput>vbox-greeter</userinput> does
+ require FLTK 1.3 or later to implement its own user
+ interface.
+ </p>
+ </li>
+ </ul>
+ </note>
+ <p>
+ There are numerous guest properties which can be used to
+ further customize the login experience. For automatically
+ logging in users, the same guest properties apply as for
+ <userinput>pam_vbox</userinput>. See
+ <xref href="autologon_unix.dita#autologon_unix"/>.
+ </p>
+ <p>
+ In addition to the previously mentioned guest properties,
+ <userinput>vbox-greeter</userinput> enables you to further
+ customize its user interface. The following guest properties
+ are located in the
+ <filepath>/VirtualBox/GuestAdd/Greeter/</filepath> directory:
+ </p>
+ <ul>
+ <li>
+ <p><codeph>HideRestart</codeph>: Set to 1 if
+ <userinput>vbox-greeter</userinput> should hide the button to
+ restart the guest. This property must be set read-only for
+ the guest (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>HideShutdown</codeph>: Set to 1 if
+ <userinput>vbox-greeter</userinput> should hide the button to
+ shutdown the guest. This property must be set read-only
+ for the guest (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>BannerPath</codeph>: Path to a
+ <filepath>.PNG</filepath> file to use as a banner image on
+ the top of the greeter. The image size must be 460 x 90
+ pixels, any bit depth. This property must be set read-only
+ for the guest (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>UseTheming</codeph>: Set to 1 for turning on the
+ following theming options. This property must be set
+ read-only for the guest (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>Theme/BackgroundColor</codeph>: Hexadecimal
+ RRGGBB color for the background. This property must be set
+ read-only for the guest (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>Theme/LogonDialog/HeaderColor</codeph>:
+ Hexadecimal RRGGBB foreground color for the header text.
+ This property must be set read-only for the guest
+ (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>Theme/LogonDialog/BackgroundColor</codeph>:
+ Hexadecimal RRGGBB color for the login dialog background.
+ This property must be set read-only for the guest
+ (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ <li>
+ <p><codeph>Theme/LogonDialog/ButtonColor</codeph>:
+ Hexadecimal RRGGBB background color for the login dialog
+ button. This property must be set read-only for the guest
+ (<codeph>RDONLYGUEST</codeph>).
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ The same restrictions for the guest properties above apply
+ as for the ones specified in the <codeph>pam_vbox</codeph>
+ section.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autologon_win.dita b/doc/manual/en_US/dita/topics/autologon_win.dita
new file mode 100644
index 00000000000..0c776ad5ba4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autologon_win.dita
@@ -0,0 +1,137 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autologon_win">
+ <title>Automated Windows Guest Logins</title>
+
+ <body>
+ <p>
+ Windows provides a modular system login subsystem, called
+ Winlogon, which can be customized and extended by means of
+ so-called GINA (Graphical Identification and Authentication)
+ modules. In Windows Vista and later releases, the GINA modules
+ were replaced with a new mechanism called credential providers.
+ The Oracle VM VirtualBox Guest Additions for Windows come with both, a
+ GINA and a credential provider module, and therefore enable any
+ Windows guest to perform automated logins.
+ </p>
+ <p>
+ To activate the Oracle VM VirtualBox GINA or credential provider
+ module, install the Guest Additions using the command line
+ switch <codeph>/with_autologon</codeph>. All the following
+ manual steps required for installing these modules will be then
+ done by the installer.
+ </p>
+ <p>
+ To manually install the Oracle VM VirtualBox GINA module, extract the
+ Guest Additions as shown in
+ <xref href="windows-guest-file-extraction.dita">Manual File Extraction</xref>, and copy the
+ <filepath>VBoxGINA.dll</filepath> file to the Windows
+ <filepath>SYSTEM32</filepath> directory. In the registry, create
+ the following key with a value of
+ <filepath>VBoxGINA.dll</filepath>:
+ </p>
+ <pre xml:space="preserve">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL</pre>
+ <note>
+ <p>
+ The Oracle VM VirtualBox GINA module is implemented as a wrapper
+ around the <filepath>MSGINA.DLL</filepath> standard Windows
+ GINA module. As a result, it might not work correctly with
+ third-party GINA modules.
+ </p>
+ </note>
+ <p>
+ To manually install the Oracle VM VirtualBox credential provider
+ module, extract the Guest Additions as shown in
+ <xref href="windows-guest-file-extraction.dita">Manual File Extraction</xref> and copy the
+ <filepath>VBoxCredProv.dll</filepath> file to the Windows
+ <filepath>SYSTEM32</filepath> directory. In the registry, create
+ the following keys:
+ </p>
+ <pre xml:space="preserve">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
+Authentication\Credential Providers\{275D3BCC-22BB-4948-A7F6-3A3054EBA92B}
+
+HKEY_CLASSES_ROOT\CLSID\{275D3BCC-22BB-4948-A7F6-3A3054EBA92B}
+
+HKEY_CLASSES_ROOT\CLSID\{275D3BCC-22BB-4948-A7F6-3A3054EBA92B}\InprocServer32</pre>
+ <p>
+ All default values, the key named <codeph>Default</codeph>,
+ must be set to <codeph>VBoxCredProv</codeph>.
+ </p>
+ <p>
+ Create the following string and assign it a value of
+ <codeph>Apartment</codeph>.
+ </p>
+ <pre xml:space="preserve">HKEY_CLASSES_ROOT\CLSID\{275D3BCC-22BB-4948-A7F6-3A3054EBA92B}\InprocServer32\ThreadingModel</pre>
+ <p>
+ To set credentials, use the following command on a
+ <i>running</i> VM:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage controlvm "Windows XP" setcredentials "John Doe" "secretpassword" "DOMTEST"</pre>
+ <p>
+ While the VM is running, the credentials can be queried by the
+ Oracle VM VirtualBox login modules, GINA or credential provider, using
+ the Oracle VM VirtualBox Guest Additions device driver. When Windows
+ is in <i>logged out</i> mode, the login modules
+ will constantly poll for credentials and if they are present, a
+ login will be attempted. After retrieving the credentials, the
+ login modules will erase them so that the above command will
+ have to be repeated for subsequent logins.
+ </p>
+ <p>
+ For security reasons, credentials are not stored in any
+ persistent manner and will be lost when the VM is reset. Also,
+ the credentials are write-only. There is no way to retrieve the
+ credentials from the host side. Credentials can be reset from
+ the host side by setting empty values.
+ </p>
+ <p>
+ Depending on the Windows guest version, the following
+ restrictions apply:
+ </p>
+ <ul>
+ <li>
+ <p>
+ For <b outputclass="bold">Windows XP guests.</b> The
+ login subsystem needs to be configured to use the classic
+ login dialog, as the Oracle VM VirtualBox GINA module does not
+ support the Windows XP-style welcome dialog.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Windows Vista, Windows 7, Windows 8,
+ and Windows 10 guests.</b> The login subsystem does
+ not support the so-called Secure Attention Sequence,
+ <codeph>Ctrl+Alt+Del</codeph>. As a result, the guest's
+ group policy settings need to be changed to not use the
+ Secure Attention Sequence. Also, the user name given is only
+ compared to the true user name, not the user friendly name.
+ This means that when you rename a user, you still have to
+ supply the original user name as Windows never renames user
+ accounts internally.
+ </p>
+ </li>
+ <li>
+ <p>
+ Automatic login handling of the built-in
+ <b outputclass="bold">Windows Remote Desktop
+ Service</b>, formerly known as Terminal Services, is
+ disabled by default. To enable it, create the following
+ registry key with a <codeph>DWORD</codeph> value of
+ <codeph>1</codeph>.
+ </p>
+ <pre xml:space="preserve">HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\VirtualBox Guest Additions\AutoLogon</pre>
+ </li>
+ </ul>
+ <p>
+ The following command forces Oracle VM VirtualBox to keep the
+ credentials after they were read by the guest and on VM reset:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata "Windows XP" VBoxInternal/Devices/VMMDev/0/Config/KeepCredentials 1</pre>
+ <p>
+ Note that this is a potential security risk, as a malicious
+ application running on the guest could request this information
+ using the proper interface.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autostart-linux.dita b/doc/manual/en_US/dita/topics/autostart-linux.dita
new file mode 100644
index 00000000000..134e8cf1d37
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autostart-linux.dita
@@ -0,0 +1,54 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autostart-linux">
+ <title>Linux: Starting the Autostart Service With init</title>
+
+ <body>
+ <p>
+ On Linux, the autostart service is activated by setting two
+ variables in <filepath>/etc/default/virtualbox</filepath>. The
+ first one is <codeph>VBOXAUTOSTART_DB</codeph> which contains
+ an absolute path to the autostart database directory. The
+ directory should have write access for every user who should be
+ able to start virtual machines automatically. Furthermore the
+ directory should have the sticky bit set. The second variable is
+ <codeph>VBOXAUTOSTART_CONFIG</codeph> which points the service
+ to the autostart configuration file which is used during boot to
+ determine whether to allow individual users to start a VM
+ automatically and configure startup delays. The configuration
+ file can be placed in <filepath>/etc/vbox</filepath> and
+ contains several options. One is
+ <codeph>default_policy</codeph> which controls whether the
+ autostart service allows or denies to start a VM for users which
+ are not in the exception list. The exception list starts with
+ <codeph>exception_list</codeph> and contains a comma separated
+ list with usernames. Furthermore a separate startup delay can be
+ configured for every user to avoid overloading the host. A
+ sample configuration is given below:
+ </p>
+ <pre xml:space="preserve"># Default policy is to deny starting a VM, the other option is "allow".
+default_policy = deny
+
+# Bob is allowed to start virtual machines but starting them
+# will be delayed for 10 seconds
+bob = {
+ allow = true
+ startup_delay = 10
+}
+
+# Alice is not allowed to start virtual machines, useful to exclude certain users
+# if the default policy is set to allow.
+alice = {
+ allow = false
+}
+</pre>
+ <p>
+ Any user who wants to enable autostart for individual machines
+ must set the path to the autostart database directory with the
+ following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setproperty autostartdbpath <varname>autostart-directory</varname>
+ </pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autostart-osx.dita b/doc/manual/en_US/dita/topics/autostart-osx.dita
new file mode 100644
index 00000000000..5970d223fed
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autostart-osx.dita
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autostart-osx">
+ <title>macOS: Starting the Autostart Service With launchd</title>
+
+ <body>
+ <p>
+ On macOS, launchd is used to start the Oracle VM VirtualBox autostart
+ service. An example configuration file can be found in
+ <filepath>/Applications/VirtualBox.app/Contents/MacOS/org.virtualbox.vboxautostart.plist</filepath>.
+ To enable the service copy the file to
+ <filepath>/Library/LaunchDaemons</filepath> and change the
+ <codeph>Disabled</codeph> key from <codeph>true</codeph> to
+ <codeph>false</codeph>. Furthermore replace the second
+ parameter to an existing configuration file which has the same
+ format as on Linux, see <xref href="autostart-linux.dita#autostart-linux"/>.
+ </p>
+ <p>
+ To manually start the service use the following command:
+ </p>
+ <pre xml:space="preserve"># launchctl load /Library/LaunchDaemons/org.virtualbox.vboxautostart.plist</pre>
+ <p>
+ For additional information on how launchd services can be
+ configured see:
+ </p>
+ <p><ph>http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.html</ph>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autostart-solaris.dita b/doc/manual/en_US/dita/topics/autostart-solaris.dita
new file mode 100644
index 00000000000..5c61ccb5ddf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autostart-solaris.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autostart-solaris">
+ <title>Oracle Solaris: Starting the Autostart Service With SMF</title>
+
+ <body>
+ <p>
+ On Oracle Solaris hosts, the Oracle VM VirtualBox autostart daemon is
+ integrated into the SMF framework. To enable it you must point
+ the service to an existing configuration file which has the same
+ format as on Linux, see <xref href="autostart-linux.dita#autostart-linux"/>. For
+ example:
+ </p>
+ <pre xml:space="preserve"># svccfg -s svc:/application/virtualbox/autostart:default setprop \
+ config/config=/etc/vbox/autostart.cfg</pre>
+ <p>
+ When everything is configured correctly you can start the
+ Oracle VM VirtualBox autostart service with the following command:
+ </p>
+ <pre xml:space="preserve"># svcadm enable svc:/application/virtualbox/autostart:default</pre>
+ <p>
+ For more information about SMF, see the Oracle Solaris
+ documentation.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autostart-windows.dita b/doc/manual/en_US/dita/topics/autostart-windows.dita
new file mode 100644
index 00000000000..5763b0b4a8d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autostart-windows.dita
@@ -0,0 +1,97 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autostart-windows">
+ <title>Windows: Starting the Autostart Service</title>
+
+ <body>
+ <p>
+ On Windows, autostart functionality consist of two components.
+ The first component is a configuration file where the
+ administrator can both set a delayed start for the VMs and
+ temporarily disable autostarting for a particular user. The
+ configuration file should be located in a folder accessible by
+ all required users but it should have permissions allowing only
+ reading by everyone but administrators. The configuration file
+ contains several options. The <codeph>default_policy</codeph>
+ controls whether the autostart service allows or denies starting
+ of a VM for users that are not in the exception list. The
+ exception list starts with <codeph>exception_list</codeph> and
+ contains a comma separated list with usernames. Furthermore, a
+ separate startup delay can be configured for every user to avoid
+ overloading the host. A sample configuration is given below:
+ </p>
+ <pre xml:space="preserve"> # Default policy is to deny starting a VM, the other option is "allow".
+ default_policy = deny
+
+ # Bob is allowed to start virtual machines but starting them
+ # will be delayed for 10 seconds
+ bob = {
+ allow = true
+ startup_delay = 10
+ }
+
+ # Alice is not allowed to start virtual machines, useful to exclude certain users
+ # if the default policy is set to allow.
+ alice = {
+ allow = false
+ }
+</pre>
+ <p>
+ The user name can be specified using the following forms:
+ "user", "domain\user", ".\user" and "user@domain". An
+ administrator must add the
+ <codeph>VBOXAUTOSTART_CONFIG</codeph> environment variable
+ into system variables containing the path to the configuration
+ file described above. The environment variable tells the
+ autostart services which configuration file is used.
+ </p>
+ <p>
+ The second component of autostart functionality is a Windows
+ service. Every instance of this works on behalf of a particular
+ user using their credentials.
+ </p>
+ <p>
+ To enable autostarting for a particular user, a member of the
+ administrators group must run the following command:
+ </p>
+ <pre xml:space="preserve">VBoxAutostartSvc install --user=<varname>user</varname> [--password-file=<varname>password_file</varname>]</pre>
+ <p>
+ The password file should contain the password followed by a line
+ break. The rest of the file is ignored. The user will be asked
+ for a password if the password file is not specified.
+ </p>
+ <p>
+ To disable autostarting for particular user, a member of the
+ administrators group must run the following command:
+ </p>
+ <pre xml:space="preserve">VBoxAutostartSvc delete --user=<varname>user</varname>
+ </pre>
+ <p>
+ If a user has changed their password then a member of the
+ administrators group must either reinstall the service or change
+ the service credentials using Windows Service Manager. Due to
+ Windows security policies, the autostart service cannot be
+ installed for users with empty passwords.
+ </p>
+ <p>
+ Finally, the user should define which VMs should be started at
+ boot. The user should run the following command for every VM
+ they wish to start at boot:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM name or UUID</varname> --autostart-enabled on</pre>
+ <p>
+ The user can remove a particular VM from the VMs starting at
+ boot by running the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM name or UUID</varname> --autostart-enabled off</pre>
+ <note>
+ <p>
+ On Windows hosts, starting VMs via the autostart service might
+ cause some issues, as the virtual machines are starting within
+ the same session as VBoxSVC. For more information see
+ <xref href="vboxsvc-session-0.dita#vboxsvc-session-0"/>.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/autostart.dita b/doc/manual/en_US/dita/topics/autostart.dita
new file mode 100644
index 00000000000..72eafba2b9a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/autostart.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="autostart">
+ <title>Starting Virtual Machines During System Boot</title>
+
+ <body>
+ <p>
+ You can start VMs automatically during system boot on Linux,
+ Oracle Solaris, and macOS platforms for all users.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/basic-unattended.dita b/doc/manual/en_US/dita/topics/basic-unattended.dita
new file mode 100644
index 00000000000..4d34cbe7f46
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/basic-unattended.dita
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="basic-unattended">
+ <title>Unattended Guest Installation</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox can install a guest OS automatically. You only need
+ to provide the installation medium and a few other parameters,
+ such as the name of the default user.
+ </p>
+ <p>
+ You can perform an unattended guest installation in the following
+ ways:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Use the Create Virtual Machine
+ wizard.</b> An optional step in the wizard enables you
+ to configure unattended installation. You can specify the
+ default user credentials for the guest OS and also whether to
+ install the Guest Additions automatically. See
+ <xref href="create-vm-wizard.dita#create-vm-wizard"/>.
+ </p>
+ <p>
+ During this step, Oracle VM VirtualBox scans the installation medium
+ and changes certain parameters to ensure a seamless
+ installation as a guest running on Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Use the <userinput>VBoxManage</userinput>
+ commands.</b><xref href="unattended-guest-install-example.dita#unattended-guest-install-example"/> describes
+ how to perform an unattended guest installation for an Oracle
+ Linux guest.
+ </p>
+ </li>
+ </ul>
+ <p>
+ When you first start a VM that has been configured for unattended
+ installation, the guest OS installation is performed
+ automatically.
+ </p>
+ <p>
+ The installation operation changes the boot device order to boot
+ the virtual hard disk first and then the virtual DVD drive. If the
+ virtual hard disk is empty prior to the automatic installation,
+ the VM boots from the virtual DVD drive and begins the
+ installation.
+ </p>
+ <p>
+ If the virtual hard disk contains a bootable OS, the installation
+ operation exits. In this case, change the boot device order
+ manually by pressing F12 during the BIOS splash screen.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/buffer-overwriting-mitigation.dita b/doc/manual/en_US/dita/topics/buffer-overwriting-mitigation.dita
new file mode 100644
index 00000000000..68645a9c03f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/buffer-overwriting-mitigation.dita
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="buffer-overwriting-mitigation">
+ <title>Buffer Overwriting and Disabling Hyper-Threading</title>
+
+ <body>
+ <p>
+ First, up to date CPU microcode is a prerequisite for the
+ buffer overwriting (clearing) mitigations. Some host OSes may
+ install these automatically, though it has traditionally been
+ a task best performed by the system firmware. Please check
+ with your system or mainboard manufacturer for the latest
+ firmware update.
+ </p>
+ <p>
+ This mitigation aims at removing potentially sensitive data
+ from the affected buffers before running guest code. Since
+ this means additional work each time the guest is scheduled,
+ there might be some performance side effects.
+ </p>
+ <p>
+ We recommend disabling hyper-threading (HT) on hosts affected
+ by CVE-2018-12126 and CVE-2018-12127, because the affected
+ sets of buffers are normally shared between thread pairs and
+ therefore cause leaks between the threads. This is
+ traditionally done from the firmware setup, but some OSes also
+ offers ways disable HT. In some cases it may be disabled by
+ default, but please verify as the effectiveness of the
+ mitigation depends on it.
+ </p>
+ <p>
+ The default action taken by Oracle VM VirtualBox is to clear the
+ affected buffers when a thread is scheduled to execute guest
+ code, rather than on each VM entry. This reduces the
+ performance impact, while making the assumption that the host
+ OS will not handle security sensitive data from interrupt
+ handlers and similar without taking precautions.
+ </p>
+ <p>
+ The <userinput>VBoxManage modifyvm</userinput> command provides a
+ more aggressive flushing option is provided by means of the
+ <codeph>--mds-clear-on-vm-entry</codeph> option. When enabled
+ the affected buffers will be cleared on every VM entry. The
+ performance impact is greater than with the default option,
+ though this of course depends on the workload. Workloads
+ producing a lot of VM exits (like networking, VGA access, and
+ similiar) will probably be most impacted.
+ </p>
+ <p>
+ For users not concerned by this security issue, the default
+ mitigation can be disabled using the <userinput>VBoxManage
+ modifyvm name --mds-clear-on-sched off</userinput> command.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/changeacpicust.dita b/doc/manual/en_US/dita/topics/changeacpicust.dita
new file mode 100644
index 00000000000..86b0530030f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/changeacpicust.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="changeacpicust">
+ <title>Configuring Custom ACPI Tables</title>
+
+ <body>
+ <p>
+ You can configure Oracle VM VirtualBox to present up to four custom ACPI
+ tables to the guest. Use a command such as the following to
+ configure custom ACPI tables. Note that
+ <codeph>CustomTable1</codeph>, <codeph>CustomTable2</codeph>,
+ and <codeph>CustomTable3</codeph> are available in addition to
+ <codeph>CustomTable0</codeph>.
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/acpi/0/Config/CustomTable0" "/<varname>path-to-table</varname>.bin"</pre>
+ <p>
+ Configuring custom ACPI tables can for example avoid the need for
+ asking for a new product key on Windows Vista, Windows 7, Windows
+ 8 and later guests. On Linux hosts, one of the system's ACPI
+ tables can be read from
+ <filepath>/sys/firmware/acpi/tables/</filepath>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/changedmi.dita b/doc/manual/en_US/dita/topics/changedmi.dita
new file mode 100644
index 00000000000..d9ef1f840ce
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/changedmi.dita
@@ -0,0 +1,137 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="changedmi">
+ <title>Configuring the BIOS DMI Information</title>
+
+ <body>
+ <p>
+ The DMI data that Oracle VM VirtualBox provides to guests can be changed
+ for a specific VM. Use the following commands to configure the DMI
+ BIOS information. In case your VM is configured to use EFI
+ firmware you need to replace <codeph>pcbios</codeph> by
+ <codeph>efi</codeph> in the keys.
+ </p>
+ <ul>
+ <li>
+ <p>
+ DMI BIOS information (type 0)
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "BIOS Vendor"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "BIOS Version"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate" "BIOS Release Date"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor" 1
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMinor" 2
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMajor" 3
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBIOSFirmwareMinor" 4</pre>
+ </li>
+ <li>
+ <p>
+ DMI system information (type 1)
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "System Vendor"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct" "System Product"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemVersion" "System Version"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "System Serial"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSKU" "System SKU"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemFamily" "System Family"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemUuid" \
+"9852bf98-b83c-49db-a8de-182c42c7226b"</pre>
+ </li>
+ <li>
+ <p>
+ DMI board information (type 2)
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardVendor" "Board Vendor"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardProduct" "Board Product"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardVersion" "Board Version"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" "Board Serial"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardAssetTag" "Board Tag"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardLocInChass" "Board Location"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiBoardBoardType" 10</pre>
+ </li>
+ <li>
+ <p>
+ DMI system enclosure or chassis (type 3)
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiChassisVendor" "Chassis Vendor"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiChassisType" 3
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiChassisVersion" "Chassis Version"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiChassisSerial" "Chassis Serial"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" "Chassis Tag"</pre>
+ </li>
+ <li>
+ <p>
+ DMI processor information (type 4)
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiProcManufacturer" "GenuineIntel"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiProcVersion" "Pentium(R) III"</pre>
+ </li>
+ <li>
+ <p>
+ DMI OEM strings (type 11)
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiOEMVBoxVer" "vboxVer_1.2.3"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiOEMVBoxRev" "vboxRev_12345"</pre>
+ </li>
+ </ul>
+ <p>
+ If a DMI string is not set, the default value of Oracle VM VirtualBox is
+ used. To set an empty string use
+ <codeph>"&lt;EMPTY&gt;"</codeph>.
+ </p>
+ <p>
+ Note that in the above list, all quoted parameters (DmiBIOSVendor,
+ DmiBIOSVersion but not DmiBIOSReleaseMajor) are expected to be
+ strings. If such a string is a valid number, the parameter is
+ treated as number and the VM will most probably refuse to start
+ with an <codeph>VERR_CFGM_NOT_STRING</codeph> error. In that
+ case, use
+ <codeph>"string:<varname>value</varname>"</codeph>. For
+ example:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "string:1234"</pre>
+ <p>
+ Changing this information can be necessary to provide the DMI
+ information of the host to the guest to prevent Windows from
+ asking for a new product key. On Linux hosts, the DMI BIOS
+ information can be obtained with the following command:
+ </p>
+ <pre xml:space="preserve">$ dmidecode -t0</pre>
+ <p>
+ The DMI system information can be obtained as follows:
+ </p>
+ <pre xml:space="preserve">$ dmidecode -t1</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/changenat.dita b/doc/manual/en_US/dita/topics/changenat.dita
new file mode 100644
index 00000000000..226a0a38370
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/changenat.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="changenat">
+ <title>Fine Tuning the Oracle VM VirtualBox NAT Engine</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/changetimesync.dita b/doc/manual/en_US/dita/topics/changetimesync.dita
new file mode 100644
index 00000000000..820be8faf1d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/changetimesync.dita
@@ -0,0 +1,107 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="changetimesync">
+ <title>Tuning the Guest Additions Time Synchronization Parameters</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox Guest Additions ensure that the guest's
+ system time is synchronized with the host time. There are
+ several parameters which can be tuned. The parameters can be set
+ for a specific VM using the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage guestproperty set <varname>VM-name</varname> "/VirtualBox/GuestAdd/VBoxService/<varname>property</varname>" <varname>value</varname>
+ </pre>
+ <p><varname>property</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt><codeph>--timesync-interval</codeph>
+ </dt>
+ <dd>
+ <p>
+ Specifies the interval at which to synchronize the time
+ with the host. The default is 10000 ms (10 seconds).
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt><codeph>--timesync-min-adjust</codeph>
+ </dt>
+ <dd>
+ <p>
+ The minimum absolute drift value measured in milliseconds
+ to make adjustments for. The default is 1000 ms on OS/2
+ and 100 ms elsewhere.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt><codeph>--timesync-latency-factor</codeph>
+ </dt>
+ <dd>
+ <p>
+ The factor to multiply the time query latency with to
+ calculate the dynamic minimum adjust time. The default is
+ 8 times, which means as follows:
+ </p>
+ <p>
+ Measure the time it takes to determine the host time, the
+ guest has to contact the VM host service which may take
+ some time. Multiply this value by 8 and do an adjustment
+ only if the time difference between host and guest is
+ bigger than this value. Do not do any time adjustment
+ otherwise.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt><codeph>--timesync-max-latency</codeph>
+ </dt>
+ <dd>
+ <p>
+ The max host timer query latency to accept. The default is
+ 250 ms.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt><codeph>--timesync-set-threshold</codeph>
+ </dt>
+ <dd>
+ <p>
+ The absolute drift threshold, given as milliseconds where
+ to start setting the time instead of trying to smoothly
+ adjust it. The default is 20 minutes.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt><codeph>--timesync-set-start</codeph>
+ </dt>
+ <dd>
+ <p>
+ Set the time when starting the time sync service.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt><codeph>--timesync-set-on-restore</codeph> 0|1
+ </dt>
+ <dd>
+ <p>
+ Set the time after the VM was restored from a saved state
+ when passing 1 as parameter. This is the default. Disable
+ by passing 0. In the latter case, the time will be
+ adjusted smoothly, which can take a long time.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ All these parameters can be specified as command line parameters
+ to <codeph>VBoxService</codeph> as well.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/changetscmode.dita b/doc/manual/en_US/dita/topics/changetscmode.dita
new file mode 100644
index 00000000000..874178494aa
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/changetscmode.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="changetscmode">
+ <title>Configuring the Guest Time Stamp Counter (TSC) to Reflect Guest
+ Execution</title>
+
+ <body>
+ <p>
+ By default, Oracle VM 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. In special circumstances it may be useful however to make
+ the time stamp counter (TSC) in the guest reflect the time
+ actually spent executing the guest.
+ </p>
+ <p>
+ This special TSC handling mode can be enabled on a per-VM basis,
+ and for best results must be used only in combination with
+ hardware virtualization. To enable this mode use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/TM/TSCTiedToExecution" 1</pre>
+ <p>
+ To revert to the default TSC handling mode use:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/TM/TSCTiedToExecution"</pre>
+ <p>
+ Note that if you use the special TSC handling mode with a guest
+ operating system which is very strict about the consistency of
+ time sources you may get a warning or error message about the
+ timing inconsistency. It may also cause clocks to become
+ unreliable with some guest operating systems depending on how
+ they use the TSC.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/changevpd.dita b/doc/manual/en_US/dita/topics/changevpd.dita
new file mode 100644
index 00000000000..5956411c525
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/changevpd.dita
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="changevpd">
+ <title>Configuring the Hard Disk Vendor Product Data (VPD)</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox reports vendor product data for its virtual hard
+ disks which consist of hard disk serial number, firmware
+ revision and model number. These can be changed using the
+ following commands:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "serial"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" "firmware"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "model"</pre>
+ <p>
+ 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.
+ </p>
+ <p>
+ The above commands apply to virtual machines with an AHCI (SATA)
+ controller. The commands for virtual machines with an IDE
+ controller are:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/SerialNumber" "serial"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/FirmwareRevision" "firmware"
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/ModelNumber" "model"</pre>
+ <p>
+ For hard disks, you can mark the drive as having a
+ non-rotational medium by using the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/NonRotational" "1"</pre>
+ <p>
+ Additional three parameters are needed for CD/DVD drives to
+ report the vendor product data:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/ATAPIVendorId" "vendor"
+VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/ATAPIProductId" "product"
+VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/ahci/0/Config/Port0/ATAPIRevision" "revision"</pre>
+ <p>
+ The vendor id is an 8 byte alphanumeric string, the product id
+ an 16 byte alphanumeric string and the revision a 4 byte
+ alphanumeric string. Instead of Port0, referring to the first
+ port, specify the desired SATA hard disk port.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/clone.dita b/doc/manual/en_US/dita/topics/clone.dita
new file mode 100644
index 00000000000..d22a6b4b6b8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/clone.dita
@@ -0,0 +1,167 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="clone">
+ <title>Cloning Virtual Machines</title>
+
+ <body>
+ <p>
+ You can create a full copy or a linked copy of an existing VM.
+ This copy is called a <i>clone</i>. You might use a
+ cloned VM to experiment with a VM configuration, to test different
+ guest OS levels, or to back up a VM.
+ </p>
+ <p>
+ The <b outputclass="bold">Clone Virtual Machine</b> wizard
+ guides you through the cloning process.
+ </p>
+ <p>
+ You can start the Clone Virtual Machine wizard in one of the
+ following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click the VM name in the machine list and then select
+ <b outputclass="bold">Clone</b> from the
+ <b outputclass="bold">Machine</b> menu.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Clone</b> in the
+ <b outputclass="bold">Snapshots</b> window for the
+ selected VM.
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ The <b outputclass="bold">Clone</b> menu item is disabled
+ while a virtual machine is running.
+ </p>
+ </note>
+ <p>
+ The <b outputclass="bold">New Machine Name and Path</b>
+ page is displayed.
+ </p>
+ <fig id="fig-clone-wizard-name-path">
+ <title>Clone Virtual Machine Wizard: New Machine Name and Path</title>
+ <image href="images/clone-vm-1.png" placement="break"/>
+ </fig>
+ <p>
+ The following clone options are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Name:</b> A name for the cloned
+ machine.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Path:</b> Choose a location for
+ the cloned virtual machine, otherwise Oracle VM VirtualBox uses the
+ default machines folder.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">MAC Address Policy:</b> Specifies
+ whether to retain network card MAC addresses when cloning the
+ VM.
+ </p>
+ <p>
+ For example, the <b outputclass="bold">Generate New MAC
+ Addresses For All Network Adapters</b> value assigns a
+ new MAC address to each network card during cloning. This is
+ the default setting. This is the best option when both the
+ source VM and the cloned VM must operate on the same network.
+ Other values enable you to retain the existing MAC addresses
+ in the cloned VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Keep Disk Names:</b> Retains the
+ disk image names when cloning the VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Keep Hardware UUIDs:</b> Retains
+ the hardware universally unique identifiers (UUIDs) when
+ cloning the VM.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Next</b>. The
+ <b outputclass="bold">Clone Type</b> page is displayed.
+ </p>
+ <fig id="fig-clone-wizard-clone-type">
+ <title>Clone Virtual Machine Wizard: Clone Type</title>
+ <image href="images/clone-vm-2.png" placement="break"/>
+ </fig>
+ <p>
+ The <b outputclass="bold">Clone Type</b> option specifies
+ whether to create a clone that is linked to the source VM or to
+ create a fully independent clone:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Full Clone:</b> Copies all
+ dependent disk images to the new VM folder. A full clone can
+ operate fully without the source VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Linked Clone:</b> Creates new
+ differencing disk images based on the source VM disk images.
+ If you select the current state of the source VM as the clone
+ point, Oracle VM VirtualBox creates a new snapshot.
+ </p>
+ </li>
+ </ul>
+ <p>
+ (Optional) Click <b outputclass="bold">Next</b>. The
+ <b outputclass="bold">Snapshots</b> page is displayed.
+ </p>
+ <note>
+ <p>
+ The Snapshots page is only displayed for machines that have
+ snapshots and the selected clone type is
+ <b outputclass="bold">Full Clone</b>.
+ </p>
+ </note>
+ <fig id="fig-clone-wizard-snapshots">
+ <title>Clone Virtual Machine Wizard: Snapshots</title>
+ <image href="images/clone-vm-3.png" placement="break"/>
+ </fig>
+ <p>
+ You use this page to select which parts of the snapshot tree to
+ include in the clone. The available options are as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Current Machine State:</b> Clones
+ the current state of the VM. Snapshots are not included.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Everything:</b> Clones the
+ current machine state and all its snapshots.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Finish</b> to start the clone
+ operation.
+ </p>
+ <p>
+ The duration of the clone operation depends on the size and number
+ of attached disk images. In addition, the clone operation saves
+ all the differencing disk images of a snapshot.
+ </p>
+ <p>
+ You can also use the <userinput>VBoxManage clonevm</userinput> command
+ to clone a VM. See <xref href="man_VBoxManage-clonevm.dita#vboxmanage-clonevm"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloningvdis.dita b/doc/manual/en_US/dita/topics/cloningvdis.dita
new file mode 100644
index 00000000000..eabb2bea5ca
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloningvdis.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloningvdis">
+ <title>Cloning Disk Images</title>
+
+ <body>
+ <p>
+ You can duplicate hard disk image files on the same host to
+ quickly produce a second virtual machine with the same OS setup.
+ However, you should <i>only</i> make copies of
+ virtual disk images using the utility supplied with
+ Oracle VM VirtualBox. See <xref href="man_VBoxManage-clonemedium.dita#vboxmanage-clonemedium"/>.
+ This is because Oracle VM VirtualBox assigns a UUID to each disk image,
+ which is also stored inside the image, and Oracle VM VirtualBox will
+ refuse to work with two images that use the same number. If you do
+ accidentally try to reimport a disk image which you copied
+ normally, you can make a second copy using the <userinput>VBoxManage
+ clonevm</userinput> command and import that instead.
+ </p>
+ <p>
+ Note that Linux distributions identify the boot hard disk from the
+ ID of the drive. The ID Oracle VM VirtualBox reports for a drive is
+ determined from the UUID of the virtual disk image. So if you
+ clone a disk image and try to boot the copied image the guest
+ might not be able to determine its own boot disk as the UUID
+ changed. In this case you have to adapt the disk ID in your boot
+ loader script, for example
+ <filepath>/boot/grub/menu.lst</filepath>. The disk ID looks like
+ the following:
+ </p>
+ <pre xml:space="preserve">scsi-SATA_VBOX_HARDDISK_VB5cfdb1e2-c251e503</pre>
+ <p>
+ The ID for the copied image can be determined as follows:
+ </p>
+ <pre xml:space="preserve">hdparm -i /dev/sda</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-create-api-keypair.dita b/doc/manual/en_US/dita/topics/cloud-create-api-keypair.dita
new file mode 100644
index 00000000000..2ec0790747d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-create-api-keypair.dita
@@ -0,0 +1,72 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-create-api-keypair">
+ <title>Creating an API Signing Key Pair</title>
+
+ <body>
+ <p/>
+ <p>
+ To use the cloud integration features of Oracle VM VirtualBox, you
+ must generate an API signing key pair that is used for API
+ requests to Oracle Cloud Infrastructure.
+ </p>
+ <p>
+ Your API requests are signed with your private key, and Oracle Cloud Infrastructure
+ uses the public key to verify the authenticity of the request.
+ You must upload the public key to the Oracle Cloud Infrastructure Console.
+ </p>
+ <note>
+ <p>
+ This key pair is not the same SSH key that you use to access
+ compute instances on Oracle Cloud Infrastructure.
+ </p>
+ </note>
+ <ol>
+ <li>
+ <p>
+ (Optional) Create a <filepath>.oci</filepath> directory to
+ store the key pair.
+ </p>
+ <pre xml:space="preserve">$ mkdir ~/.oci</pre>
+ <p>
+ The key pair is usually installed in the
+ <filepath>.oci</filepath> folder in your home directory. For
+ example, <filepath>~/.oci</filepath> on a Linux system.
+ </p>
+ </li>
+ <li>
+ <p>
+ Generate the private key.
+ </p>
+ <p>
+ Use the <codeph>openssl</codeph> command.
+ </p>
+ <ul>
+ <li>
+ <p>
+ To generate a private key with a passphrase:
+ </p>
+ <pre xml:space="preserve">$ openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048 </pre>
+ </li>
+ <li>
+ <p>
+ To generate a private key without a passphrase:
+ </p>
+ <pre xml:space="preserve">$ openssl genrsa -out ~/.oci/oci_api_key.pem 2048</pre>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Change permissions for the private key.
+ </p>
+ <pre xml:space="preserve">$ chmod 600 ~/.oci/oci_api_key.pem</pre>
+ <p>
+ Generate the public key.
+ </p>
+ <pre xml:space="preserve">$ openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem</pre>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-create-cloud-profile.dita b/doc/manual/en_US/dita/topics/cloud-create-cloud-profile.dita
new file mode 100644
index 00000000000..2019388b220
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-create-cloud-profile.dita
@@ -0,0 +1,125 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-create-cloud-profile">
+ <title>Creating a Cloud Profile</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox uses a <i>cloud profile</i> to
+ connect to Oracle Cloud Infrastructure. A cloud profile is a text file that contains
+ details of your key files and Oracle Cloud Identifier (OCID)
+ resource identifiers for your cloud account, such as the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Fingerprint of the public
+ key.</b> To obtain the fingerprint, you can use the
+ <userinput>openssl</userinput> command:
+ </p>
+ <pre xml:space="preserve">$ openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c</pre>
+ </li>
+ <li>
+ <p><b outputclass="bold">Location of the private key on the
+ client device.</b> Specify the full path to the
+ private key.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">(Optional) Passphrase for the private
+ key.</b> This is only required if the key is
+ encrypted.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Region</b>. Shown on the Oracle Cloud Infrastructure
+ Console. Click
+ <b outputclass="bold">Administration</b>,
+ <b outputclass="bold">Tenancy Details</b>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Tenancy OCID.</b> Shown on the
+ Oracle Cloud Infrastructure Console. Click
+ <b outputclass="bold">Administration</b>,
+ <b outputclass="bold">Tenancy Details</b>.
+ </p>
+ <p>
+ A link enables you to copy the Tenancy OCID.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Compartment OCID.</b> Shown on
+ the Oracle Cloud Infrastructure Console. Click
+ <b outputclass="bold">Identity</b>,
+ <b outputclass="bold">Compartments</b>.
+ </p>
+ <p>
+ A link enables you to copy the Compartment OCID.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">User OCID.</b> Shown on the
+ Oracle Cloud Infrastructure Console. Click
+ <b outputclass="bold">Profile</b>,
+ <b outputclass="bold">User Settings</b>.
+ </p>
+ <p>
+ A link enables you to copy the User OCID.
+ </p>
+ </li>
+ </ul>
+ <p>
+ You can create a cloud profile in the following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Automatically, by using the <b outputclass="bold">Cloud
+ Profile Manager</b>. See
+ <xref href="cloud-using-cloud-profile-manager.dita#cloud-using-cloud-profile-manager"/>.
+ </p>
+ <p>
+ The Cloud Profile Manager is a VirtualBox Manager tool that enables
+ you to create, edit, and manage cloud profiles for your
+ cloud service accounts.
+ </p>
+ </li>
+ <li>
+ <p>
+ Automatically, by using the <userinput>VBoxManage
+ cloudprofile</userinput> command. See
+ <xref href="man_VBoxManage-cloudprofile.dita#vboxmanage-cloudprofile"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Manually, by creating an <filepath>oci_config</filepath>
+ file in your Oracle VM VirtualBox global configuration directory.
+ For example, this is
+ <filepath>$HOME/.config/VirtualBox/oci_config</filepath> on
+ a Linux host.
+ </p>
+ </li>
+ <li>
+ <p>
+ Manually, by creating a <filepath>config</filepath> file in
+ your Oracle Cloud Infrastructure configuration directory. For example, this is
+ <filepath>$HOME/.oci/config</filepath> on a Linux host.
+ </p>
+ <p>
+ This is the same file that is used by the Oracle Cloud Infrastructure command line
+ interface.
+ </p>
+ <p>
+ Oracle VM VirtualBox automatically uses the
+ <filepath>config</filepath> file if no cloud profile file is
+ present in your global configuration directory.
+ Alternatively, you can import this file manually into the
+ Cloud Profile Manager.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-export-oci-prepare-vm.dita b/doc/manual/en_US/dita/topics/cloud-export-oci-prepare-vm.dita
new file mode 100644
index 00000000000..5881b76bc55
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-export-oci-prepare-vm.dita
@@ -0,0 +1,180 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-export-oci-prepare-vm">
+ <title>Preparing a VM for Export to Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ Oracle Cloud Infrastructure provides the option to import a custom Linux image.
+ Before an Oracle VM VirtualBox image can be exported to Oracle Cloud Infrastructure, the
+ custom image needs to be prepared to ensure that instances
+ launched from the custom image can boot correctly and that
+ network connections will work. This section provides advice on
+ how to prepare a Linux image for export from Oracle VM VirtualBox.
+ </p>
+ <p>
+ The following list shows some tasks to consider when preparing
+ an Oracle Linux VM for export:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Use DHCP for network
+ addresses.</b> Configure the VM to use a DHCP
+ server to allocate network addresses, rather than using a
+ static IP address. The Oracle Cloud Infrastructure instance will then be
+ allocated an IP address automatically.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Do not specify a MAC
+ address.</b> The network interface configuration
+ for the VM must not specify the MAC address.
+ </p>
+ <p>
+ Remove the HWADDR setting from the
+ <filepath>/etc/sysconfig/ifcfg-<varname>devicename</varname></filepath>
+ network script.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Disable persistent network device
+ naming rules.</b> This means that the Oracle Cloud Infrastructure
+ instance will use the same network device names as the VM.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Change the GRUB kernel parameters.
+ </p>
+ <p>
+ Add <codeph>net.ifnames=0</codeph> and
+ <codeph>biosdevname=0</codeph> as kernel parameter
+ values to the <codeph>GRUB_CMDLINE_LINUX</codeph>
+ variable.
+ </p>
+ </li>
+ <li>
+ <p>
+ Update the GRUB configuration.
+ </p>
+ <pre xml:space="preserve"># grub2-mkconfig -o /boot/grub2/grub.cfg</pre>
+ </li>
+ <li>
+ <p>
+ Disable any <codeph>udev</codeph> rules for network
+ device naming.
+ </p>
+ <p>
+ For example, if an automated <codeph>udev</codeph>
+ rule exists for <codeph>net-persistence</codeph>:
+ </p>
+ <pre xml:space="preserve"># cd /etc/udev/rules.d
+# rm -f 70-persistent-net.rules
+# ln -s /dev/null /etc/udev/rules.d/70-persistent-net.rules</pre>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable the serial
+ console.</b> This enables you to troubleshoot the
+ instance when it is running on Oracle Cloud Infrastructure.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Edit the <filepath>/etc/default/grub</filepath> file,
+ as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Remove the <codeph>resume</codeph> setting from
+ the kernel parameters. This setting slows down
+ boot time significantly.
+ </p>
+ </li>
+ <li>
+ <p>
+ Replace <codeph>GRUB_TERMINAL="gfxterm"</codeph>
+ with <codeph>GRUB_TERMINAL="console
+ serial"</codeph>. This configures use of the
+ serial console instead of a graphical terminal.
+ </p>
+ </li>
+ <li>
+ <p>
+ Add <codeph>GRUB_SERIAL_COMMAND="serial --unit=0
+ --speed=115200"</codeph>. This configures the
+ serial connection.
+ </p>
+ </li>
+ <li>
+ <p>
+ Add <codeph>console=tty0
+ console=ttyS0,115200</codeph> to the
+ <codeph>GRUB_CMDLINE_LINUX</codeph> variable.
+ This adds the serial console to the Linux kernel
+ boot parameters.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Regenerate the GRUB configuration.
+ </p>
+ <pre xml:space="preserve"># grub2-mkconfig -o /boot/grub2/grub.cfg</pre>
+ </li>
+ <li>
+ <p>
+ To verify the changes, reboot the machine and run the
+ <userinput>dmesg</userinput> command to look for the
+ updated kernel parameters.
+ </p>
+ <pre xml:space="preserve"># dmesg |grep console=ttyS0</pre>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable paravirtualized device
+ support.</b> You do this by adding the
+ <codeph>virtio</codeph> drivers to the
+ <codeph>initrd</codeph> for the VM.
+ </p>
+ <ol>
+ <li>
+ <p>
+ This procedure works only on machines with a Linux
+ kernel of version 3.4 or later. Check that the VM is
+ running a supported kernel:
+ </p>
+ <pre xml:space="preserve"># uname -a</pre>
+ </li>
+ <li>
+ <p>
+ Use the <codeph>dracut</codeph> tool to rebuild
+ <codeph>initrd</codeph>. Add the
+ <codeph>qemu</codeph> module, as follows:
+ </p>
+ <pre xml:space="preserve"># dracut –-logfile /var/log/Dracut.log --force --add qemu</pre>
+ </li>
+ <li>
+ <p>
+ Verify that the <codeph>virtio</codeph> drivers are
+ now present in <codeph>initrd</codeph>.
+ </p>
+ <pre xml:space="preserve"> # lsinitrd |grep virtio</pre>
+ </li>
+ </ol>
+ </li>
+ </ul>
+ <p>
+ For more information about importing a custom Linux image into
+ Oracle Cloud Infrastructure, see also:
+ </p>
+ <p>
+ <ph>https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/importingcustomimagelinux.htm</ph>
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-export-oci.dita b/doc/manual/en_US/dita/topics/cloud-export-oci.dita
new file mode 100644
index 00000000000..22f5094e154
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-export-oci.dita
@@ -0,0 +1,151 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-export-oci">
+ <title>Exporting an Appliance to Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports the export of VMs to an Oracle Cloud Infrastructure service.
+ The exported VM is stored on Oracle Cloud Infrastructure as a custom Linux image. You
+ can configure whether a cloud instance is created and started
+ after the export process has completed.
+ </p>
+ <note>
+ <p>
+ Before you export a VM to Oracle Cloud Infrastructure, you must prepare the VM as
+ described in <xref href="cloud-export-oci-prepare-vm.dita#cloud-export-oci-prepare-vm"/>.
+ </p>
+ </note>
+ <p>
+ Use the following steps to export a VM to Oracle Cloud Infrastructure:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Select <b outputclass="bold">File</b>,
+ <b outputclass="bold">Export Appliance</b> to open
+ the <b outputclass="bold">Export Virtual
+ Appliance</b> wizard.
+ </p>
+ <p>
+ Select a VM to export and click
+ <b outputclass="bold">Next</b> to display the
+ <b outputclass="bold">Format Settings</b> page.
+ </p>
+ </li>
+ <li>
+ <p>
+ From the <b outputclass="bold">Format</b> drop-down
+ list, select <b outputclass="bold">Oracle Cloud Infrastructure</b>.
+ </p>
+ <p>
+ In the <b outputclass="bold">Profile</b> drop-down
+ list, select the cloud profile used for your Oracle Cloud Infrastructure account.
+ </p>
+ <fig id="fig-export-appliance-oci">
+ <title>Export Virtual Appliance Wizard: Format Settings</title>
+ <image href="images/export-appliance-oci.png" placement="break"/>
+ </fig>
+ <p>
+ In the <b outputclass="bold">Machine Creation</b>
+ field, select an option to configure settings for the cloud
+ instance created when you export to Oracle Cloud Infrastructure. The options
+ enable you to do one of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Configure settings for the cloud instance
+ <i>after</i> you have finished exporting
+ the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Configure settings for the cloud instance
+ <i>before</i> you start to export the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Do not create a cloud instance when you export the VM.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Next</b> to make an API
+ request to the Oracle Cloud Infrastructure service and open the
+ <b outputclass="bold">Appliance Settings</b> page.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Edit storage settings used for the exported
+ virtual machine in Oracle Cloud Infrastructure. You can change the following
+ settings:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The name of the bucket used to store the exported files.
+ </p>
+ </li>
+ <li>
+ <p>
+ Whether to store the custom image in Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ <li>
+ <p>
+ The display name for the custom image in Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ <li>
+ <p>
+ The launch mode for the custom image.
+ </p>
+ <p><b outputclass="bold">Paravirtualized</b> mode
+ gives improved performance and should be suitable for
+ most Oracle VM VirtualBox VMs.
+ </p>
+ <p><b outputclass="bold">Emulated</b> mode is
+ suitable for legacy OS images.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Finish</b> to continue.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Depending on the selection in the
+ <b outputclass="bold">Machine Creation</b> field, the
+ <b outputclass="bold">Appliance Settings</b> page may
+ be displayed before or after export. This screen enables you
+ to configure settings for the cloud instance, such as Shape
+ and Disk Size.
+ </p>
+ <p>
+ Click <b outputclass="bold">Finish</b>. The VM is
+ exported to Oracle Cloud Infrastructure.
+ </p>
+ <p>
+ Depending on the <b outputclass="bold">Machine
+ Creation</b> setting, a cloud instance may be started
+ after upload to Oracle Cloud Infrastructure is completed.
+ </p>
+ </li>
+ <li>
+ <p>
+ Monitor the export process by using the Oracle Cloud Infrastructure Console.
+ </p>
+ </li>
+ </ol>
+ <p>
+ You can also use the <userinput>VBoxManage export</userinput>
+ command to export a VM to Oracle Cloud Infrastructure. See
+ <xref href="man_VBoxManage-export.dita"/>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-import-oci.dita b/doc/manual/en_US/dita/topics/cloud-import-oci.dita
new file mode 100644
index 00000000000..911a3cf6f1a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-import-oci.dita
@@ -0,0 +1,65 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-import-oci">
+ <title>Importing an Instance from Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ Perform the following steps to import a cloud instance from
+ Oracle Cloud Infrastructure into Oracle VM VirtualBox:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Select <b outputclass="bold">File</b>,
+ <b outputclass="bold">Import Appliance</b> to open
+ the <b outputclass="bold">Import Virtual
+ Appliance</b> wizard.
+ </p>
+ <p>
+ In the <b outputclass="bold">Source</b> drop-down
+ list, select <b outputclass="bold">Oracle Cloud Infrastructure</b>.
+ </p>
+ <p>
+ In the <b outputclass="bold">Profile</b> drop-down
+ list, select the cloud profile for your Oracle Cloud Infrastructure account.
+ </p>
+ <p>
+ Choose the required cloud instance from the list in the
+ <b outputclass="bold">Machines</b> field.
+ </p>
+ <p>
+ Click <b outputclass="bold">Next</b> to make an API
+ request to the Oracle Cloud Infrastructure service and display the
+ <b outputclass="bold">Appliance Settings</b> page.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Edit settings for the new local virtual machine.
+ </p>
+ <p>
+ For example, you can edit the VM name and description.
+ </p>
+ <fig id="fig-import-instance-oci">
+ <title>Import Cloud Instance Wizard: Appliance Settings</title>
+ <image href="images/import-instance.png" placement="break"/>
+ </fig>
+ <p>
+ Click <b outputclass="bold">Finish</b> to import the
+ instance from Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ <li>
+ <p>
+ Monitor the import process by using the Oracle Cloud Infrastructure Console.
+ </p>
+ </li>
+ </ol>
+ <p>
+ You can also use the <userinput>VBoxManage import</userinput>
+ command to import an instance from Oracle Cloud Infrastructure. See
+ <xref href="man_VBoxManage-import.dita"/>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-integration-steps.dita b/doc/manual/en_US/dita/topics/cloud-integration-steps.dita
new file mode 100644
index 00000000000..9dd8db74bf4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-integration-steps.dita
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-integration-steps">
+ <title>Preparing for Oracle Cloud Infrastructure Integration</title>
+
+ <body>
+ <p>
+ Perform the following configuration steps before using
+ Oracle VM VirtualBox to integrate with your Oracle Cloud Infrastructure account.
+ </p>
+ <ol>
+ <li>
+ <p><b outputclass="bold">Install the Extension Pack.</b>
+ Cloud integration features are only available when you
+ install the Oracle VM VirtualBox Extension Pack. See
+ <xref href="intro-installing.dita#intro-installing"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Create a key pair.</b> Generate
+ an API signing key pair that is used for API requests to
+ Oracle Cloud Infrastructure. See <xref href="cloud-create-api-keypair.dita#cloud-create-api-keypair"/>.
+ </p>
+ <p>
+ Upload the public key of the key pair from your client
+ device to the cloud service. See
+ <xref href="cloud-upload-public-key.dita#cloud-upload-public-key"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Create a cloud profile.</b> The
+ cloud profile contains resource identifiers for your cloud
+ account, such as your user OCID, and details of your key
+ pair. See <xref href="cloud-create-cloud-profile.dita#cloud-create-cloud-profile"/>.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-integration.dita b/doc/manual/en_US/dita/topics/cloud-integration.dita
new file mode 100644
index 00000000000..e3e745ca96c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-integration.dita
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-integration">
+ <title>Integrating with Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ This section describes how to use the features of Oracle VM VirtualBox
+ to integrate with Oracle Cloud Infrastructure.
+ </p>
+ <p>
+ Integrating with Oracle Cloud Infrastructure involves the following steps:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Prepare for Oracle Cloud Infrastructure
+ Integration.</b> Before using Oracle VM VirtualBox with Oracle Cloud Infrastructure
+ there are some initial configuration steps you may need to do.
+ See <xref href="cloud-integration-steps.dita#cloud-integration-steps"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Use Oracle VM VirtualBox with
+ Oracle Cloud Infrastructure.</b><xref href="cloud-vbox-oci-tasks.dita#cloud-vbox-oci-tasks"/>
+ describes how you can use Oracle VM VirtualBox with Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-upload-public-key.dita b/doc/manual/en_US/dita/topics/cloud-upload-public-key.dita
new file mode 100644
index 00000000000..f9c7baa3eba
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-upload-public-key.dita
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-upload-public-key">
+ <title>Uploading the Public Key to Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ Use the following steps to upload your public key to Oracle Cloud Infrastructure.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Log in to the Oracle Cloud Infrastructure Console.
+ </p>
+ </li>
+ <li>
+ <p>
+ Display the <b outputclass="bold">User Settings</b>
+ page.
+ </p>
+ <p>
+ Click <b outputclass="bold">Profile</b>,
+ <b outputclass="bold">User Settings</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Display your current API signing keys.
+ </p>
+ <p>
+ Click <b outputclass="bold">Resources</b>,
+ <b outputclass="bold">API Keys</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Upload the public key.
+ </p>
+ <p>
+ Click <b outputclass="bold">Add Public Key</b>.
+ </p>
+ <p>
+ The <b outputclass="bold">Add Public Key</b> dialog
+ is displayed.
+ </p>
+ <fig id="fig-upload-key-oci">
+ <title>Upload Public Key Dialog in Oracle Cloud Infrastructure Console</title>
+ <image href="images/upload-key.png" placement="break"/>
+ </fig>
+ <p>
+ Select one of the following options:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Choose Public Key File.</b>
+ This option enables you to browse to the public key file
+ on your local hard disk.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Paste Public Keys.</b> This
+ option enables you to paste the contents of the public
+ key file into the window in the dialog box.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Add</b> to upload the
+ public key.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-using-cli.dita b/doc/manual/en_US/dita/topics/cloud-using-cli.dita
new file mode 100644
index 00000000000..a793197e7c4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-using-cli.dita
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-using-cli">
+ <title>Using VBoxManage Commands With Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ This section includes some examples of how
+ <userinput>VBoxManage</userinput> commands can be used to integrate
+ with Oracle Cloud Infrastructure and perform common cloud operations.
+ </p>
+ <p>
+ <b outputclass="bold">Creating a Cloud Profile</b>
+ </p>
+ <p>
+ To create a cloud profile called <codeph>vbox-oci</codeph>:
+ </p>
+ <pre xml:space="preserve">VBoxManage cloudprofile --provider "OCI" --profile="vbox-oci" add \
+--clouduser="ocid1.user.oc1..." --keyfile="/home/username/.oci/oci_api_key.pem" \
+--tenancy="ocid1.tenancy.oc1..." --compartment="ocid1.compartment.oc1..." --region="us-ashburn-1"
+</pre>
+ <p>
+ The new cloud profile is added to the
+ <filepath>oci_config</filepath> file in your Oracle VM VirtualBox
+ global configuration directory. For example, this is
+ <filepath>$HOME/.VirtualBox/oci_config</filepath> on a Windows
+ host.
+ </p>
+ <p>
+ <b outputclass="bold">Listing Cloud Instances</b>
+ </p>
+ <p>
+ To list the instances in your Oracle Cloud Infrastructure compartment:
+ </p>
+ <pre xml:space="preserve">VBoxManage cloud --provider="OCI" --profile="vbox-oci" list instances
+</pre>
+ <p>
+ <b outputclass="bold">Exporting an Oracle VM VirtualBox VM to the
+ Cloud</b>
+ </p>
+ <p>
+ To export a VM called <codeph>myVM</codeph> and create a cloud
+ instance called <codeph>myVM_Cloud</codeph>:
+ </p>
+ <pre xml:space="preserve">VBoxManage export myVM --output OCI:// --cloud 0 --vmname myVM_Cloud \
+--cloudprofile "vbox-oci" --cloudbucket myBucket \
+--cloudshape VM.Standard2.1 --clouddomain US-ASHBURN-AD-1 --clouddisksize 50 \
+--cloudocivcn ocid1.vcn.oc1... --cloudocisubnet ocid1.subnet.oc1... \
+--cloudkeepobject true --cloudlaunchinstance true --cloudpublicip true
+ </pre>
+ <p>
+ <b outputclass="bold">Importing a Cloud Instance Into
+ Oracle VM VirtualBox</b>
+ </p>
+ <p>
+ To import a cloud instance and create an Oracle VM VirtualBox VM
+ called <codeph>oci_Import</codeph>:
+ </p>
+ <pre xml:space="preserve">VBoxManage import OCI:// --cloud --vmname oci_Import --memory 4000
+--cpus 3 --ostype FreeBSD_64 --cloudprofile "vbox-oci"
+--cloudinstanceid ocid1.instance.oc1... --cloudbucket myBucket
+ </pre>
+ <p>
+ <b outputclass="bold">Creating a New Cloud Instance From a
+ Custom Image</b>
+ </p>
+ <p>
+ To create a new cloud instance from a custom image on Oracle Cloud Infrastructure:
+ </p>
+ <pre xml:space="preserve">VBoxManage cloud --provider="OCI" --profile="vbox-oci" instance create \
+--domain-name="oraclecloud.com" --image-id="ocid1.image.oc1..." --display-name="myInstance" \
+--shape="VM.Standard2.1" --subnet="ocid1.subnet.oc1..."</pre>
+ <p>
+ <b outputclass="bold">Terminating a Cloud Instance</b>
+ </p>
+ <p>
+ To terminate an instance in your compartment on Oracle Cloud Infrastructure:
+ </p>
+ <pre xml:space="preserve">VBoxManage cloud --provider="OCI" --profile="vbox-oci" instance terminate \
+--id="ocid1.instance.oc1..." </pre>
+ <p>
+ For more details about the available commands for cloud
+ operations, see <xref href="man_VBoxManage-cloud.dita#vboxmanage-cloud"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-using-cloud-networks.dita b/doc/manual/en_US/dita/topics/cloud-using-cloud-networks.dita
new file mode 100644
index 00000000000..3fdcc31196a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-using-cloud-networks.dita
@@ -0,0 +1,77 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-using-cloud-networks">
+ <title>Using a Cloud Network</title>
+
+ <body>
+ <p>
+ A cloud network is a type of network that can be used for
+ connections from a local VM to a remote Oracle Cloud Infrastructure cloud instance.
+ </p>
+ <p>
+ To create and use a cloud network, do the following:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Set up a virtual cloud network on Oracle Cloud Infrastructure.
+ </p>
+ <p>
+ The following steps create and configure a virtual cloud
+ network (VCN) on Oracle Cloud Infrastructure. The VCN is used to tunnel network
+ traffic across the cloud.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Ensure that you have a cloud profile for connecting to
+ Oracle Cloud Infrastructure. See <xref href="cloud-create-cloud-profile.dita#cloud-create-cloud-profile"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Run the following <userinput>VBoxManage cloud</userinput>
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage cloud --provider="OCI" --profile="vbox-oci" network setup</pre>
+ <p>
+ where <codeph>vbox-oci</codeph> is the name of your
+ cloud profile.
+ </p>
+ <p>
+ Other options are available for the <userinput>VBoxManage
+ cloud network setup</userinput> command, to enable you to
+ configure details for the VCN. For example, you can
+ configure the operating system used for the cloud
+ gateway instance and the IP address range used by the
+ tunneling network. See
+ <xref href="man_VBoxManage-cloud.dita#vboxmanage-cloud"/>.
+ </p>
+ <p>
+ For best results, use an Oracle Linux 7 instance for the
+ cloud gateway. This is the default option.
+ </p>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <p>
+ Register the new cloud network with Oracle VM VirtualBox.
+ </p>
+ <p>
+ Use the <b outputclass="bold">Cloud Networks</b> tab
+ in the <b outputclass="bold">Network Manager</b>
+ tool. See
+ <xref href="network-manager-cloud-network-tab.dita#network-manager-cloud-network-tab"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Add cloud network adaptors to the local VMs that will use
+ the cloud network. See <xref href="network_cloud.dita#network_cloud"/>.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-using-cloud-profile-manager.dita b/doc/manual/en_US/dita/topics/cloud-using-cloud-profile-manager.dita
new file mode 100644
index 00000000000..579ecb5ca35
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-using-cloud-profile-manager.dita
@@ -0,0 +1,168 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-using-cloud-profile-manager">
+ <title>Using the Cloud Profile Manager</title>
+
+ <body>
+ <p>
+ This section describes how to use the Cloud Profile Manager to
+ create a cloud profile.
+ </p>
+ <p>
+ To open the Cloud Profile Manager click
+ <b outputclass="bold">File</b>,
+ <b outputclass="bold">Cloud Profile Manager</b> in
+ VirtualBox Manager.
+ </p>
+ <fig id="fig-cloud-profile-manager">
+ <title>The Cloud Profile Manager</title>
+ <image href="images/cloud-profile-manager.png" placement="break"/>
+ </fig>
+ <p>
+ You can use the Cloud Profile Manager in the following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ To create a new cloud profile automatically
+ </p>
+ </li>
+ <li>
+ <p>
+ To create a cloud profile by importing settings from your
+ Oracle Cloud Infrastructure configuration file.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Perform the following steps to create a new cloud profile
+ automatically, using the Cloud Profile Manager:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Click the <b outputclass="bold">Add</b> icon and
+ specify a <b outputclass="bold">Name</b> for the
+ profile.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Properties</b> and
+ specify the following property values for the profile:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Compartment OCID
+ </p>
+ </li>
+ <li>
+ <p>
+ Fingerprint of the public key
+ </p>
+ </li>
+ <li>
+ <p>
+ Location of the private key on the client device
+ </p>
+ </li>
+ <li>
+ <p>
+ Region OCID
+ </p>
+ </li>
+ <li>
+ <p>
+ Tenancy OCID
+ </p>
+ </li>
+ <li>
+ <p>
+ User OCID
+ </p>
+ </li>
+ </ul>
+ <p>
+ Some of these are settings for your Oracle Cloud Infrastructure account, which you
+ can view from the Oracle Cloud Infrastructure Console.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) If you are using the cloud profile to connect to
+ cloud virtual machines, select the
+ <b outputclass="bold">Show VMs</b> check box.
+ </p>
+ <p>
+ This creates a new subgroup of the
+ <b outputclass="bold">OCI</b> group in VirtualBox Manager.
+ See <xref href="cloud-vm-oci-group.dita#cloud-vm-oci-group"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Apply</b> to save your
+ changes.
+ </p>
+ <p>
+ The cloud profile settings are saved to the
+ <filepath>oci_config</filepath> file in your Oracle VM VirtualBox
+ global settings directory.
+ </p>
+ </li>
+ </ol>
+ <p>
+ Perform the following steps to import an existing Oracle Cloud Infrastructure
+ configuration file into the Cloud Profile Manager:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Ensure that a <filepath>config</filepath> file is present in
+ your Oracle Cloud Infrastructure configuration directory. For example, this is
+ <filepath>$HOME/.oci/config</filepath> on a Linux host.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click the <b outputclass="bold">Import</b> icon to
+ open a dialog that prompts you to import cloud profiles from
+ external files.
+ </p>
+ <note type="attention">
+ <p>
+ This action overwrites any cloud profiles that are in your
+ Oracle VM VirtualBox global settings directory.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Import</b>.
+ </p>
+ <p>
+ Your cloud profile settings are saved to the
+ <filepath>oci_config</filepath> file in your Oracle VM VirtualBox
+ global settings directory.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Properties</b> to show
+ the cloud profile settings.
+ </p>
+ <p>
+ Double-click on the appropriate field to change the value.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Apply</b> to save your
+ changes.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vbox-oci-tasks.dita b/doc/manual/en_US/dita/topics/cloud-vbox-oci-tasks.dita
new file mode 100644
index 00000000000..26667fc511e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vbox-oci-tasks.dita
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vbox-oci-tasks">
+ <title>Using Oracle VM VirtualBox With Oracle Cloud Infrastructure</title>
+
+ <body>
+ <p>
+ This section describes how you can use Oracle VM VirtualBox with Oracle Cloud Infrastructure
+ to do the following tasks:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Create, add, and manage Oracle Cloud Infrastructure cloud instances using
+ VirtualBox Manager. See <xref href="cloud-vm.dita#cloud-vm"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Export an Oracle VM VirtualBox VM to Oracle Cloud Infrastructure. See
+ <xref href="cloud-export-oci.dita#cloud-export-oci"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Import a cloud instance into Oracle VM VirtualBox. See
+ <xref href="cloud-import-oci.dita#cloud-import-oci"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Connect from a local VM to an Oracle Cloud Infrastructure cloud subnet. See
+ <xref href="cloud-using-cloud-networks.dita#cloud-using-cloud-networks"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the <userinput>VBoxManage</userinput> commands to integrate
+ with Oracle Cloud Infrastructure and perform cloud operations. See
+ <xref href="cloud-using-cli.dita#cloud-using-cli"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-add.dita b/doc/manual/en_US/dita/topics/cloud-vm-add.dita
new file mode 100644
index 00000000000..3e9dabcd2d8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-add.dita
@@ -0,0 +1,90 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-add">
+ <title>Adding a Cloud VM</title>
+
+ <body>
+ <p>
+ When you add a cloud VM, an <i>existing</i>
+ Oracle Cloud Infrastructure instance is associated with the cloud VM. You can only
+ add one cloud VM for each instance.
+ </p>
+ <p>
+ Perform the following steps to add a cloud VM:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Click on a cloud profile in the
+ <b outputclass="bold">OCI</b> group.
+ </p>
+ <p>
+ The cloud VMs for the selected cloud profile are
+ displayed.
+ </p>
+ </li>
+ <li>
+ <p>
+ Select <b outputclass="bold">Group</b>,
+ <b outputclass="bold">Add Machine</b>.
+ </p>
+ <p>
+ The <b outputclass="bold">Add Cloud Virtual
+ Machine</b> wizard is displayed.
+ </p>
+ <fig id="fig-cloudvm-add">
+ <title>Add Cloud Virtual Machine Wizard</title>
+ <image href="images/cloudvm-add.png" placement="break"/>
+ </fig>
+ </li>
+ <li>
+ <p>
+ Configure the following settings:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Source:</b> The cloud
+ service provider that hosts the instance used for the
+ cloud VM. Select
+ <b outputclass="bold">Oracle Cloud Infrastructure</b>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Profile:</b> The cloud
+ profile used to connect to the running instance.
+ Select from the available cloud profiles.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Instances:</b> The
+ instance to use for the cloud VM. Choose from the
+ available instances on your cloud service.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Finish</b> to add a
+ cloud VM based on the selected instance.
+ </p>
+ <p>
+ A cloud VM with the same name as the instance is added to
+ the <b outputclass="bold">OCI</b> group in
+ VirtualBox Manager.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) To change the display name for the instance,
+ click <b outputclass="bold">Settings</b> and edit
+ the <b outputclass="bold">Display Name</b> field.
+ </p>
+ <p>
+ The cloud VM name in VirtualBox Manager is updated automatically.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-control.dita b/doc/manual/en_US/dita/topics/cloud-vm-control.dita
new file mode 100644
index 00000000000..8d0fea13079
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-control.dita
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-control">
+ <title>Controlling a Cloud VM</title>
+
+ <body>
+ <p>
+ You can use VirtualBox Manager to control a cloud VM as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Start.</b> Use the
+ <b outputclass="bold">Start</b> button in the
+ VirtualBox Manager toolbar.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Stop.</b> Right-click on the
+ cloud VM name, to display the
+ <b outputclass="bold">Close</b> menu. Options to
+ shut down and power off the cloud VM are available.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Terminate.</b> Use the
+ <b outputclass="bold">Terminate</b> button in the
+ VirtualBox Manager toolbar.
+ </p>
+ <note type="caution">
+ <p>
+ This action deletes the instance from Oracle Cloud Infrastructure.
+ </p>
+ </note>
+ </li>
+ </ul>
+ <p>
+ When you control a cloud VM in VirtualBox Manager the machine list is
+ updated automatically with the current instance state, such as
+ <b outputclass="bold">Stopped</b> or
+ <b outputclass="bold">Running</b>.
+ </p>
+ <p>
+ When you control an instance using the Oracle Cloud Infrastructure console,
+ VirtualBox Manager updates the status for the corresponding cloud VM
+ automatically.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-instance-console.dita b/doc/manual/en_US/dita/topics/cloud-vm-instance-console.dita
new file mode 100644
index 00000000000..a511b779a91
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-instance-console.dita
@@ -0,0 +1,54 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-instance-console">
+ <title>Creating an Instance Console Connection for a Cloud VM</title>
+
+ <body>
+ <p>
+ To create a instance console connection, the cloud VM must be
+ in <b outputclass="bold">Running</b> state.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Right-click on the cloud VM name and select
+ <b outputclass="bold">Console</b>,
+ <b outputclass="bold">Create Connection</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ The <b outputclass="bold">Public Key</b> dialog is
+ displayed. Paste the public key used for the instance
+ connection into the dialog and click
+ <b outputclass="bold">OK</b>.
+ </p>
+ <p>
+ By default, either the first entry in your SSH keys folder
+ or the public key used for your previous instance console
+ connection is used.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Connect</b> to connect
+ to the instance. An instance console is displayed
+ automatically on the host.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Click <b outputclass="bold">Show Log</b>
+ to display log messages for the instance console
+ connection.
+ </p>
+ </li>
+ </ol>
+ <p>
+ See the Oracle Cloud Infrastructure documentation for details about how you can use
+ an instance console connection to troubleshoot instance
+ problems.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-new.dita b/doc/manual/en_US/dita/topics/cloud-vm-new.dita
new file mode 100644
index 00000000000..e2eb9e71258
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-new.dita
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-new">
+ <title>Creating a New Cloud VM</title>
+
+ <body>
+ <p>
+ When you create a new cloud VM, a <i>new</i>
+ Oracle Cloud Infrastructure instance is created and associated with the cloud VM.
+ </p>
+ <p>
+ Perform the following steps to create a new cloud VM:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Click on a cloud profile in the
+ <b outputclass="bold">OCI</b> group.
+ </p>
+ <p>
+ The cloud VMs for the selected cloud profile are
+ displayed.
+ </p>
+ </li>
+ <li>
+ <p>
+ Select <b outputclass="bold">Group</b>,
+ <b outputclass="bold">New Machine</b>.
+ </p>
+ <p>
+ The <b outputclass="bold">Create Cloud Virtual
+ Machine</b> wizard is displayed.
+ </p>
+ <fig id="fig-cloudvm-new">
+ <title>Create Cloud Virtual Machine Wizard</title>
+ <image href="images/cloudvm-new.png" placement="break"/>
+ </fig>
+ </li>
+ <li>
+ <p>
+ On the initial page, configure the following settings for
+ the new cloud VM:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Location:</b> The cloud
+ service provider that will host the new instance.
+ Select <b outputclass="bold">Oracle Cloud Infrastructure</b>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Profile:</b> The cloud
+ profile used to connect to the new instance. Select
+ from the available cloud profiles.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Source:</b> The image
+ that the new instance is based on. Choose from the
+ available images and boot volumes.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Next</b> to display the
+ <b outputclass="bold">Cloud Virtual Machine
+ Settings</b> page.
+ </p>
+ <p>
+ You can use this page to change the default settings for
+ the new Oracle Cloud Infrastructure instance, such as the display name, shape,
+ and networking configuration.
+ </p>
+ <p>
+ To add an SSH key to the instance, click the
+ <b outputclass="bold">SSH Authorised Keys</b> field
+ and paste the public key into the displayed dialog.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Finish</b> to create a
+ new Oracle Cloud Infrastructure instance using the selected image or boot
+ volume. The new instance is started automatically.
+ </p>
+ <p>
+ The new cloud VM is shown in the
+ <b outputclass="bold">OCI</b> group in VirtualBox Manager.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-oci-group.dita b/doc/manual/en_US/dita/topics/cloud-vm-oci-group.dita
new file mode 100644
index 00000000000..d5bd5d3bc47
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-oci-group.dita
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-oci-group">
+ <title>About the OCI VM Group</title>
+
+ <body>
+ <p>
+ All cloud VMs are shown in the machine list in VirtualBox Manager, in
+ a special VM group called
+ <b outputclass="bold">OCI</b>.
+ </p>
+ <p>
+ Cloud VMs are further grouped according to the cloud profile
+ used to connect to them. The cloud profile identifies the user
+ and compartment for the cloud VM and includes details of the
+ key pair used to connect to cloud instances. See
+ <xref href="cloud-create-cloud-profile.dita#cloud-create-cloud-profile"/>.
+ </p>
+ <fig id="fig-cloud-vm-oci-group">
+ <title>OCI Group, Containing Cloud VMs</title>
+ <image href="images/cloudvm-oci-group.png" placement="break"/>
+ </fig>
+ <p>
+ All cloud profiles registered with Oracle VM VirtualBox are listed
+ automatically in the OCI group.
+ </p>
+ <p>
+ To enable or disable listing of cloud VMs in VirtualBox Manager for a
+ specific cloud profile, do the following:
+ </p>
+ <p>
+ Display the <b outputclass="bold">Cloud Profile
+ Manager</b> and select or deselect the
+ <b outputclass="bold">List VMs</b> check box for each
+ cloud profile.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-remove.dita b/doc/manual/en_US/dita/topics/cloud-vm-remove.dita
new file mode 100644
index 00000000000..29195d231d3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-remove.dita
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-remove">
+ <title>Removing a Cloud VM</title>
+
+ <body>
+ <p>
+ You can use VirtualBox Manager to remove a cloud VM as follows:
+ </p>
+ <p>
+ Right-click on the cloud VM name and select
+ <b outputclass="bold">Remove</b>.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click <b outputclass="bold">Remove Only</b> to
+ remove the cloud VM from the machine list in VirtualBox
+ Manager.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Delete Everything</b>
+ to remove the cloud VM from VirtualBox Manager and also to delete
+ the Oracle Cloud Infrastructure instance and any associated boot volumes.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm-settings.dita b/doc/manual/en_US/dita/topics/cloud-vm-settings.dita
new file mode 100644
index 00000000000..0d87b842b6d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm-settings.dita
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm-settings">
+ <title>Changing Settings for a Cloud VM</title>
+
+ <body>
+ <p>
+ Select the cloud VM in VirtualBox Manager and click
+ <b outputclass="bold">Settings</b>.
+ </p>
+ <ul>
+ <li>
+ <p>
+ For a <i>new</i> cloud VM, you can change
+ many settings for the Oracle Cloud Infrastructure instance, such as the display
+ name, shape, and disk size.
+ </p>
+ </li>
+ <li>
+ <p>
+ When you <i>add</i> a cloud VM based on an
+ existing Oracle Cloud Infrastructure instance you can only change the display
+ name.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cloud-vm.dita b/doc/manual/en_US/dita/topics/cloud-vm.dita
new file mode 100644
index 00000000000..7e29cec62f9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cloud-vm.dita
@@ -0,0 +1,63 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cloud-vm">
+ <title>Using Cloud Virtual Machines</title>
+
+ <body>
+ <p>
+ A cloud virtual machine (<i>cloud VM</i>) is a
+ type of VM that represents an instance on a cloud service. Cloud
+ VMs are shown in the machine list in VirtualBox Manager, in the same way
+ as local VMs are.
+ </p>
+ <p>
+ By using cloud VMs you can create, manage, and control your
+ Oracle Cloud Infrastructure instances from VirtualBox Manager.
+ </p>
+ <note>
+ <p>
+ Cloud VMs do not install, export, or import instances to the
+ Oracle VM VirtualBox host. All operations are done remotely on the
+ cloud service.
+ </p>
+ </note>
+ <fig id="fig-cloud-vm-overview">
+ <title>Cloud VMs, Shown in VirtualBox Manager</title>
+ <image href="images/cloudvm-overview.png" placement="break"/>
+ </fig>
+ <p>
+ Cloud VMs can be used to do the following tasks in Oracle Cloud Infrastructure:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Create a new Oracle Cloud Infrastructure
+ instance.</b> See <xref href="cloud-vm-new.dita#cloud-vm-new"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold"> Use an existing Oracle Cloud Infrastructure
+ instance.</b> See <xref href="cloud-vm-add.dita#cloud-vm-add"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Configure an Oracle Cloud Infrastructure
+ instance.</b> You can change settings for the
+ instance, such as display name and shape. See
+ <xref href="cloud-vm-settings.dita#cloud-vm-settings"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Control an Oracle Cloud Infrastructure instance.</b>
+ Stop, start, and terminate the instance. See
+ <xref href="cloud-vm-control.dita#cloud-vm-control"/>
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Create a console connection to an
+ Oracle Cloud Infrastructure instance</b>. See
+ <xref href="cloud-vm-instance-console.dita#cloud-vm-instance-console"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/collect-debug-info.dita b/doc/manual/en_US/dita/topics/collect-debug-info.dita
new file mode 100644
index 00000000000..6a64f03b207
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/collect-debug-info.dita
@@ -0,0 +1,85 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="collect-debug-info">
+ <title>Collecting Debugging Information</title>
+
+ <body>
+ <p>
+ For problem determination, it is often important to collect
+ debugging information which can be analyzed by Oracle VM VirtualBox
+ support. This section contains information about what kind of
+ information can be obtained.
+ </p>
+ <p>
+ Every time Oracle VM VirtualBox starts up a VM, a so-called
+ <i>release log file</i> is created, containing
+ lots of information about the VM configuration and runtime
+ events. The log file is called <filepath>VBox.log</filepath> and
+ resides in the VM log file folder, which is
+ <filepath>$HOME/VirtualBox
+ VMs/<varname>VM-name</varname>/Logs</filepath> by
+ default.
+ </p>
+ <p>
+ When starting a VM, the configuration file of the last run will
+ be renamed to <filepath>.1</filepath>, up to
+ <filepath>.3</filepath>. Sometimes when there is a problem, it
+ is useful to have a look at the logs. Also when requesting
+ support for Oracle VM VirtualBox, supplying the corresponding log file
+ is mandatory.
+ </p>
+ <p>
+ For convenience, for each virtual machine, VirtualBox Manager can show
+ these logs in a window. Select a virtual machine from the
+ machine list on the left and click
+ <b outputclass="bold">Logs</b> in the machine tools menu.
+ </p>
+ <p>
+ The release log file, <filepath>VBox.log</filepath>, contains a
+ wealth of diagnostic information, such as Host OS type and
+ version, Oracle VM VirtualBox version and build. It also includes a
+ complete dump of the guest's configuration (CFGM), detailed
+ information about the host CPU type and supported features,
+ whether hardware virtualization is enabled, information about
+ VT-x/AMD-V setup, state transitions (such as creating, running,
+ paused, stopping), guest BIOS messages, Guest Additions
+ messages, device-specific log entries and, at the end of
+ execution, final guest state and condensed statistics.
+ </p>
+ <p>
+ In case of crashes, it is very important to collect
+ <i>crash dumps</i>. This is true for both host and
+ guest crashes. For information about enabling core dumps on
+ Linux, Oracle Solaris, and macOS systems, refer to the following
+ core dump article on the Oracle VM VirtualBox website:
+ </p>
+ <p><ph>http://www.virtualbox.org/wiki/Core_dump</ph>.
+ </p>
+ <p>
+ You can also use <userinput>VBoxManage debugvm</userinput> to create
+ a dump of a complete virtual machine. See
+ <xref href="man_VBoxManage-debugvm.dita">VBoxManage debugvm</xref>.
+ </p>
+ <p>
+ For network related problems, it is often helpful to capture a
+ trace of network traffic. If the traffic is routed through an
+ adapter on the host, it is possible to use Wireshark or a
+ similar tool to capture the traffic there. However, this often
+ also includes a lot of traffic unrelated to the VM.
+ </p>
+ <p>
+ Oracle VM VirtualBox provides an ability to capture network traffic
+ only on a specific VM's network adapter. Refer to the following
+ network tracing article on the Oracle VM VirtualBox website for
+ information on enabling this capture:
+ </p>
+ <p><ph>http://www.virtualbox.org/wiki/Network_tips</ph>.
+ </p>
+ <p>
+ The trace files created by Oracle VM VirtualBox are in
+ <filepath>.pcap</filepath> format and can be easily analyzed
+ with Wireshark.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/config-vm-selector-menu.dita b/doc/manual/en_US/dita/topics/config-vm-selector-menu.dita
new file mode 100644
index 00000000000..da3613fb83f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/config-vm-selector-menu.dita
@@ -0,0 +1,112 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="config-vm-selector-menu">
+ <title>Configure VM Selector Menu Entries</title>
+
+ <body>
+ <p>
+ You can disable certain entries in the global settings page of
+ the VM selector:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global GUI/RestrictedGlobalSettingsPages <varname>property</varname>[,<varname>property</varname>...]</pre>
+ <p><varname>property</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>General</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">General</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Input</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Input</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Update</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Update</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Language</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Language</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Display</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Display</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Network</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Network</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Extensions</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the
+ <b outputclass="bold">Extensions</b> settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Proxy</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Proxy</b>
+ settings pane.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a global setting. You can specify any combination of
+ properties. To restore the default behavior, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global GUI/RestrictedGlobalSettingsPages</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/config-vm-window-menu.dita b/doc/manual/en_US/dita/topics/config-vm-window-menu.dita
new file mode 100644
index 00000000000..0174d1c49e5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/config-vm-window-menu.dita
@@ -0,0 +1,958 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="config-vm-window-menu">
+ <title>Configure VM Window Menu Entries</title>
+
+ <body>
+ <p>
+ You can disable certain menu actions in the VM window:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeMenus OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following
+ keywords:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu in the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Application</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show
+ <b outputclass="bold">Application/File</b> menu in
+ the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Machine</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Machine</b>
+ menu in the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>View</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">View</b> menu
+ in the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Input</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show <b outputclass="bold">Input</b> menu in
+ the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Devices</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Devices</b>
+ menu in the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Help</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Help</b> menu
+ in the VM window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Debug</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Debug</b>
+ menu in the VM window. The Debug menu is only visible if
+ the GUI was started with special command line parameters
+ or environment variable settings.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeMenus</pre>
+ <p>
+ You can also disable certain menu actions of certain menus. Use
+ the following command to disable certain actions of the
+ <b outputclass="bold">Application</b> menu. This is only
+ available on macOS hosts.
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeApplicationMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following
+ keywords:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>About</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">About</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Preferences</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the
+ <b outputclass="bold">Preferences</b> menu item in
+ this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>NetworkAccessManager</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Network Operations
+ Manager</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>ResetWarnings</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Reset All
+ Warnings</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Close</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Close</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeMenus</pre>
+ <p>
+ Use the following command to disable certain actions of the
+ <b outputclass="bold">Machine</b> menu:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeMachineMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following
+ keywords:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>SettingsDialog</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Settings</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TakeSnapshot</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Take
+ Snapshot...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>InformationDialog</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Session
+ Information...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>FileManagerDialog</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">File
+ Manager...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Pause</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Pause</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Reset</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Reset</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Shutdown</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">ACPI
+ Shutdown</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeMachineMenuActions</pre>
+ <p>
+ Use the following command to disable certain actions of the
+ <b outputclass="bold">View</b> menu:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeViewMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following
+ keywords:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Fullscreen</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Full-screen
+ Mode</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Seamless</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Seamless
+ Mode</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Scale</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Scaled
+ Mode</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GuestAutoresize</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Auto-resize Guest
+ Display</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>AdjustWindow</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Adjust Window
+ Size</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TakeScreenshot</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Take
+ Screenshot...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Recording</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Recording</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>VRDEServer</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Remote
+ Display</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>MenuBar</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Menu Bar</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>MenuBarSettings</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Menu Bar
+ Settings...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>StatusBar</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Status
+ Bar</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>StatusbarSettings</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Statusbar
+ Settings...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeViewMenuActions</pre>
+ <p>
+ Use the following command to disable certain actions of the
+ <b outputclass="bold">Input</b> menu:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeInputMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following
+ keywords:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Keyboard</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Keyboard</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>KeyboardSettings</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Keyboard
+ Settings...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>SoftKeyboard</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Soft
+ Keyboard...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypeCAD</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert
+ Ctrl-Alt-Del</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypeCABS</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert
+ Ctrl-Alt-Backspace</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypeCtrlBreak</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert
+ Ctrl-Break</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypeInsert</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert
+ Insert</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypePrintScreen</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert Print
+ Screen</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypeAltPrintScreen</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert Alt Print
+ Screen</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>TypeHostKeyCombo</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert Host Key
+ Combo</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>MouseIntegration</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the
+ <b outputclass="bold">MouseIntegration</b> menu
+ item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeInputMenuActions</pre>
+ <p>
+ Use the following command to disable certain actions of the
+ <b outputclass="bold">Devices</b> menu:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeDevicesMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following keywords
+ to disable actions in the
+ <b outputclass="bold">Devices</b> menu:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>HardDrives</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Hard
+ Disks</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>OpticalDevices</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Optical
+ Devices</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>FloppyDevices</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Floppy
+ Drives</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Audio</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Audio</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Network</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Network</b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>NetworkSettings</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Network
+ Settings</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>USBDevices</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">USB </b> menu
+ item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>WebCams</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">WebCams </b>
+ menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>SharedFolders</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Shared
+ Folders</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>SharedFoldersSettings</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Shared Folders
+ Settings...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>SharedClipboard</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Shared
+ Clipboard</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>DragAndDrop</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Drag and
+ Drop</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>InstallGuestTools</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Insert Guest
+ Additions CD image...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global or global setting. Any combination of
+ the above is allowed. To restore the default behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeDevicesMenuActions</pre>
+ <p>
+ Use the following command to disable certain actions of the
+ <b outputclass="bold">Debug</b> menu:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeDebuggerMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following keywords
+ to disable actions in the <i>Debug</i> menu, which
+ is normally completely disabled:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Statistics</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the
+ <b outputclass="bold">Statistics...</b> menu item
+ in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>CommandLine</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Command
+ Line...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Logging</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the
+ <b outputclass="bold">Logging...</b> menu item in
+ this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>LogDialog</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Show
+ Log...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GuestControlConsole</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Guest Control
+ Terminal...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeDebuggerMenuActions</pre>
+ <p>
+ Use the following command to disable certain actions of the
+ <b outputclass="bold">View</b> menu:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeHelpMenuActions OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following keywords
+ to disable actions in the <b outputclass="bold">Help</b>
+ menu, which is normally completely disabled:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>All</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show any menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Contents</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the
+ <b outputclass="bold">Contents...</b> menu item in
+ this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>WebSite</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">VirtualBox Web
+ Site...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>BugTracker</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">VirtualBox Bug
+ Tracker...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Forums</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">VirtualBox
+ Forums...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Oracle</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">Oracle Web
+ Site...</b> menu item in this menu.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>About</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the <b outputclass="bold">About
+ VirtualBox...</b> menu item in this menu. Only for
+ non-macOS hosts.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. To restore the default behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedRuntimeHelpMenuActions</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/config-vm-window-status-bar.dita b/doc/manual/en_US/dita/topics/config-vm-window-status-bar.dita
new file mode 100644
index 00000000000..cc733690daf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/config-vm-window-status-bar.dita
@@ -0,0 +1,135 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="config-vm-window-status-bar">
+ <title>Configure VM Window Status Bar Entries</title>
+
+ <body>
+ <p>
+ You can disable certain status bar items:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedStatusBarIndicators OPTION[,OPTION...]</pre>
+ <p>
+ where <codeph>OPTION</codeph> is one of the following
+ keywords:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>HardDisks</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the hard disk icon in the VM window status
+ bar. By default the hard disk icon is only shown if the VM
+ configuration contains one or more hard disks.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>OpticalDisks</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the CD icon in the VM window status bar. By
+ default the CD icon is only shown if the VM configuration
+ contains one or more CD drives.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>FloppyDisks</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the floppy icon in the VM window status bar.
+ By default the floppy icon is only shown if the VM
+ configuration contains one or more floppy drives.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Network</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the network icon in the VM window status bar.
+ By default the network icon is only shown if the VM
+ configuration contains one or more active network
+ adapters.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>USB</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the USB icon in the status bar.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>SharedFolders</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the shared folders icon in the status bar.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Capture</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the capture icon in the status bar.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Features</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the CPU features icon in the status bar.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Mouse</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the mouse icon in the status bar.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Keyboard</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the keyboard icon in the status bar.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM or global setting. Any combination of the above
+ is allowed. If all options are specified, no icons are displayed
+ in the status bar of the VM window. To restore the default
+ behavior, use
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name"|global GUI/RestrictedStatusBarIndicators</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/config-vm-window-visual-modes.dita b/doc/manual/en_US/dita/topics/config-vm-window-visual-modes.dita
new file mode 100644
index 00000000000..26f858a2780
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/config-vm-window-visual-modes.dita
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="config-vm-window-visual-modes">
+ <title>Configure VM Window Visual Modes</title>
+
+ <body>
+ <p>
+ You can disable certain VM visual modes:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> GUI/RestrictedVisualStates <varname>property</varname>[,<varname>property</varname>...]</pre>
+ <p><varname>property</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>Fullscreen</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow to switch the VM into full screen mode.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Seamless</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow to switch the VM into seamless mode.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Scale</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow to switch the VM into scale mode.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM setting. You can specify any combination of
+ properties. To restore the default behavior, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> GUI/RestrictedVisualStates</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/configbasics.dita b/doc/manual/en_US/dita/topics/configbasics.dita
new file mode 100644
index 00000000000..2538b47cd7e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/configbasics.dita
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="configbasics">
+ <title>Virtual Machine Configuration</title>
+
+ <body>
+ <p>
+ When you select a virtual machine from the list in the VirtualBox
+ Manager window, you will see a summary of that machine's settings
+ on the right.
+ </p>
+ <p>
+ Clicking on <b outputclass="bold">Settings</b> displays a
+ window, where you can configure many of the properties of the
+ selected VM. But be careful when changing VM settings. It is
+ possible to change all VM settings after installing a guest OS,
+ but certain changes might prevent a guest OS from functioning
+ correctly if done after installation.
+ </p>
+ <note>
+ <p>
+ The <b outputclass="bold">Settings</b> button is disabled
+ while a VM is either in the Running or Saved state. This is
+ because the <b outputclass="bold">Settings</b> window
+ enables you to change fundamental characteristics of the virtual
+ machine that is created for your guest OS. For example, the
+ guest OS may not perform well if half of its memory is taken
+ away. As a result, if the
+ <b outputclass="bold">Settings</b> button is disabled,
+ shut down the current VM first.
+ </p>
+ </note>
+ <p>
+ Oracle VM VirtualBox provides a wide range of parameters that can be
+ changed for a virtual machine. The various settings that can be
+ changed in the <b outputclass="bold">Settings</b> window
+ are described in detail in <xref href="BasicConcepts.dita#BasicConcepts"/>. Even
+ more parameters are available when using the
+ <userinput>VBoxManage</userinput> command line interface. See
+ <xref href="vboxmanage.dita#vboxmanage"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/cpuhotplug.dita b/doc/manual/en_US/dita/topics/cpuhotplug.dita
new file mode 100644
index 00000000000..e1178d90008
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/cpuhotplug.dita
@@ -0,0 +1,74 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="cpuhotplug">
+ <title>CPU Hot-Plugging</title>
+
+ <body>
+ <p>
+ With virtual machines running modern server operating systems,
+ Oracle VM VirtualBox supports CPU hot-plugging.
+ </p>
+ <p>
+ On a physical computer CPU hot-plugging would mean that a CPU can
+ be added or removed while the machine is running. Oracle VM VirtualBox
+ supports adding and removing of virtual CPUs while a virtual
+ machine is running.
+ </p>
+ <p>
+ CPU hot-plugging works only with guest operating systems that
+ support the feature. So far this applies only to Linux and Windows
+ Server. Windows supports only hot-add, while Linux supports
+ hot-add and hot-remove. To use this feature with more than 8 CPUs,
+ a 64-bit Linux guest is required.
+ </p>
+ <p>
+ CPU hot-plugging is done using the <userinput>VBoxManage</userinput>
+ command-line interface. First, hot-plugging needs to be enabled
+ for a virtual machine:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --cpu-hotplug on</pre>
+ <p>
+ The <codeph>--cpus</codeph> option is used to specify the maximum
+ number of CPUs that the virtual machine can have:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --cpus 8</pre>
+ <p>
+ When the VM is off, you can then add and remove virtual CPUs with
+ the <userinput>VBoxManage modifyvm --plug-cpu</userinput> and
+ <userinput>VBoxManage modifyvm --unplug-cpu</userinput> commands,
+ which take the number of the virtual CPU as a parameter, as
+ follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --plug-cpu 3
+$ VBoxManage modifyvm <varname>VM-name</varname> --unplug-cpu 3</pre>
+ <p>
+ Note that CPU 0 can never be removed.
+ </p>
+ <p>
+ While the VM is running, CPUs can be added and removed with the
+ <userinput>VBoxManage controlvm plugcpu</userinput> and
+ <userinput>VBoxManage controlvm unplugcpu</userinput> commands
+ instead, as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage controlvm <varname>VM-name</varname> plugcpu 3
+$ VBoxManage controlvm <varname>VM-name</varname> unplugcpu 3</pre>
+ <p>
+ See <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref> and
+ <xref href="man_VBoxManage-controlvm.dita">VBoxManage controlvm</xref> for details.
+ </p>
+ <p>
+ With Linux guests, the following applies:
+ </p>
+ <p>
+ To prevent ejection while the CPU is still used it has to be
+ ejected from within the guest before. The Linux Guest Additions
+ contain a service which receives hot-remove events and ejects the
+ CPU. Also, after a CPU is added to the VM it is not automatically
+ used by Linux. The Linux Guest Additions service will take care of
+ that if installed. If not a CPU can be started with the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ echo 1 &gt; /sys/devices/system/cpu/cpu&lt;id&gt;/online</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-floppy-disk-image.dita b/doc/manual/en_US/dita/topics/create-floppy-disk-image.dita
new file mode 100644
index 00000000000..6ebf369a7f7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-floppy-disk-image.dita
@@ -0,0 +1,62 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-floppy-disk-image">
+ <title>Creating a Virtual Floppy Disk Image</title>
+
+ <body>
+ <p>
+ Use the <b outputclass="bold">Floppy Disk Creator</b>
+ tool to create a floppy disk image.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Display the <b outputclass="bold">Floppy Disks</b>
+ tab in Virtual Media Manager and click
+ <b outputclass="bold">Create</b>.
+ </p>
+ <p>
+ The <b outputclass="bold">Floppy Disk Creator</b>
+ tool is shown.
+ </p>
+ </li>
+ <li>
+ <p>
+ Configure the following settings:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">File Path:</b> The name and
+ location of the floppy disk image.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Size:</b> Select from the
+ list of supported floppy disk sizes.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Format Disk as FAT 12:</b>
+ This is the default format used for most floppy disks.
+ For an unformatted disk, do not select this option.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Create the floppy disk image file.
+ </p>
+ <p>
+ Click <b outputclass="bold">Create</b>.
+ </p>
+ <p>
+ The floppy disk image is created in the specified location
+ and added to the <b outputclass="bold">Floppy
+ Disks</b> tab in Virtual Media Manager.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-optical-disk-image.dita b/doc/manual/en_US/dita/topics/create-optical-disk-image.dita
new file mode 100644
index 00000000000..f4e77d860c9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-optical-disk-image.dita
@@ -0,0 +1,98 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-optical-disk-image">
+ <title>Creating a Virtual Optical Disk Image</title>
+
+ <body>
+ <p>
+ Use the <b outputclass="bold">VISO Creator</b> tool to
+ create a virtual optical disk image. This enables you to create
+ a virtual ISO from selected files on the host.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Display the <b outputclass="bold">Optical Disks</b>
+ tab in Virtual Media Manager and click
+ <b outputclass="bold">Create</b>.
+ </p>
+ <p>
+ The <b outputclass="bold">VISO Creator</b> tool is
+ shown.
+ </p>
+ </li>
+ <li>
+ <p>
+ Create the virtual ISO file.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Configure the name of the ISO file.
+ </p>
+ <p>
+ Click <b outputclass="bold">Configuration</b> and
+ enter a name in the <b outputclass="bold">Viso
+ Name</b> field.
+ </p>
+ </li>
+ <li>
+ <p>
+ Add files to your virtual ISO.
+ </p>
+ <p>
+ In the <b outputclass="bold">Host File System</b>
+ pane, select files to copy from the host system to the
+ virtual ISO.
+ </p>
+ <p>
+ Click <b outputclass="bold">Add Items To
+ VISO</b>. The files are displayed in the
+ <b outputclass="bold">VISO Content</b> pane.
+ </p>
+ <p>
+ The following file operations are also available:
+ </p>
+ <ul>
+ <li>
+ <p>
+ To create folders on the virtual ISO, click
+ <b outputclass="bold">Create New
+ Directory</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ To remove files from the virtual ISO, select files
+ in the <b outputclass="bold">VISO Content</b>
+ pane and click <b outputclass="bold">Remove Items
+ From VISO</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ To remove <i>all</i> files from the
+ virtual ISO, click <b outputclass="bold">Reset the
+ VISO Content</b>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <p>
+ Create the virtual ISO image.
+ </p>
+ <p>
+ Click <b outputclass="bold">Create</b>.
+ </p>
+ <p>
+ A virtual ISO file with the specified name and content is
+ created.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-virtual-hard-disk-image.dita b/doc/manual/en_US/dita/topics/create-virtual-hard-disk-image.dita
new file mode 100644
index 00000000000..c867ef69819
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-virtual-hard-disk-image.dita
@@ -0,0 +1,67 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-virtual-hard-disk-image">
+ <title>Creating a Virtual Hard Disk Image</title>
+
+ <body>
+ <p>
+ Use the <b outputclass="bold">Create Virtual Hard
+ Disk</b> wizard to create a hard disk image.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Display the <b outputclass="bold">Hard Disks</b> tab
+ in Virtual Media Manager and click
+ <b outputclass="bold">Create</b>.
+ </p>
+ <p>
+ The <b outputclass="bold">Create Virtual Hard
+ Disk</b> wizard is shown.
+ </p>
+ <fig id="fig-virtual-hard-disk-wizard">
+ <title>Create Virtual Hard Disk Wizard</title>
+ <image href="images/virtual-hard-disk-wizard.png" placement="break"/>
+ </fig>
+ </li>
+ <li>
+ <p>
+ On the <b outputclass="bold">Virtual Hard Disk File
+ Type</b> page, select a file type for the new virtual
+ hard disk image.
+ </p>
+ <p>
+ Click <b outputclass="bold">Next</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ On the <b outputclass="bold">Storage on Physical Hard
+ Disk</b> page, select whether the size of the virtual
+ hard disk file is dynamically allocated or is of fixed size.
+ </p>
+ <p>
+ Click <b outputclass="bold">Next</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ On the <b outputclass="bold">File Location and
+ Size</b> page, configure the location of the virtual
+ hard disk file and use the slider to set the size limit for
+ the virtual hard disk.
+ </p>
+ <p>
+ Click <b outputclass="bold">Finish</b> to create the
+ virtual hard disk file.
+ </p>
+ <p>
+ The virtual hard disk image is created in the specified
+ location and added to the <b outputclass="bold">Hard
+ Disks</b> tab in Virtual Media Manager.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard-hardware.dita b/doc/manual/en_US/dita/topics/create-vm-wizard-hardware.dita
new file mode 100644
index 00000000000..a34e85eff83
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard-hardware.dita
@@ -0,0 +1,83 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard-hardware">
+ <title>Create Virtual Machine Wizard: Hardware</title>
+
+ <body>
+ <p>
+ Use this page to configure hardware settings for the virtual
+ machine.
+ </p>
+ <fig id="fig-create-vm-hardware">
+ <title>Creating a Virtual Machine: Hardware</title>
+ <image href="images/create-vm-3.png" placement="break"/>
+ </fig>
+ <p>
+ The following fields are available on this wizard page:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Base Memory.</b> Select the
+ amount of RAM that Oracle VM VirtualBox should allocate every time
+ the virtual machine is started. The amount of memory
+ selected here will be taken away from your host machine and
+ presented to the guest OS, which will report this size as
+ the virtual machines installed RAM.
+ </p>
+ <note type="caution">
+ <p>
+ Choose this setting carefully. The memory you give to the
+ VM will not be available to your host OS while the VM is
+ running, so do not specify more than you can spare.
+ </p>
+ <p>
+ For example, if your host machine has 4 GB of RAM and you
+ enter 2048 MB as the amount of RAM for a particular
+ virtual machine, you will only have 2 GB left for all the
+ other software on your host while the VM is running. If
+ you run two VMs at the same time, even more memory will be
+ allocated for the second VM, which may not even be able to
+ start if that memory is not available.
+ </p>
+ <p>
+ On the other hand, you should specify as much as your
+ guest OS and your applications will require to run
+ properly. A guest OS may require at least 1 or 2 GB of
+ memory to install and boot up. For best performance, more
+ memory than that may be required.
+ </p>
+ </note>
+ <p>
+ Always ensure that the host OS has enough RAM remaining. If
+ insufficient RAM remains, the system might excessively swap
+ memory to the hard disk, which effectively brings the host
+ system to a standstill.
+ </p>
+ <p>
+ As with other <b outputclass="bold">Create Virtual
+ Machine</b> wizard settings, you can change this
+ setting later, after you have created the VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Processor(s).</b> Select the
+ number of virtual processors to assign to the VM.
+ </p>
+ <p>
+ It is not advised to assign more than half of the total
+ processor threads from the host machine.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable EFI.</b> Enables
+ Extensible Firware Interface (EFI) booting for the guest OS.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Next</b> to go to the next
+ wizard page.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard-name-os.dita b/doc/manual/en_US/dita/topics/create-vm-wizard-name-os.dita
new file mode 100644
index 00000000000..29df3f135fd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard-name-os.dita
@@ -0,0 +1,106 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard-name-os">
+ <title>Create Virtual Machine Wizard: Name and Operating System</title>
+
+ <body>
+ <fig id="fig-create-vm-name">
+ <title>Creating a Virtual Machine: Name and Operating System</title>
+ <image href="images/create-vm-1.png" placement="break"/>
+ </fig>
+ <p>
+ Use this page to specify a name and operating system (OS) for
+ the virtual machine and to change the storage location used for
+ VMs.
+ </p>
+ <p>
+ You can also choose to disable the unattended guest operating
+ system install feature. See also
+ <xref href="create-vm-wizard-unattended-install.dita#create-vm-wizard-unattended-install"/>.
+ </p>
+ <p>
+ The following fields are available on this wizard page:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Name.</b> A name for the new
+ VM. The name you enter is shown in the machine list of
+ VirtualBox Manager and is also used for the virtual machine's files
+ on disk.
+ </p>
+ <p>
+ Be sure to assign each VM an informative name that describes
+ the OS and software running on the VM. For example, a name
+ such as <codeph>Windows 10 with Visio</codeph>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Folder.</b> The location where
+ VMs are stored on your computer, called the
+ <i>machine folder</i>. The default folder
+ location is shown.
+ </p>
+ <p>
+ Ensure that the folder location has enough free space,
+ especially if you intend to use the snapshots feature. See
+ also <xref href="vboxconfigdata-machine-folder.dita">The Machine Folder</xref>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">ISO Image.</b> Select an ISO
+ image file. The image file can be used to install an OS on
+ the new virtual machine or it can be attached to a DVD drive
+ on the new virtual machine.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Type and Version.</b> These
+ fields are used to select the OS that you want to install on
+ the new virtual machine.
+ </p>
+ <p>
+ The supported OSes are grouped into types. If you want to
+ install something very unusual that is not listed, select
+ the <b outputclass="bold">Other</b> type. Depending
+ on your selection, Oracle VM VirtualBox will enable or disable
+ certain VM settings that your guest OS may require. This is
+ particularly important for 64-bit guests. See
+ <xref href="intro-64bitguests.dita#intro-64bitguests"/>. It is therefore
+ recommended to always set this field to the correct value.
+ </p>
+ <p>
+ If an ISO image is selected and Oracle VM VirtualBox detects the
+ operating system for the ISO, the
+ <b outputclass="bold">Type</b> and
+ <b outputclass="bold">Version</b> fields are
+ populated automatically and are disabled.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Skip Unattended
+ Installation.</b> Disables unattended guest OS
+ installation, even if an ISO image is selected that supports
+ unattended installation. In that case, the selected ISO
+ image is mounted automatically on the DVD drive of the new
+ virtual machine and user interaction is required to complete
+ the OS installation.
+ </p>
+ <p>
+ The unattended installation step in the wizard is skipped.
+ </p>
+ <note>
+ <p>
+ This option is disabled if you do not select an
+ installation medium in the <b outputclass="bold">ISO
+ Image</b> field.
+ </p>
+ </note>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Next</b> to go to the next
+ wizard page.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard-summary.dita b/doc/manual/en_US/dita/topics/create-vm-wizard-summary.dita
new file mode 100644
index 00000000000..0ee7c0c779e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard-summary.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard-summary">
+ <title>Create Virtual Machine Wizard: Summary</title>
+
+ <body>
+ <p>
+ This page displays a summary of the configuration for the
+ virtual machine.
+ </p>
+ <p>
+ If you are not happy with any of the settings, use the
+ <b outputclass="bold">Back</b> button to return to the
+ corresponding page and modify the setting.
+ </p>
+ <p>
+ Click <b outputclass="bold">Finish</b> to create your new
+ virtual machine. The virtual machine is displayed in the machine
+ list on the left side of the VirtualBox Manager window, with the name
+ that you entered on the first page of the wizard.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard-unattended-examples.dita b/doc/manual/en_US/dita/topics/create-vm-wizard-unattended-examples.dita
new file mode 100644
index 00000000000..037716b5aa3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard-unattended-examples.dita
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard-unattended-examples">
+ <title>Some Examples of Unattended Installation</title>
+
+ <body>
+ <p>
+ To configure unattended installation, you typically just need to
+ specify an ISO image in the <b outputclass="bold">Create Virtual
+ Machine</b> wizard. Oracle VM VirtualBox then detects the OS
+ type and the unattended installation process is done
+ automatically when the wizard is completed. However, in some
+ situations the installation may need be completed manually.
+ </p>
+ <p>
+ The following list describes some common scenarios for
+ unattended installation:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">OS type is detected
+ automatically.</b> The following outcomes are
+ possible:
+ </p>
+ <ul>
+ <li>
+ <p>
+ If unattended installation is supported for the selected
+ ISO, the guest OS is installed automatically. No user
+ input is required.
+ </p>
+ </li>
+ <li>
+ <p>
+ If unattended installation is not supported for the
+ selected ISO, the ISO image is inserted automatically
+ into the DVD drive of the new VM. The guest OS
+ installation must then be completed manually.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p><b outputclass="bold">OS type is not detected
+ automatically.</b> You must configure
+ <b outputclass="bold">Type</b> and
+ <b outputclass="bold">Version</b> settings in the
+ wizard.
+ </p>
+ <p>
+ The ISO image is inserted automatically into the DVD drive
+ of the new VM. The guest OS installation must then be
+ completed manually.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Unattended Installation is
+ disabled.</b> Users can disable unattended
+ installation, by selecting the <b outputclass="bold">Skip
+ Unattended Installation</b> check box on the initial
+ wizard page.
+ </p>
+ <p>
+ The ISO image is inserted automatically into the DVD drive
+ of the new VM. The guest OS installation must then be
+ completed manually.
+ </p>
+ </li>
+ </ul>
+ <p>
+ See also <xref href="basic-unattended.dita#basic-unattended"/> for details of how
+ to perform unattended installation from the command line.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard-unattended-install.dita b/doc/manual/en_US/dita/topics/create-vm-wizard-unattended-install.dita
new file mode 100644
index 00000000000..282d1f41922
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard-unattended-install.dita
@@ -0,0 +1,83 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard-unattended-install">
+ <title>(Optional) Create Virtual Machine Wizard: Unattended Guest OS Install</title>
+
+ <body>
+ <p>
+ Unattended guest OS installation enables you to install the OS
+ on a virtual machine automatically.
+ </p>
+ <note>
+ <p>
+ This page is optional. It is not displayed if you have
+ selected the <b outputclass="bold">Skip Unattended
+ Installation</b> option on the initial wizard page.
+ </p>
+ </note>
+ <p>
+ Use this page to set up the required parameters for unattended
+ guest OS installation and to configure automatic installation of
+ the Oracle VM VirtualBox Guest Additions. See also
+ <xref href="create-vm-wizard-unattended-examples.dita#create-vm-wizard-unattended-examples"/> for some
+ typical scenarios when using automated installation.
+ </p>
+ <fig id="fig-create-vm-unattended-install">
+ <title>Creating a Virtual Machine: Unattended Guest OS Installation</title>
+ <image href="images/create-vm-2.png" placement="break"/>
+ </fig>
+ <p>
+ The following fields are available on this wizard page:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Username and Password.</b>
+ Enter the credentials for a default user on the guest OS.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Guest Additions.</b> Enables
+ automatic installation of the Guest Additions, following
+ installation of the guest OS. Use the drop-down list to
+ select the location of the ISO image file for the Guest
+ Additions.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Additional Options.</b> The
+ following options enable you to perform extra configuration
+ of the guest OS:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Product Key.</b> For
+ Windows guests only. Enter the product key required for
+ Windows installation.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Hostname.</b> Host name for
+ the guest. By default, this is the same as the VM name.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Domain Name.</b> Domain
+ name for the guest.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Install in Background.</b>
+ Enable headless mode for the VM, where a graphical user
+ interface is not shown.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ Click <b outputclass="bold">Next</b> to go to the next
+ wizard page.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard-virtual-hard-disk.dita b/doc/manual/en_US/dita/topics/create-vm-wizard-virtual-hard-disk.dita
new file mode 100644
index 00000000000..175356555c1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard-virtual-hard-disk.dita
@@ -0,0 +1,132 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard-virtual-hard-disk">
+ <title>Create Virtual Machine Wizard: Virtual Hard Disk</title>
+
+ <body>
+ <p>
+ Use this page to specify a virtual hard disk for the virtual
+ machine.
+ </p>
+ <p>
+ There are many ways in which Oracle VM VirtualBox can provide hard
+ disk space to a VM, see <xref href="storage.dita#storage"/>. The most
+ common way is to use a large image file on your physical hard
+ disk, whose contents Oracle VM VirtualBox presents to your VM as if it
+ were a complete hard disk. This file then represents an entire
+ hard disk, so you can even copy it to another host and use it
+ with another Oracle VM VirtualBox installation.
+ </p>
+ <fig id="fig-create-vm-hard-disk">
+ <title>Creating a New Virtual Machine: Virtual Hard Disk</title>
+ <image href="images/create-vm-4.png" placement="break"/>
+ </fig>
+ <p>
+ The following fields are available on this wizard page:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Create a Virtual Hard Disk
+ Now</b>. Creates a new empty virtual hard disk image,
+ located in the VM's machine folder.
+ </p>
+ <p>
+ Enter the following settings:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Disk Size</b>. Use the
+ slider to select a maximum size for the hard disk in the
+ new VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Pre-Allocate Full Size.</b>
+ This setting determines the type of image file used for
+ the disk image. Select this setting to use a
+ <i>fixed-size file</i> for the disk image.
+ Deselect this setting to use a <i>dynamically
+ allocated file</i> for the disk image.
+ </p>
+ <p>
+ The different types of image file behave as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Dynamically allocated
+ file.</b> This type of image file only grows
+ in size when the guest actually stores data on its
+ virtual hard disk. Therefore, this file is small
+ initially. As the drive is filled with data, the
+ file grows to the specified size.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Fixed-size file.</b>
+ This type of image file immediately occupies the
+ file specified, even if only a fraction of that
+ virtual hard disk space is actually in use. While
+ occupying much more space, a fixed-size file incurs
+ less overhead and is therefore slightly faster than
+ a dynamically allocated file.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For more details about the differences, see
+ <xref href="vdidetails.dita#vdidetails"/>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p><b outputclass="bold">Use an Existing Hard Disk
+ File.</b> Enables you to select an
+ <i>existing</i> disk image file to use with
+ the new VM.
+ </p>
+ <p>
+ The drop-down list presented in the window lists all disk
+ images which are known by Oracle VM VirtualBox. These disk images
+ are currently attached to a virtual machine, or have been
+ attached to a virtual machine.
+ </p>
+ <p>
+ Alternatively, click on the small folder icon next to the
+ drop-down list. In the <b outputclass="bold">Hard Disk
+ Selector</b> window that is displayed, click
+ <b outputclass="bold">Add</b> to select a disk image
+ file on your host disk.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Do Not Add a Virtual Hard
+ Disk.</b> The new VM is created without a hard disk.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To prevent your physical hard disk on the host OS from filling
+ up, Oracle VM VirtualBox limits the size of the image file. But the
+ image file must be large enough to hold the contents of the
+ guest OS and the applications you want to install. For a Windows
+ or Linux guest, you will probably need several gigabytes for any
+ serious use. The limit of the image file size can be changed
+ later, see <xref href="man_VBoxManage-modifymedium.dita#vboxmanage-modifymedium"/>.
+ </p>
+ <note>
+ <p>
+ You can skip attaching a virtual hard disk file to the new
+ virtual machine you are creating. But you will then need to
+ attach an hard disk later on, in order to install a guest
+ operating system.
+ </p>
+ </note>
+ <p>
+ After having selected or created your image file, click
+ <b outputclass="bold">Next</b> to go to the next wizard
+ page.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/create-vm-wizard.dita b/doc/manual/en_US/dita/topics/create-vm-wizard.dita
new file mode 100644
index 00000000000..2a6d7fc87b8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/create-vm-wizard.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="create-vm-wizard">
+ <title>Creating Your First Virtual Machine</title>
+
+ <body>
+ <p>
+ Click <b outputclass="bold">New</b> in the VirtualBox
+ Manager window. The <b outputclass="bold">Create Virtual
+ Machine</b> wizard is shown, to guide you through the
+ required steps for setting up a new virtual machine (VM).
+ </p>
+ <p>
+ The <b outputclass="bold">Create Virtual Machine</b> wizard
+ pages are described in the following sections.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/customize-vm-manager.dita b/doc/manual/en_US/dita/topics/customize-vm-manager.dita
new file mode 100644
index 00000000000..fec485bb79e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/customize-vm-manager.dita
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="customize-vm-manager">
+ <title>Customizing VirtualBox Manager</title>
+
+ <body>
+ <p>
+ There are several advanced customization settings for locking
+ down VirtualBox Manager. Locking down means removing some features that
+ the user should not see.
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/Customizations <varname>property</varname>[,<varname>property</varname> ...]</pre>
+ <p><varname>property</varname> is one of the following
+ properties:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>noSelector</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow users to start VirtualBox Manager. Trying to do so
+ will show a window containing a proper error message.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>noMenuBar</codeph>
+ </dt>
+ <dd>
+ <p>
+ VM windows will not contain a menu bar.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>noStatusBar</codeph>
+ </dt>
+ <dd>
+ <p>
+ VM windows will not contain a status bar.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ To disable any of these VirtualBox Manager customizations use the
+ following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global GUI/Customizations</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/customize-vm-selector.dita b/doc/manual/en_US/dita/topics/customize-vm-selector.dita
new file mode 100644
index 00000000000..beedc260708
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/customize-vm-selector.dita
@@ -0,0 +1,81 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="customize-vm-selector">
+ <title>VM Selector Customization</title>
+
+ <body>
+ <p>
+ The following per-machine VM extradata settings can be used to
+ change the behavior of the VM selector window in respect of
+ certain VMs:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname>
+ <varname>property</varname> true</pre>
+ <p><varname>property</varname> can be any of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>GUI/HideDetails</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not show the VM configuration of a certain VM. The
+ details window will remain just empty if this VM is
+ selected.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GUI/PreventReconfiguration</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow the user to open the
+ <b outputclass="bold">Settings</b> dialog for a
+ certain VM.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GUI/PreventSnapshotOperations</codeph>
+ </dt>
+ <dd>
+ <p>
+ Prevent snapshot operations for a VM from the GUI, either
+ at runtime or when the VM is powered off.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GUI/HideFromManager</codeph>
+ </dt>
+ <dd>
+ <p>
+ Hide a certain VM in the VM selector window.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GUI/PreventApplicationUpdate</codeph>
+ </dt>
+ <dd>
+ <p>
+ Disable the automatic update check and hide the
+ corresponding menu item.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ Note that these settings do not prevent the user from
+ reconfiguring the VM by using the <userinput>VBoxManage
+ modifyvm</userinput> command.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/customvesa.dita b/doc/manual/en_US/dita/topics/customvesa.dita
new file mode 100644
index 00000000000..4d57552ba01
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/customvesa.dita
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="customvesa">
+ <title>Custom VESA Resolutions</title>
+
+ <body>
+ <p>
+ Apart from the standard VESA resolutions, the Oracle VM VirtualBox
+ VESA BIOS enables you to add up to 16 custom video modes which
+ will be reported to the guest operating system. When using
+ Windows guests with the Oracle VM VirtualBox Guest Additions, a custom
+ graphics driver will be used instead of the fallback VESA
+ solution so this information does not apply.
+ </p>
+ <p>
+ Additional video modes can be configured for each VM using the
+ extra data facility. The extra data key is called
+ <codeph>CustomVideoMode<varname>x</varname>
+ </codeph>
+ with <varname>x</varname> being a number from 1 to 16.
+ Please note that modes will be read from 1 until either the
+ following number is not defined or 16 is reached. The following
+ example adds a video mode that corresponds to the native display
+ resolution of many notebook computers:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "CustomVideoMode1" "1400x1050x16"</pre>
+ <p>
+ The VESA mode IDs for custom video modes start at
+ <codeph>0x160</codeph>. In order to use the above defined
+ custom video mode, the following command line has to be supplied
+ to Linux:
+ </p>
+ <pre xml:space="preserve">vga = 0x200 | 0x160
+vga = 864</pre>
+ <p>
+ For guest operating systems with Oracle VM VirtualBox Guest Additions,
+ a custom video mode can be set using the video mode hint
+ feature.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/diffimages.dita b/doc/manual/en_US/dita/topics/diffimages.dita
new file mode 100644
index 00000000000..3e0d0361afb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/diffimages.dita
@@ -0,0 +1,156 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="diffimages">
+ <title>Differencing Images</title>
+
+ <body>
+ <p>
+ The previous section mentioned differencing images and how they
+ are used with snapshots, immutable images, and multiple disk
+ attachments. This section describes in more detail how
+ differencing images work.
+ </p>
+ <p>
+ A differencing image is a special disk image that only holds the
+ differences to another image. A differencing image by itself is
+ useless, it must always refer to another image. The differencing
+ image is then typically referred to as a
+ <i>child</i>, which holds the differences to its
+ <i>parent</i>.
+ </p>
+ <p>
+ When a differencing image is active, it receives all write
+ operations from the virtual machine instead of its parent. The
+ differencing image only contains the sectors of the virtual hard
+ disk that have changed since the differencing image was created.
+ When the machine reads a sector from such a virtual hard disk, it
+ looks into the differencing image first. If the sector is present,
+ it is returned from there. If not, Oracle VM VirtualBox looks into the
+ parent. In other words, the parent becomes
+ <i>read-only</i>. It is never written to again, but
+ it is read from if a sector has not changed.
+ </p>
+ <p>
+ Differencing images can be chained. If another differencing image
+ is created for a virtual disk that already has a differencing
+ image, then it becomes a <i>grandchild</i> of the
+ original parent. The first differencing image then becomes
+ read-only as well, and write operations only go to the
+ second-level differencing image. When reading from the virtual
+ disk, Oracle VM VirtualBox needs to look into the second differencing
+ image first, then into the first if the sector was not found, and
+ then into the original image.
+ </p>
+ <p>
+ There can be an unlimited number of differencing images, and each
+ image can have more than one child. As a result, the differencing
+ images can form a complex tree with parents, siblings, and
+ children, depending on how complex your machine configuration is.
+ Write operations always go to the one <i>active</i>
+ differencing image that is attached to the machine, and for read
+ operations, Oracle VM VirtualBox may need to look up all the parents in
+ the chain until the sector in question is found. You can view such
+ a tree in the Virtual Media Manager.
+ </p>
+ <fig id="fig-diff-images">
+ <title>Differencing Images, Shown in Virtual Media Manager</title>
+ <image href="images/virtual-disk-manager-2.png" placement="break"/>
+ </fig>
+ <p>
+ In all of these situations, from the point of view of the virtual
+ machine, the virtual hard disk behaves like any other disk. While
+ the virtual machine is running, there is a slight run-time I/O
+ overhead because Oracle VM VirtualBox might need to look up sectors
+ several times. This is not noticeable however since the tables
+ with sector information are always kept in memory and can be
+ looked up quickly.
+ </p>
+ <p>
+ Differencing images are used in the following situations:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Snapshots.</b> When you create a
+ snapshot, as explained in the previous section, Oracle VM VirtualBox
+ <i>freezes</i> the images attached to the
+ virtual machine and creates differencing images for each image
+ that is not in <i>write-through</i> mode. From
+ the point of view of the virtual machine, the virtual disks
+ continue to operate before, but all write operations go into
+ the differencing images. Each time you create another
+ snapshot, for each hard disk attachment, another differencing
+ image is created and attached, forming a chain or tree.
+ </p>
+ <p>
+ In the above screenshot, you see that the original disk image
+ is now attached to a snapshot, representing the state of the
+ disk when the snapshot was taken.
+ </p>
+ <p>
+ If you <i>restore</i> a snapshot, and want to go
+ back to the exact machine state that was stored in the
+ snapshot, the following happens:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle VM VirtualBox copies the virtual machine settings that
+ were copied into the snapshot back to the virtual machine.
+ As a result, if you have made changes to the machine
+ configuration since taking the snapshot, they are undone.
+ </p>
+ </li>
+ <li>
+ <p>
+ If the snapshot was taken while the machine was running,
+ it contains a saved machine state, and that state is
+ restored as well. After restoring the snapshot, the
+ machine will then be in Saved state and resume execution
+ from there when it is next started. Otherwise the machine
+ will be in Powered Off state and do a full boot.
+ </p>
+ </li>
+ <li>
+ <p>
+ For each disk image attached to the machine, the
+ differencing image holding all the write operations since
+ the current snapshot was taken is thrown away, and the
+ original parent image is made active again. If you
+ restored the root snapshot, then this will be the root
+ disk image for each attachment. Otherwise, some other
+ differencing image descended from it. This effectively
+ restores the old machine state.
+ </p>
+ </li>
+ </ul>
+ <p>
+ If you later <i>delete</i> a snapshot in order
+ to free disk space, for each disk attachment, one of the
+ differencing images becomes obsolete. In this case, the
+ differencing image of the disk attachment cannot simply be
+ deleted. Instead, Oracle VM VirtualBox needs to look at each sector
+ of the differencing image and needs to copy it back into its
+ parent. This is called "merging" images and can be a
+ potentially lengthy process, depending on how large the
+ differencing image is. It can also temporarily need a
+ considerable amount of extra disk space, before the
+ differencing image obsoleted by the merge operation is
+ deleted.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Immutable images.</b> When an
+ image is switched to immutable mode, a differencing image is
+ created as well. As with snapshots, the parent image then
+ becomes read-only, and the differencing image receives all the
+ write operations. Every time the virtual machine is started,
+ all the immutable images which are attached to it have their
+ respective differencing image thrown away, effectively
+ resetting the virtual machine's virtual disk with every
+ restart.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/disable-nested-paging-mitigation.dita b/doc/manual/en_US/dita/topics/disable-nested-paging-mitigation.dita
new file mode 100644
index 00000000000..420e64fc983
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/disable-nested-paging-mitigation.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="disable-nested-paging-mitigation">
+ <title>Disable Nested Paging</title>
+
+ <body>
+ <p>
+ By disabling nested paging (EPT), the VMM will construct page
+ tables shadowing the ones in the guest. It is no possible for
+ the guest to insert anything fishy into the page tables, since
+ the VMM carefully validates each entry before shadowing it.
+ </p>
+ <p>
+ As a side effect of disabling nested paging, several CPU
+ features will not be made available to the guest. Among these
+ features are AVX, AVX2, XSAVE, AESNI, and POPCNT. Not all
+ guests may be able to cope with dropping these features after
+ installation. Also, for some guests, especially in SMP
+ configurations, there could be stability issues arising from
+ disabling nested paging. Finally, some workloads may
+ experience a performance degradation.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/disabletimesync.dita b/doc/manual/en_US/dita/topics/disabletimesync.dita
new file mode 100644
index 00000000000..c05a724e923
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/disabletimesync.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="disabletimesync">
+ <title>Disabling the Guest Additions Time Synchronization</title>
+
+ <body>
+ <p>
+ Once installed and started, the Oracle VM VirtualBox Guest Additions
+ will try to synchronize the guest time with the host time. This
+ can be prevented by forbidding the guest service from reading
+ the host clock:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/diskencryption-decryption.dita b/doc/manual/en_US/dita/topics/diskencryption-decryption.dita
new file mode 100644
index 00000000000..aba2b639346
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/diskencryption-decryption.dita
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="diskencryption-decryption">
+ <title>Decrypting Encrypted Images</title>
+
+ <body>
+ <p>
+ In some circumstances it might be required to decrypt previously
+ encrypted images. This can be done in VirtualBox Manager for a complete
+ VM or using <userinput>VBoxManage</userinput> with the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage encryptmedium <varname>uuid</varname>|<varname>filename</varname> --oldpassword <varname>file</varname>|-</pre>
+ <p>
+ The only required parameter is the password the image was
+ encrypted with. The options are the same as for encrypting
+ images.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/diskencryption-encryption.dita b/doc/manual/en_US/dita/topics/diskencryption-encryption.dita
new file mode 100644
index 00000000000..960796e6069
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/diskencryption-encryption.dita
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="diskencryption-encryption">
+ <title>Encrypting Disk Images</title>
+
+ <body>
+ <p>
+ Encrypting disk images can be done either using VirtualBox Manager or
+ the <userinput>VBoxManage</userinput>. While VirtualBox Manager is easier to
+ use, it works on a per VM basis and encrypts all disk images
+ attached to the specific VM. With <userinput>VBoxManage</userinput>
+ one can encrypt individual images, including all differencing
+ images. To encrypt an unencrypted medium with
+ <userinput>VBoxManage</userinput>, use:
+ </p>
+ <pre xml:space="preserve">VBoxManage encryptmedium <varname>uuid</varname>|<varname>filename</varname> \
+--newpassword <varname>filename</varname>|- --cipher <varname>cipher-ID</varname> --newpasswordid "<varname>ID</varname>
+ </pre>
+ <p>
+ To supply the encryption password point
+ <userinput>VBoxManage</userinput> to the file where the password is
+ stored or specify <codeph>-</codeph> to let <userinput>VBoxManage</userinput> ask you
+ for the password on the command line.
+ </p>
+ <p>
+ The cipher parameter specifies the cipher to use for encryption
+ and can be either <codeph>AES-XTS128-PLAIN64</codeph> or
+ <codeph>AES-XTS256-PLAIN64</codeph>. The specified password
+ identifier can be freely chosen by the user and is used for
+ correct identification when supplying multiple passwords during
+ VM startup.
+ </p>
+ <p>
+ If the user uses the same password when encrypting multiple
+ images and also the same password identifier, the user needs to
+ supply the password only once during VM startup.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/diskencryption-limitations.dita b/doc/manual/en_US/dita/topics/diskencryption-limitations.dita
new file mode 100644
index 00000000000..a3cd442e55b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/diskencryption-limitations.dita
@@ -0,0 +1,73 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="diskencryption-limitations">
+ <title>Limitations of Disk Encryption</title>
+
+ <body>
+ <p>
+ There are some limitations the user needs to be aware of when
+ using this feature:
+ </p>
+ <ul>
+ <li>
+ <p>
+ This feature is part of the Oracle VM VirtualBox Extension Pack,
+ which needs to be installed. Otherwise disk encryption is
+ unavailable.
+ </p>
+ </li>
+ <li>
+ <p>
+ Since encryption works only on the stored user data, it is
+ currently not possible to check for metadata integrity of
+ the disk image. Attackers might destroy data by removing or
+ changing blocks of data in the image or change metadata
+ items such as the disk size.
+ </p>
+ </li>
+ <li>
+ <p>
+ Exporting appliances which contain encrypted disk images is
+ not possible because the OVF specification does not support
+ this. All images are therefore decrypted during export.
+ </p>
+ </li>
+ <li>
+ <p>
+ The DEK is kept in memory while the VM is running to be able
+ to decrypt data read and encrypt data written by the guest.
+ While this should be obvious the user needs to be aware of
+ this because an attacker might be able to extract the key on
+ a compromised host and decrypt the data.
+ </p>
+ </li>
+ <li>
+ <p>
+ When encrypting or decrypting the images, the password is
+ passed in clear text using the Oracle VM VirtualBox API. This
+ needs to be kept in mind, especially when using third party
+ API clients which make use of the webservice where the
+ password might be transmitted over the network. The use of
+ HTTPS is mandatory in such a case.
+ </p>
+ </li>
+ <li>
+ <p>
+ Encrypting images with differencing images is only possible
+ if there are no snapshots or a linear chain of snapshots.
+ This limitation may be addressed in a future Oracle VM VirtualBox
+ version.
+ </p>
+ </li>
+ <li>
+ <p>
+ The disk encryption feature can protect the content of the
+ disks configured for a VM only. It does not cover any other
+ data related to a VM, including saved state or the
+ configuration file itself.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/diskencryption-startvm.dita b/doc/manual/en_US/dita/topics/diskencryption-startvm.dita
new file mode 100644
index 00000000000..f069a622ec1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/diskencryption-startvm.dita
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="diskencryption-startvm">
+ <title>Starting a VM with Encrypted Images</title>
+
+ <body>
+ <p>
+ When a VM is started using VirtualBox Manager, a dialog will open where
+ the user needs to enter all passwords for all encrypted images
+ attached to the VM. If another frontend like VBoxHeadless is
+ used, the VM will be paused as soon as the guest tries to access
+ an encrypted disk. The user needs to provide the passwords
+ through <userinput>VBoxManage</userinput> using the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm <varname>uuid</varname>|<varname>vmname</varname> addencpassword <varname>ID</varname>
+ <varname>password</varname> [--removeonsuspend yes|no]</pre>
+ <p><varname>ID</varname> must be the same as the password
+ identifier supplied when encrypting the images.
+ <varname>password</varname> is the password used when
+ encrypting the images. Optionally, you can specify
+ <codeph>--removeonsuspend</codeph> yes|no to specify whether to
+ remove the password from VM memory when the VM is suspended.
+ Before the VM can be resumed, the user needs to supply the
+ passwords again. This is useful when a VM is suspended by a host
+ suspend event and the user does not want the password to remain
+ in memory.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/diskencryption.dita b/doc/manual/en_US/dita/topics/diskencryption.dita
new file mode 100644
index 00000000000..e8b24a8d953
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/diskencryption.dita
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="diskencryption">
+ <title>Encryption of Disk Images</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables you to transparently encrypt the data
+ stored in hard disk images for the guest. It does not depend on a
+ specific image format to be used. Images which have the data
+ encrypted are not portable between Oracle VM VirtualBox and other
+ virtualization software.
+ </p>
+ <p>
+ Oracle VM VirtualBox uses the AES algorithm in XTS mode and supports
+ 128-bit or 256-bit data encryption keys (DEK). The DEK is stored
+ encrypted in the medium properties and is decrypted during VM
+ startup by entering a password which was chosen when the image was
+ encrypted.
+ </p>
+ <p>
+ Since the DEK is stored as part of the VM configuration file, it
+ is important that it is kept safe. Losing the DEK means that the
+ data stored in the disk images is lost irrecoverably. Having
+ complete and up to date backups of all data related to the VM is
+ the responsibility of the user.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/efi.dita b/doc/manual/en_US/dita/topics/efi.dita
new file mode 100644
index 00000000000..66b16518963
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/efi.dita
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="efi">
+ <title>Alternative Firmware (EFI)</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox includes experimental support for the Extensible
+ Firmware Interface (EFI), which is an industry standard intended
+ to replace the legacy BIOS as the primary interface for
+ bootstrapping computers and certain system services later.
+ </p>
+ <p>
+ By default, Oracle VM VirtualBox uses the BIOS firmware for virtual
+ machines. To use EFI for a given virtual machine, you can enable
+ EFI in the machine's <b outputclass="bold">Settings</b>
+ window. See <xref href="settings-motherboard.dita#settings-motherboard"/>. Alternatively,
+ use the <userinput>VBoxManage</userinput> command line interface as
+ follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --firmware efi</pre>
+ <p>
+ To switch back to using the BIOS:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --firmware bios</pre>
+ <p>
+ One notable user of EFI is Apple Mac OS X. More recent Linux
+ versions and Windows releases, starting with Vista, also offer
+ special versions that can be booted using EFI.
+ </p>
+ <p>
+ Another possible use of EFI in Oracle VM VirtualBox is development and
+ testing of EFI applications, without booting any OS.
+ </p>
+ <p>
+ Note that the Oracle VM VirtualBox EFI support is experimental and will
+ be enhanced as EFI matures and becomes more widespread. Mac OS X,
+ Linux, and newer Windows guests are known to work fine. Windows 7
+ guests are unable to boot with the Oracle VM VirtualBox EFI
+ implementation.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/efibootargs.dita b/doc/manual/en_US/dita/topics/efibootargs.dita
new file mode 100644
index 00000000000..47a38bf5fa4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/efibootargs.dita
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="efibootargs">
+ <title>Specifying Boot Arguments</title>
+
+ <body>
+ <p>
+ It is currently not possible to manipulate EFI variables from
+ within a running guest. For example, setting the
+ <codeph>boot-args</codeph> variable by running the
+ <userinput>nvram</userinput> tool in a Mac OS X guest will not work.
+ As an alternative method,
+ <codeph>VBoxInternal2/EfiBootArgs</codeph> extradata can be
+ passed to a VM in order to set the <codeph>boot-args</codeph>
+ variable. To change the <codeph>boot-args</codeph> EFI
+ variable, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name" VBoxInternal2/EfiBootArgs &lt;value&gt;</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/efividmode.dita b/doc/manual/en_US/dita/topics/efividmode.dita
new file mode 100644
index 00000000000..6cd876a2ba2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/efividmode.dita
@@ -0,0 +1,350 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="efividmode">
+ <title>Video Modes in EFI</title>
+
+ <body>
+ <p>
+ EFI provides two distinct video interfaces: GOP (Graphics Output
+ Protocol) and UGA (Universal Graphics Adapter). Modern OSes,
+ such as Mac OS X, generally use GOP, while some older ones still
+ use UGA. Oracle VM VirtualBox provides a configuration option to
+ control the graphics resolution for both interfaces, making the
+ difference mostly irrelevant for users.
+ </p>
+ <p>
+ The default resolution is 1024x768. To select a graphics
+ resolution for EFI, use the following
+ <userinput>VBoxManage</userinput> command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name" VBoxInternal2/EfiGraphicsResolution HxV</pre>
+ <p>
+ Determine the horizontal resolution H and the vertical
+ resolution V from the following list of default resolutions:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ VGA
+ </dt>
+ <dd>
+ <p>
+ 640x480, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ SVGA
+ </dt>
+ <dd>
+ <p>
+ 800x600, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ XGA
+ </dt>
+ <dd>
+ <p>
+ 1024x768, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ XGA+
+ </dt>
+ <dd>
+ <p>
+ 1152x864, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ HD
+ </dt>
+ <dd>
+ <p>
+ 1280x720, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WXGA
+ </dt>
+ <dd>
+ <p>
+ 1280x800, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ SXGA
+ </dt>
+ <dd>
+ <p>
+ 1280x1024, 32bpp, 5:4
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ SXGA+
+ </dt>
+ <dd>
+ <p>
+ 1400x1050, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WXGA+
+ </dt>
+ <dd>
+ <p>
+ 1440x900, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ HD+
+ </dt>
+ <dd>
+ <p>
+ 1600x900, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ UXGA
+ </dt>
+ <dd>
+ <p>
+ 1600x1200, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WSXGA+
+ </dt>
+ <dd>
+ <p>
+ 1680x1050, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ Full HD
+ </dt>
+ <dd>
+ <p>
+ 1920x1080, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WUXGA
+ </dt>
+ <dd>
+ <p>
+ 1920x1200, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ DCI 2K
+ </dt>
+ <dd>
+ <p>
+ 2048x1080, 32bpp, 19:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ Full HD+
+ </dt>
+ <dd>
+ <p>
+ 2160x1440, 32bpp, 3:2
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ Unnamed
+ </dt>
+ <dd>
+ <p>
+ 2304x1440, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ QHD
+ </dt>
+ <dd>
+ <p>
+ 2560x1440, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WQXGA
+ </dt>
+ <dd>
+ <p>
+ 2560x1600, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ QWXGA+
+ </dt>
+ <dd>
+ <p>
+ 2880x1800, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ QHD+
+ </dt>
+ <dd>
+ <p>
+ 3200x1800, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WQSXGA
+ </dt>
+ <dd>
+ <p>
+ 3200x2048, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ 4K UHD
+ </dt>
+ <dd>
+ <p>
+ 3840x2160, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WQUXGA
+ </dt>
+ <dd>
+ <p>
+ 3840x2400, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ DCI 4K
+ </dt>
+ <dd>
+ <p>
+ 4096x2160, 32bpp, 19:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ HXGA
+ </dt>
+ <dd>
+ <p>
+ 4096x3072, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ UHD+
+ </dt>
+ <dd>
+ <p>
+ 5120x2880, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WHXGA
+ </dt>
+ <dd>
+ <p>
+ 5120x3200, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ WHSXGA
+ </dt>
+ <dd>
+ <p>
+ 6400x4096, 32bpp, 16:10
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ HUXGA
+ </dt>
+ <dd>
+ <p>
+ 6400x4800, 32bpp, 4:3
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ 8K UHD2
+ </dt>
+ <dd>
+ <p>
+ 7680x4320, 32bpp, 16:9
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ If this list of default resolution does not cover your needs,
+ see <xref href="customvesa.dita">Custom VESA Resolutions</xref>. Note that the color depth
+ value specified in a custom video mode must be specified. Color
+ depths of 8, 16, 24, and 32 are accepted. EFI assumes a color
+ depth of 32 by default.
+ </p>
+ <p>
+ The EFI default video resolution settings can only be changed
+ when the VM is powered off.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/emul-hardware.dita b/doc/manual/en_US/dita/topics/emul-hardware.dita
new file mode 100644
index 00000000000..39fb3fe75b2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/emul-hardware.dita
@@ -0,0 +1,82 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="emul-hardware">
+ <title>Emulated Hardware</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox virtualizes nearly all hardware of the host.
+ Depending on a VM's configuration, the guest will see the
+ following virtual hardware:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Input devices.</b> Oracle VM VirtualBox
+ can emulate a standard PS/2 keyboard and mouse. These devices
+ are supported by most guest OSes.
+ </p>
+ <p>
+ In addition, Oracle VM VirtualBox can provide virtual USB input
+ devices to avoid having to capture mouse and keyboard, as
+ described in <xref href="keyb_mouse_normal.dita#keyb_mouse_normal"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Graphics.</b> The default
+ Oracle VM VirtualBox graphics device for Windows guests is an SVGA
+ device. For Linux guests, the default graphics device emulates
+ a VMware SVGA graphics device. See
+ <xref href="settings-screen.dita#settings-screen"/>.
+ </p>
+ <p>
+ For legacy guest OSes, a VGA-compatible graphics device is
+ available.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Storage.</b> Oracle VM VirtualBox
+ emulates the most common types of hard disk controllers. See
+ <xref href="harddiskcontrollers.dita#harddiskcontrollers"/>. Whereas supporting
+ only one of these controllers would be enough for
+ Oracle VM VirtualBox by itself, this multitude of storage adapters
+ is required for compatibility with other hypervisors. Windows
+ is very selective about its boot devices, and migrating VMs
+ between hypervisors is very difficult or impossible if the
+ storage controllers are different.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Networking.</b> See
+ <xref href="nichardware.dita#nichardware"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">USB.</b> Oracle VM VirtualBox emulates
+ these types of USB host controllers: xHCI, EHCI, and OHCI.
+ While xHCI handles all USB transfer speeds, some legacy guest
+ OSes may not support xHCI. Note that for some legacy Windows
+ guests, third party drivers must be installed for xHCI
+ support.
+ </p>
+ <p>
+ Legacy guest OSes typically support OHCI and EHCI. These two
+ controllers are needed because OHCI only handles USB low-speed
+ and full-speed devices (both USB 1.x and 2.0), while EHCI only
+ handles high-speed devices (USB 2.0 only).
+ </p>
+ <p>
+ The emulated USB controllers do not communicate directly with
+ devices on the host. Instead they communicate with a virtual
+ USB layer which abstracts the USB protocol and enables the use
+ of remote USB devices.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Audio.</b> See
+ <xref href="settings-audio.dita#settings-audio"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/externalkernelmodules.dita b/doc/manual/en_US/dita/topics/externalkernelmodules.dita
new file mode 100644
index 00000000000..fcbd40e2cac
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/externalkernelmodules.dita
@@ -0,0 +1,112 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="externalkernelmodules">
+ <title>The Oracle VM VirtualBox Kernel Modules</title>
+
+ <body>
+ <p>
+ In order to run other operating systems in virtual machines
+ alongside your main operating system, Oracle VM VirtualBox needs to
+ integrate very tightly with your system. To do this it installs
+ a driver module called <userinput>vboxdrv</userinput> into the
+ system kernel. The kernel is the part of the operating system
+ which controls your processor and physical hardware. Without
+ this kernel module, you can still use VirtualBox Manager to configure
+ virtual machines, but they will not start.
+ </p>
+ <p>
+ Network drivers called <userinput>vboxnetflt</userinput> and
+ <userinput>vboxnetadp</userinput> are also installed. They enable
+ virtual machines to make more use of your computer's network
+ capabilities and are needed for any virtual machine networking
+ beyond the basic NAT mode.
+ </p>
+ <p>
+ Since distributing driver modules separately from the kernel is
+ not something which Linux supports well, the Oracle VM VirtualBox
+ install process creates the modules on the system where they
+ will be used. This means that you may need to install some
+ software packages from the distribution which are needed for the
+ build process. Required packages may include the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ GNU compiler (GCC)
+ </p>
+ </li>
+ <li>
+ <p>
+ GNU Make (make)
+ </p>
+ </li>
+ <li>
+ <p>
+ Kernel header files
+ </p>
+ </li>
+ </ul>
+ <p>
+ Also ensure that all system updates have been installed and that
+ your system is running the most up-to-date kernel for the
+ distribution.
+ </p>
+ <note>
+ <p>
+ The running kernel and the kernel header files must be updated
+ to matching versions.
+ </p>
+ </note>
+ <p>
+ The following list includes some details of the required files
+ for some common distributions. Start by finding the version name
+ of your kernel, using the command <userinput>uname -r</userinput> in
+ a terminal. The list assumes that you have not changed too much
+ from the original installation, in particular that you have not
+ installed a different kernel type.
+ </p>
+ <ul>
+ <li>
+ <p>
+ With Debian and Ubuntu-based distributions, you must install
+ the correct version of the
+ <filepath>linux-headers</filepath>, usually whichever of
+ <filepath>linux-headers-generic</filepath>,
+ <filepath>linux-headers-amd64</filepath>,
+ <filepath>linux-headers-i686</filepath> or
+ <filepath>linux-headers-i686-pae</filepath> best matches the
+ kernel version name. Also, the
+ <filepath>linux-kbuild</filepath> package if it exists.
+ Basic Ubuntu releases should have the correct packages
+ installed by default.
+ </p>
+ </li>
+ <li>
+ <p>
+ On Fedora, Red Hat, Oracle Linux and many other RPM-based
+ systems, the kernel version sometimes has a code of letters
+ or a word close to the end of the version name. For example
+ "uek" for the Oracle Unbreakable Enterprise Kernel or
+ "default" or "desktop" for the standard kernels. In this
+ case, the package name is
+ <filepath>kernel-uek-devel</filepath> or equivalent. If
+ there is no such code, it is usually
+ <filepath>kernel-devel</filepath>.
+ </p>
+ </li>
+ <li>
+ <p>
+ On some SUSE and openSUSE Linux versions, you may need to
+ install the <filepath>kernel-source</filepath> and
+ <filepath>kernel-syms</filepath> packages.
+ </p>
+ </li>
+ </ul>
+ <p>
+ If you suspect that something has gone wrong with module
+ installation, check that your system is set up as described
+ above and try running the following command, as root:
+ </p>
+ <pre xml:space="preserve">rcvboxdrv setup</pre>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/features-overview.dita b/doc/manual/en_US/dita/topics/features-overview.dita
new file mode 100644
index 00000000000..58ed8a3714a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/features-overview.dita
@@ -0,0 +1,233 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="features-overview">
+ <title>Features Overview</title>
+
+ <body>
+ <p>
+ The following is a brief outline of Oracle VM VirtualBox's main
+ features:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Portability.</b> Oracle VM VirtualBox
+ runs on a large number of 64-bit host operating systems. See
+ <xref href="hostossupport.dita#hostossupport"/>.
+ </p>
+ <p>
+ Oracle VM VirtualBox is a so-called <i>hosted</i>
+ hypervisor, sometimes referred to as a <i>type
+ 2</i> hypervisor. Whereas a
+ <i>bare-metal</i> or <i>type 1</i>
+ hypervisor runs directly on the hardware, Oracle VM VirtualBox
+ requires an existing OS to be installed. It can thus run
+ alongside existing applications on that host.
+ </p>
+ <p>
+ To a very large degree, Oracle VM VirtualBox is functionally
+ identical on all of the host platforms, and the same file and
+ image formats are used. This enables you to run virtual
+ machines created on one host on another host with a different
+ host OS. For example, you can create a virtual machine on
+ Windows and then run it on Linux.
+ </p>
+ <p>
+ In addition, virtual machines can easily be imported and
+ exported using the Open Virtualization Format (OVF), an
+ industry standard created for this purpose. You can even
+ import OVFs that were created with a different virtualization
+ software. See <xref href="ovf.dita#ovf"/>.
+ </p>
+ <p>
+ For users of Oracle Cloud Infrastructure the functionality extends to exporting and
+ importing virtual machines to and from the cloud. This
+ simplifies development of applications and deployment to the
+ production environment. See
+ <xref href="cloud-export-oci.dita#cloud-export-oci"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Guest Additions: shared folders,
+ seamless windows, 3D virtualization.</b> The
+ Oracle VM VirtualBox Guest Additions are software packages which can
+ be installed <i>inside</i> of supported guest
+ systems to improve their performance and to provide additional
+ integration and communication with the host system. After
+ installing the Guest Additions, a virtual machine will support
+ automatic adjustment of video resolutions, seamless windows,
+ accelerated 3D graphics and more. See
+ <xref href="guestadditions.dita#guestadditions"/>.
+ </p>
+ <p>
+ In particular, Guest Additions provide for <i>shared
+ folders</i>, which let you access files on the host
+ system from within a guest machine. See
+ <xref href="sharedfolders.dita#sharedfolders"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Comprehensive hardware
+ support.</b> Among other features, Oracle VM VirtualBox
+ supports the following:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Guest multiprocessing
+ (SMP).</b> Oracle VM VirtualBox can present up to 32
+ virtual CPUs to each virtual machine, irrespective of how
+ many CPU cores are physically present on your host.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">USB device support.</b>
+ Oracle VM VirtualBox implements a virtual USB controller and
+ enables you to connect arbitrary USB devices to your
+ virtual machines without having to install device-specific
+ drivers on the host. USB support is not limited to certain
+ device categories. See <xref href="settings-usb.dita#settings-usb"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Hardware compatibility.</b>
+ Oracle VM 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 computer
+ systems. This enables easy cloning of disk images from
+ real machines and importing of third-party virtual
+ machines into Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Full ACPI support.</b> The
+ Advanced Configuration and Power Interface (ACPI) is fully
+ supported by Oracle VM VirtualBox. This enables easy cloning of
+ disk images from real machines or third-party virtual
+ machines into Oracle VM VirtualBox. With its unique
+ <i>ACPI power status support</i>,
+ Oracle VM VirtualBox can even report to ACPI-aware guest OSes
+ the power status of the host. For mobile systems running
+ on battery, the guest can thus enable energy saving and
+ notify the user of the remaining power, for example in
+ full screen modes.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Multiscreen resolutions.</b>
+ Oracle VM VirtualBox virtual machines support screen resolutions
+ many times that of a physical screen, allowing them to be
+ spread over a large number of screens attached to the host
+ system.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Built-in iSCSI support.</b>
+ This unique feature enables you to connect a virtual
+ machine directly to an iSCSI storage server without going
+ through the host system. The VM accesses the iSCSI target
+ directly without the extra overhead that is required for
+ virtualizing hard disks in container files. See
+ <xref href="storage-iscsi.dita#storage-iscsi"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">PXE Network boot.</b> The
+ integrated virtual network cards of Oracle VM VirtualBox fully
+ support remote booting using the Preboot Execution
+ Environment (PXE).
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p><b outputclass="bold">Multigeneration branched
+ snapshots.</b> Oracle VM VirtualBox can save arbitrary
+ snapshots of the state of the virtual machine. You can go back
+ in time and revert the virtual machine to any such snapshot
+ and start an alternative VM configuration from there,
+ effectively creating a whole snapshot tree. See
+ <xref href="snapshots.dita#snapshots"/>. You can create and delete
+ snapshots while the virtual machine is running.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">VM groups.</b> Oracle VM VirtualBox
+ provides a groups feature that enables the user to organize
+ and control virtual machines collectively, as well as
+ individually. In addition to basic groups, it is also possible
+ for any VM to be in more than one group, and for groups to be
+ nested in a hierarchy. This means you can have groups of
+ groups. In general, the operations that can be performed on
+ groups are the same as those that can be applied to individual
+ VMs: Start, Pause, Reset, Close (Save state, Send Shutdown,
+ Poweroff), Discard Saved State, Show in File System, Sort.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Clean architecture and unprecedented
+ modularity.</b> Oracle VM VirtualBox has an extremely modular
+ design with well-defined internal programming interfaces and a
+ clean separation of client and server code. This makes it easy
+ to control it from several interfaces at once. For example,
+ you can start a VM simply by clicking on a button in the
+ Oracle VM VirtualBox graphical user interface and then control that
+ machine from the command line, or even remotely. See
+ <xref href="frontends.dita#frontends"/>.
+ </p>
+ <p>
+ Due to its modular architecture, Oracle VM VirtualBox can also
+ expose its full functionality and configurability through a
+ comprehensive <b outputclass="bold">software development kit
+ (SDK),</b> which enables integration of Oracle VM VirtualBox
+ with other software systems. See
+ <xref href="VirtualBoxAPI.dita">Oracle VM VirtualBox Programming Interfaces</xref>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Remote machine display.</b> The
+ VirtualBox Remote Desktop Extension (VRDE) enables
+ high-performance remote access to any running virtual machine.
+ This extension supports the Remote Desktop Protocol (RDP)
+ originally built into Microsoft Windows, with special
+ additions for full client USB support.
+ </p>
+ <p>
+ The VRDE does not rely on the RDP server that is built into
+ Microsoft Windows. Instead, the VRDE is plugged directly into
+ the virtualization layer. As a result, it works with guest
+ OSes other than Windows, even in text mode, and does not
+ require application support in the virtual machine either. The
+ VRDE is described in detail in <xref href="vrde.dita">Remote Display (VRDP Support)</xref>.
+ </p>
+ <p>
+ On top of this special capacity, Oracle VM VirtualBox offers you
+ more unique features:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Extensible RDP
+ authentication.</b> Oracle VM VirtualBox already supports
+ Winlogon on Windows and PAM on Linux for RDP
+ authentication. In addition, it includes an easy-to-use
+ SDK which enables you to create arbitrary interfaces for
+ other methods of authentication. See
+ <xref href="vbox-auth.dita">RDP Authentication</xref>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">USB over RDP.</b> Using RDP
+ virtual channel support, Oracle VM VirtualBox also enables you
+ to connect arbitrary USB devices locally to a virtual
+ machine which is running remotely on an Oracle VM VirtualBox RDP
+ server. See <xref href="usb-over-rdp.dita">Remote USB</xref>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/fine-tune-timers.dita b/doc/manual/en_US/dita/topics/fine-tune-timers.dita
new file mode 100644
index 00000000000..c4c8f485067
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/fine-tune-timers.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="fine-tune-timers">
+ <title>Fine Tuning Timers and Time Synchronization</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/flush-level1-data-cache-mitigation.dita b/doc/manual/en_US/dita/topics/flush-level1-data-cache-mitigation.dita
new file mode 100644
index 00000000000..8771e44de9f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/flush-level1-data-cache-mitigation.dita
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="flush-level1-data-cache-mitigation">
+ <title>Flushing the Level 1 Data Cache</title>
+
+ <body>
+ <p>
+ This aims at removing potentially sensitive data from the
+ level 1 data cache when running guest code. However, it is
+ made difficult by hyper-threading setups sharing the level 1
+ cache and thereby potentially letting the other thread in a
+ pair refill the cache with data the user does not want the
+ guest to see. In addition, flushing the level 1 data cache is
+ usually not without performance side effects.
+ </p>
+ <p>
+ Up to date CPU microcode is a prerequisite for the cache
+ flushing mitigations. Some host OSes may install these
+ automatically, though it has traditionally been a task best
+ performed by the system firmware. So, please check with your
+ system / mainboard manufacturer for the latest firmware
+ update.
+ </p>
+ <p>
+ We recommend disabling hyper threading on the host. This is
+ traditionally done from the firmware setup, but some OSes also
+ offers ways disable HT. In some cases it may be disabled by
+ default, but please verify as the effectiveness of the
+ mitigation depends on it.
+ </p>
+ <p>
+ The default action taken by VirtualBox is to flush the level 1
+ data cache when a thread is scheduled to execute guest code,
+ rather than on each VM entry. This reduces the performance
+ impact, while making the assumption that the host OS will not
+ handle security sensitive data from interrupt handlers and
+ similar without taking precautions.
+ </p>
+ <p>
+ A more aggressive flushing option is provided via the
+ <userinput>VBoxManage modifyvm</userinput>
+ <codeph>--l1d-flush-on-vm-entry</codeph> option. When enabled
+ the level 1 data cache will be flushed on every VM entry. The
+ performance impact is greater than with the default option,
+ though this of course depends on the workload. Workloads
+ producing a lot of VM exits (like networking, VGA access, and
+ similiar) will probably be most impacted.
+ </p>
+ <p>
+ For users not concerned by this security issue, the default
+ mitigation can be disabled using the <userinput>VBoxManage
+ modifyvm <varname>name</varname> --l1d-flush-on-sched off</userinput> command.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/frontends.dita b/doc/manual/en_US/dita/topics/frontends.dita
new file mode 100644
index 00000000000..fa1236be0dc
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/frontends.dita
@@ -0,0 +1,59 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="frontends">
+ <title>Alternative Front-Ends</title>
+
+ <body>
+ <p>
+ As briefly mentioned in <xref href="features-overview.dita#features-overview"/>,
+ Oracle VM VirtualBox has a very flexible internal design that enables
+ you to use multiple interfaces to control the same virtual
+ machines. For example, you can start a virtual machine with the
+ VirtualBox Manager window and then stop it from the command line. With
+ Oracle VM VirtualBox's support for the Remote Desktop Protocol (RDP),
+ you can even run virtual machines remotely on a headless server
+ and have all the graphical output redirected over the network.
+ </p>
+ <p>
+ The following front-ends are shipped in the standard
+ Oracle VM VirtualBox package:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">VirtualBox.</b> This is the
+ VirtualBox Manager, a graphical user interface that uses the Qt
+ toolkit. This interface is described throughout this manual.
+ While this is the simplest and easiest front-end to use, some
+ of the more advanced Oracle VM VirtualBox features are not included.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">VBoxManage.</b> A command-line
+ interface for automated and detailed control of every aspect
+ of Oracle VM VirtualBox. See
+ <xref href="vboxmanage.dita#vboxmanage"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">VBoxHeadless.</b> A front-end
+ that produces no visible output on the host at all, but can
+ act as a RDP server if the VirtualBox Remote Desktop Extension
+ (VRDE) is installed and enabled for the VM. As opposed to the
+ other graphical interfaces, the headless front-end requires no
+ graphics support. This is useful, for example, if you want to
+ host your virtual machines on a headless Linux server that has
+ no X Window system installed. See
+ <xref href="vboxheadless.dita">VBoxHeadless, the Remote Desktop Server</xref>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ If the above front-ends still do not satisfy your particular
+ needs, it is possible to create yet another front-end to the
+ complex virtualization engine that is the core of Oracle VM VirtualBox,
+ as the Oracle VM VirtualBox core neatly exposes all of its features in a
+ clean API. See <xref href="VirtualBoxAPI.dita">Oracle VM VirtualBox Programming Interfaces</xref>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/generalsettings.dita b/doc/manual/en_US/dita/topics/generalsettings.dita
new file mode 100644
index 00000000000..ca88e4da5c0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/generalsettings.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="generalsettings">
+ <title>General Settings</title>
+
+ <body>
+ <p>
+ In the <b outputclass="bold">Settings</b> window, under
+ <b outputclass="bold">General</b>, you can configure the
+ most fundamental aspects of the virtual machine such as memory and
+ essential hardware. The following tabs are available.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gimdebug.dita b/doc/manual/en_US/dita/topics/gimdebug.dita
new file mode 100644
index 00000000000..00af68364c0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gimdebug.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gimdebug">
+ <title>Paravirtualized Debugging</title>
+
+ <body>
+ <p>
+ This section covers debugging of guest operating systems using
+ interfaces supported by paravirtualization providers.
+ </p>
+ <note>
+ <p>
+ Paravirtualized debugging significantly alter guest operating
+ system behaviour and should only be used by expert users for
+ debugging and diagnostics.
+ </p>
+ </note>
+ <p>
+ These debug options are specified as a string of key-value pairs
+ separated by commas. An empty string disables paravirtualized
+ debugging.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gimdebughyperv-windows-setup.dita b/doc/manual/en_US/dita/topics/gimdebughyperv-windows-setup.dita
new file mode 100644
index 00000000000..3c8659818ef
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gimdebughyperv-windows-setup.dita
@@ -0,0 +1,198 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gimdebughyperv-windows-setup">
+ <title>Setting up Windows Guests for Debugging with the Hyper-V
+ Paravirtualization Provider</title>
+
+ <body>
+ <p>
+ Windows supports debugging over a serial cable, USB, IEEE 1394
+ Firewire, and Ethernet. USB and IEEE 1394 are not applicable
+ for virtual machines, and Ethernet requires Windows 8 or
+ later. While a serial connection is universally usable, it is
+ slow.
+ </p>
+ <p>
+ Debugging using the Hyper-V debug transport, supported on
+ Windows Vista and later, offers significant benefits. It
+ provides excellent performance due to direct host-to-guest
+ transfers, it is easy to set up and requires minimal support
+ from the hypervisor. It can be used with the debugger running
+ on the same host as the VM or with the debugger and VM on
+ separate machines connected over a network.
+ </p>
+ <p>
+ <b outputclass="bold">Prerequisites</b>
+ </p>
+ <ul>
+ <li>
+ <p>
+ A VM configured for Hyper-V paravirtualization running a
+ Windows Vista or newer Windows guest. You can check the
+ effective paravirtualization provider for your VM with the
+ output of the following <userinput>VBoxManage</userinput>
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage showvminfo <varname>VM-name</varname>
+ </pre>
+ </li>
+ <li>
+ <p>
+ A sufficiently up-to-date version of the Microsoft WinDbg
+ debugger required to debug the version of Windows in your
+ VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ While Windows 8 and newer Windows guests ship with Hyper-V
+ debug support, Windows 7 and Vista do not. To use Hyper-V
+ debugging with a Windows 7 or Vista guest, copy the file
+ <filepath>kdvm.dll</filepath> from a Windows 8.0
+ installation. This file is typically located in
+ <filepath>C:\Windows\System32</filepath>. Copy it to the
+ same location in your Windows 7/Vista guest. Make sure you
+ copy the 32-bit or 64-bit version of the DLL which matches
+ your guest OS.
+ </p>
+ <note>
+ <p>
+ Only Windows 8.0 ships <filepath>kdvm.dll</filepath>.
+ Windows 8.1 and newer Windows versions do not.
+ </p>
+ </note>
+ </li>
+ </ul>
+ <p>
+ <b outputclass="bold">VM and Guest Configuration</b>
+ </p>
+ <ol>
+ <li>
+ <p>
+ Power off the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Enable the debug options with the following
+ <userinput>VBoxManage</userinput> command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --paravirt-debug "enabled=1"</pre>
+ <p>
+ The above command assumes your debugger will connect to
+ your host machine on UDP port 50000. However, if you need
+ to run the debugger on a remote machine you may specify
+ the remote address and port here. For example:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> \
+--paravirt-debug "enabled=1,address=192.168.32.1,port=55000"</pre>
+ <p>
+ See <xref href="gimdebughyperv.dita#gimdebughyperv"/> for the complete set
+ of options.
+ </p>
+ </li>
+ <li>
+ <p>
+ Start the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ In the guest, start an elevated command prompt and execute
+ the following commands:
+ </p>
+ <ul>
+ <li>
+ <p>
+ For a Windows 8 or newer Windows guest:
+ </p>
+ <pre xml:space="preserve">bcdedit /dbgsettings net hostip:5.5.5.5 port:50000 key:1.2.3.4</pre>
+ </li>
+ <li>
+ <p>
+ For a Windows 7 or Vista guest:
+ </p>
+ <pre xml:space="preserve">bcdedit /set loadoptions host_ip=5.5.5.5,host_port=50000,encryption_key=1.2.3.4</pre>
+ <pre xml:space="preserve">bcdedit /set dbgtransport kdvm.dll</pre>
+ <p>
+ The IP address and port in the
+ <userinput>bcdedit</userinput> command are ignored when
+ using the Hyper-V debug transport. Any valid IP and a
+ port number greater than 49151 and lower than 65536
+ can be entered.
+ </p>
+ <p>
+ The encryption key in the <userinput>bcdedit</userinput>
+ command is relevant and must be valid. The key
+ "1.2.3.4" used in the above example is valid and may
+ be used if security is not a concern. If you do not
+ specify any encryption key, <userinput>bcdedit</userinput>
+ will generate one for you and you will need to copy
+ this key to later enter in Microsoft WinDbg on the
+ remote end. This encryption key is used to encrypt the
+ debug data exchanged between Windows and the debugger.
+ </p>
+ </li>
+ <li>
+ <p>
+ Run one or more of the following commands to enable
+ debugging for the appropriate phase or component of
+ your Windows guest:
+ </p>
+ <pre xml:space="preserve">bcdedit /set debug on</pre>
+ <pre xml:space="preserve">bcdedit /set bootdebug on</pre>
+ <pre xml:space="preserve">bcdedit /set {bootmgr} bootdebug on</pre>
+ <p>
+ Please note that the <userinput>bootdebug</userinput>
+ options are only effective on Windows 8 or newer when
+ using the Hyper-V debug transport. Refer to Microsoft
+ Windows documentation for detailed explanation of
+ <userinput>bcdedit</userinput> options.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Start Microsoft WinDbg on your host machine or remote
+ host.
+ </p>
+ <p>
+ From the <b outputclass="bold">File</b> menu,
+ select <b outputclass="bold">Kernel Debug</b>. On
+ the <b outputclass="bold">NET</b> tab, specify the
+ UDP port number you used in the
+ <codeph>paravirtdebug</codeph> options. If you did not
+ specify any, leave it as 50000. Ensure that the UDP port
+ is not blocked by a firewall or other security software.
+ </p>
+ <p>
+ In the <b outputclass="bold">Key</b> field, enter
+ <codeph>1.2.3.4</codeph> or the encryption key from the
+ <userinput>bcdedit</userinput> command in your Windows guest.
+ </p>
+ <p>
+ Click <b outputclass="bold">OK</b> to start
+ listening for connections. Microsoft WinDbg typically
+ shows a Waiting to Reconnect message during this phase.
+ </p>
+ <p>
+ Alternatively, to directly start a debug session, run
+ WinDbg from the command line as follows :
+ </p>
+ <pre xml:space="preserve">windbg.exe -k net:port=50000,key=1.2.3.4</pre>
+ <p>
+ See the WinDbg documentation for the complete command line
+ syntax.
+ </p>
+ </li>
+ <li>
+ <p>
+ Reboot your Windows guest and it should then connect as a
+ debuggee with Microsoft WinDbg.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gimdebughyperv.dita b/doc/manual/en_US/dita/topics/gimdebughyperv.dita
new file mode 100644
index 00000000000..ac6cb6e9cf5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gimdebughyperv.dita
@@ -0,0 +1,120 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gimdebughyperv">
+ <title>Hyper-V Debug Options</title>
+
+ <body>
+ <p>
+ All of the options listed below are optional, and thus the
+ default value specified will be used when the corresponding
+ key-value pair is not specified.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Key:
+ <b outputclass="bold"><codeph>enabled</codeph></b>
+ </p>
+ <p>
+ Value: <codeph>0</codeph> or <codeph>1</codeph>
+ </p>
+ <p>
+ Default: <codeph>0</codeph>
+ </p>
+ <p>
+ Specify <codeph>1</codeph> to enable the Hyper-V debug
+ interface. If this key-value pair is not specified or the
+ value is not <codeph>1</codeph>, the Hyper-V debug
+ interface is disabled regardless of other key-value pairs
+ being present.
+ </p>
+ </li>
+ <li>
+ <p>
+ Key:
+ <b outputclass="bold"><codeph>address</codeph></b>
+ </p>
+ <p>
+ Value: IPv4 address
+ </p>
+ <p>
+ Default: 127.0.0.1
+ </p>
+ <p>
+ Specify the IPv4 address where the remote debugger is
+ connected.
+ </p>
+ </li>
+ <li>
+ <p>
+ Key:
+ <b outputclass="bold"><codeph>port</codeph></b>
+ </p>
+ <p>
+ Value: UDP port number
+ </p>
+ <p>
+ Default: 50000
+ </p>
+ <p>
+ Specify the UDP port number where the remote debugger is
+ connected.
+ </p>
+ </li>
+ <li>
+ <p>
+ Key:
+ <b outputclass="bold"><codeph>vendor</codeph></b>
+ </p>
+ <p>
+ Value: Hyper-V vendor signature reported by CPUID to the
+ guest
+ </p>
+ <p>
+ Default: When debugging is enabled: <codeph>Microsoft
+ Hv</codeph>, otherwise: <codeph>VBoxVBoxVBox</codeph>
+ </p>
+ <p>
+ Specify the Hyper-V vendor signature which is exposed to the
+ guest by CPUID. For debugging Microsoft Windows guests, it
+ is required the hypervisor reports the Microsoft vendor.
+ </p>
+ </li>
+ <li>
+ <p>
+ Key:
+ <b outputclass="bold"><codeph>hypercallinterface</codeph></b>
+ </p>
+ <p>
+ Value: <codeph>0</codeph> or <codeph>1</codeph>
+ </p>
+ <p>
+ Default: <codeph>0</codeph>
+ </p>
+ <p>
+ Specify whether hypercalls should be suggested for
+ initiating debug data transfers between host and guest
+ rather than MSRs when requested by the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ Key: <b outputclass="bold"><codeph>vsinterface</codeph></b>
+ </p>
+ <p>
+ Value: <codeph>0</codeph> or <codeph>1</codeph>
+ </p>
+ <p>
+ Default: When debugging is enabled, <codeph>1</codeph>,
+ otherwise <codeph>0</codeph>
+ </p>
+ <p>
+ Specify whether to expose the VS#1 virtualization service
+ interface to the guest. This interface is required for
+ debugging Microsoft Windows 10 32-bit guests, but is
+ optional for other Windows versions.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gimproviders.dita b/doc/manual/en_US/dita/topics/gimproviders.dita
new file mode 100644
index 00000000000..01a90745dd7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gimproviders.dita
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gimproviders">
+ <title>Paravirtualization Providers</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables the exposure of a paravirtualization
+ interface, to facilitate accurate and efficient execution of
+ software within a virtual machine. These interfaces require the
+ guest operating system to recognize their presence and make use of
+ them in order to leverage the benefits of communicating with the
+ Oracle VM VirtualBox hypervisor.
+ </p>
+ <p>
+ Most modern, mainstream guest operating systems, including Windows
+ and Linux, ship with support for one or more paravirtualization
+ interfaces. Hence, there is typically no need to install
+ additional software in the guest to take advantage of this
+ feature.
+ </p>
+ <p>
+ Exposing a paravirtualization provider to the guest operating
+ system does not rely on the choice of host platforms. For example,
+ the <i>Hyper-V</i> paravirtualization provider can
+ be used for VMs to run on any host platform supported by
+ Oracle VM VirtualBox and not just Windows.
+ </p>
+ <p>
+ Oracle VM VirtualBox provides the following interfaces:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Minimal</b>: Announces the
+ presence of a virtualized environment. Additionally, reports
+ the TSC and APIC frequency to the guest operating system. This
+ provider is mandatory for running any Mac OS X guests.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">KVM</b>: Presents a Linux KVM
+ hypervisor interface which is recognized by Linux kernels
+ version 2.6.25 or later. Oracle VM VirtualBox's implementation
+ currently supports paravirtualized clocks and SMP spinlocks.
+ This provider is recommended for Linux guests.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Hyper-V</b>: Presents a Microsoft
+ Hyper-V hypervisor interface which is recognized by Windows 7
+ and newer operating systems. Oracle VM VirtualBox's implementation
+ currently supports paravirtualized clocks, APIC frequency
+ reporting, guest debugging, guest crash reporting and relaxed
+ timer checks. This provider is recommended for Windows guests.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-acpi.dita b/doc/manual/en_US/dita/topics/glossentry-acpi.dita
new file mode 100644
index 00000000000..ff296c6164f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-acpi.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-acpi">
+ <title>ACPI</title>
+ <body>
+ <section>
+ <p>
+ Advanced Configuration and Power Interface, an industry specification for BIOS and hardware extensions
+ to configure PC hardware and perform power management. Windows 2000 and later, as well as Linux 2.4 and later
+ support ACPI. Windows can only enable or disable ACPI support at installation time.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ahci.dita b/doc/manual/en_US/dita/topics/glossentry-ahci.dita
new file mode 100644
index 00000000000..452d187899f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ahci.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ahci">
+ <title>AHCI</title>
+ <body>
+ <section>
+ <p>
+ Advanced Host Controller Interface, the interface that
+ supports SATA devices such as hard disks. See <xref href="harddiskcontrollers.dita#harddiskcontrollers"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-amdv.dita b/doc/manual/en_US/dita/topics/glossentry-amdv.dita
new file mode 100644
index 00000000000..86625fd81ff
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-amdv.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-amdv">
+ <title>AMD-V</title>
+ <body>
+ <section>
+ <p>
+ The hardware virtualization features built into modern AMD
+ processors.
+ See <xref href="hwvirt.dita">Hardware Virtualization</xref>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-api.dita b/doc/manual/en_US/dita/topics/glossentry-api.dita
new file mode 100644
index 00000000000..ec869cbbdf3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-api.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-api">
+ <title>API</title>
+ <body>
+ <section>
+ <p>
+ Application Programming Interface.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-apic.dita b/doc/manual/en_US/dita/topics/glossentry-apic.dita
new file mode 100644
index 00000000000..484739b6b12
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-apic.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-apic">
+ <title>APIC</title>
+ <body>
+ <section>
+ <p>
+ Advanced Programmable Interrupt Controller, a newer version of
+ the original PC PIC (programmable interrupt controller). Most
+ modern CPUs contain an on-chip APIC, called a local APIC. Many
+ systems also contain an I/O APIC (input output APIC) as a
+ separate chip which provides more than 16 IRQs. Windows 2000
+ and later use a different kernel if they detect an I/O APIC
+ during installation. Therefore, an I/O APIC must not be
+ removed after installation.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ata.dita b/doc/manual/en_US/dita/topics/glossentry-ata.dita
new file mode 100644
index 00000000000..4028fbf4654
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ata.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ata">
+ <title>ATA</title>
+ <body>
+ <section>
+ <p>
+Advanced Technology Attachment, an industry standard for hard disk interfaces which is synonymous with
+IDE. See <xref href="harddiskcontrollers.dita#harddiskcontrollers"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-bios.dita b/doc/manual/en_US/dita/topics/glossentry-bios.dita
new file mode 100644
index 00000000000..3f98bcd8293
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-bios.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-bios">
+ <title>BIOS</title>
+ <body>
+ <section>
+ <p>
+ Basic Input/Output System, the firmware built into most personal computers which is
+ responsible of initializing the hardware after the computer has been turned on and
+ then booting an operating system. Oracle VM VirtualBox ships with its own virtual BIOS
+ that runs when a virtual machine is started.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-com.dita b/doc/manual/en_US/dita/topics/glossentry-com.dita
new file mode 100644
index 00000000000..d123b7f0283
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-com.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-com">
+ <title>COM</title>
+ <body>
+ <section>
+ <p>
+ Microsoft Component Object Model, a programming infrastructure for modular software.
+ COM enables applications to provide application programming interfaces which can be
+ accessed from various other programming languages and applications.
+ Oracle VM VirtualBox makes use of COM both internally and externally to provide a
+ comprehensive API to third party developers.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-dhcp.dita b/doc/manual/en_US/dita/topics/glossentry-dhcp.dita
new file mode 100644
index 00000000000..62b07079e52
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-dhcp.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-dhcp">
+ <title>DHCP</title>
+ <body>
+ <section>
+ <p>
+ Dynamic Host Configuration Protocol. This enables a networking device in a network to
+ acquire its IP address and other networking details automatically, in order to avoid
+ having to configure all devices in a network with fixed IP addresses. Oracle VM VirtualBox
+ has a built-in DHCP server that delivers an IP addresses to a virtual machine when networking
+ is configured to NAT. See <xref href="networkingdetails.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-efi.dita b/doc/manual/en_US/dita/topics/glossentry-efi.dita
new file mode 100644
index 00000000000..42502d8798b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-efi.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-efi">
+ <title>EFI</title>
+ <body>
+ <section>
+ <p>
+ Extensible Firmware Interface, a firmware built into computers which is designed to replace
+ the aging BIOS. Originally designed by Intel, most modern operating systems can now boot
+ on computers which have EFI instead of a BIOS built into them.
+ See <xref href="efi.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ehci.dita b/doc/manual/en_US/dita/topics/glossentry-ehci.dita
new file mode 100644
index 00000000000..6de5b127e30
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ehci.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ehci">
+ <title>EHCI</title>
+ <body>
+ <section>
+ <p>
+ Enhanced Host Controller Interface, the interface that implements the USB 2.0 standard.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-gui.dita b/doc/manual/en_US/dita/topics/glossentry-gui.dita
new file mode 100644
index 00000000000..86e86097513
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-gui.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-gui">
+ <title>GUI</title>
+ <body>
+ <section>
+ <p>
+ Graphical User Interface. Commonly used as an antonym to a "command line interface".
+ In the context of Oracle VM VirtualBox, we sometimes refer to the main graphical
+ VirtualBox program as the "GUI", to differentiate it from the VBoxManage interface.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-guid.dita b/doc/manual/en_US/dita/topics/glossentry-guid.dita
new file mode 100644
index 00000000000..f67d91e4fc4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-guid.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-guid">
+ <title>GUID</title>
+ <body>
+ <section>
+ <p>
+ See UUID.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ide.dita b/doc/manual/en_US/dita/topics/glossentry-ide.dita
new file mode 100644
index 00000000000..65676a3a4ee
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ide.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ide">
+ <title>IDE</title>
+ <body>
+ <section>
+ <p>
+ Integrated Drive Electronics, an industry standard for hard disk interfaces.
+ See <xref href="harddiskcontrollers.dita#harddiskcontrollers"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ioapic.dita b/doc/manual/en_US/dita/topics/glossentry-ioapic.dita
new file mode 100644
index 00000000000..9213d0fc18a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ioapic.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ioapic">
+ <title>GUI</title>
+ <body>
+ <section>
+ <p>
+ See APIC.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-iscsi.dita b/doc/manual/en_US/dita/topics/glossentry-iscsi.dita
new file mode 100644
index 00000000000..b6226c34352
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-iscsi.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-iscsi">
+ <title>iSCSI</title>
+ <body>
+ <section>
+ <p>
+ Internet SCSI. See <xref href="storage-iscsi.dita"/>
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-mac.dita b/doc/manual/en_US/dita/topics/glossentry-mac.dita
new file mode 100644
index 00000000000..1fd04b00121
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-mac.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-mac">
+ <title>MAC</title>
+ <body>
+ <section>
+ <p>
+ 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 <codeph>00:17:3A:5E:CB:08</codeph>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-msi.dita b/doc/manual/en_US/dita/topics/glossentry-msi.dita
new file mode 100644
index 00000000000..36316228c26
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-msi.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-msi">
+ <title>MSI</title>
+ <body>
+ <section>
+ <p>
+ Message Signaled Interrupts, as supported by modern chipsets such as
+ the ICH9. See <xref href="settings-motherboard.dita"/>. As opposed to traditional
+ pin-based interrupts, with MSI, a small amount of data can accompany
+ the actual interrupt message. This reduces the amount of hardware pins
+ required and allows for more interrupts and better performance.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-nat.dita b/doc/manual/en_US/dita/topics/glossentry-nat.dita
new file mode 100644
index 00000000000..b1cd035800e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-nat.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-nat">
+ <title>NAT</title>
+ <body>
+ <section>
+ <p>
+ Network Address Translation. A technique to share networking interfaces
+ by which an interface modifies the source and/or target IP addresses of
+ network packets according to specific rules. Commonly employed by routers
+ and firewalls to shield an internal network from the Internet,
+ Oracle VM VirtualBox can use NAT to easily share a host's physical
+ networking hardware with its virtual machines.
+ See <xref href="network_nat.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ovf.dita b/doc/manual/en_US/dita/topics/glossentry-ovf.dita
new file mode 100644
index 00000000000..20c27b48059
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ovf.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ovf">
+ <title>OVF</title>
+ <body>
+ <section>
+ <p>
+ Open Virtualization Format, a cross-platform industry standard to exchange virtual
+ appliances between virtualization products. See <xref href="ovf.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-pae.dita b/doc/manual/en_US/dita/topics/glossentry-pae.dita
new file mode 100644
index 00000000000..8bc88d08ec4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-pae.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-pae">
+ <title>PAE</title>
+ <body>
+ <section>
+ <p>
+ Physical Address Extension. This enables access to more than 4 GB
+ of RAM, even in 32-bit environments. See <xref href="settings-general-advanced.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-pic.dita b/doc/manual/en_US/dita/topics/glossentry-pic.dita
new file mode 100644
index 00000000000..9a7b59d299e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-pic.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-pic">
+ <title>PIC</title>
+ <body>
+ <section>
+ <p>
+ See APIC.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-pxe.dita b/doc/manual/en_US/dita/topics/glossentry-pxe.dita
new file mode 100644
index 00000000000..a49bec249d2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-pxe.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-pxe">
+ <title>PXE</title>
+ <body>
+ <section>
+ <p>
+ Preboot Execution Environment, an industry standard for booting
+ PC systems from remote network locations. It includes DHCP for IP
+ configuration and TFTP for file transfer. Using UNDI, a hardware
+ independent driver stack for accessing the network card from bootstrap
+ code is available.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-rdp.dita b/doc/manual/en_US/dita/topics/glossentry-rdp.dita
new file mode 100644
index 00000000000..e00b197387d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-rdp.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-rdp">
+ <title>RDP</title>
+ <body>
+ <section>
+ <p>
+ 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. An Oracle VM VirtualBox extension package by
+ Oracle provides VRDP, an enhanced implementation of the relevant
+ standards which is largely compatible with Microsoft's RDP
+ implementation.
+ See <xref href="remotevm.dita">Remote Display (VRDP Support)</xref> for details.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-sas.dita b/doc/manual/en_US/dita/topics/glossentry-sas.dita
new file mode 100644
index 00000000000..bc540b10dbf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-sas.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-sas">
+ <title>SAS</title>
+ <body>
+ <section>
+ <p>
+ Serial Attached SCSI, an industry standard for hard disk interfaces.
+ See <xref href="harddiskcontrollers.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-sata.dita b/doc/manual/en_US/dita/topics/glossentry-sata.dita
new file mode 100644
index 00000000000..572d71a8d6a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-sata.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-sata">
+ <title>SATA</title>
+ <body>
+ <section>
+ <p>
+ Serial ATA, an industry standard for hard disk interfaces.
+ See <xref href="harddiskcontrollers.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-scsi.dita b/doc/manual/en_US/dita/topics/glossentry-scsi.dita
new file mode 100644
index 00000000000..9e25923e1dd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-scsi.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-scsi">
+ <title>SCSI</title>
+ <body>
+ <section>
+ <p>
+ Small Computer System Interface. An industry standard for data
+ transfer between devices, especially for storage. See <xref href="harddiskcontrollers.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-smp.dita b/doc/manual/en_US/dita/topics/glossentry-smp.dita
new file mode 100644
index 00000000000..236d4146fe9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-smp.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-smp">
+ <title>SMP</title>
+ <body>
+ <section>
+ <p>
+ Symmetrical Multiprocessing, meaning that the resources of a
+ computer are shared between several processors. These can either
+ be several processor chips or, as is more common with modern
+ hardware, multiple CPU cores in one processor.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-ssd.dita b/doc/manual/en_US/dita/topics/glossentry-ssd.dita
new file mode 100644
index 00000000000..415f3a75e69
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-ssd.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-ssd">
+ <title>SSD</title>
+ <body>
+ <section>
+ <p>
+ Solid-state drive, uses microchips for storing data in a computer
+ system. Compared to classical hard-disks they have no mechanical
+ components, such as spinning disks.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-tar.dita b/doc/manual/en_US/dita/topics/glossentry-tar.dita
new file mode 100644
index 00000000000..c0f640053f6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-tar.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-tar">
+ <title>TAR</title>
+ <body>
+ <section>
+ <p>
+ A widely used file format for archiving. Originally, this stood for Tape ARchive
+ and was already supported by very early UNIX versions for backing up data on
+ tape. The file format is still widely used today. For example, with OVF archives
+ using an <codeph>.ova</codeph> file extension.
+ See <xref href="ovf.dita"/>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-uuid.dita b/doc/manual/en_US/dita/topics/glossentry-uuid.dita
new file mode 100644
index 00000000000..e08ce455c4a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-uuid.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-uuid">
+ <title>UUID</title>
+ <body>
+ <section>
+ <p>
+ A Universally Unique Identifier, often also called GUID (Globally Unique Identifier).
+ A UUID is a string of numbers and letters which can be computed dynamically and is
+ guaranteed to be unique. Generally, it is used as a global handle to identify entities.
+ Oracle VM VirtualBox makes use of UUIDs to identify VMs, Virtual Disk Images (VDI files),
+ and other entities.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-vm.dita b/doc/manual/en_US/dita/topics/glossentry-vm.dita
new file mode 100644
index 00000000000..40a9c96d192
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-vm.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-vm">
+ <title>VM</title>
+ <body>
+ <section>
+ <p>
+ Virtual Machine. A virtual computer that Oracle VM VirtualBox enables
+ you to run on top of your actual hardware.
+ See <xref href="virtintro.dita"/> for details.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-vmm.dita b/doc/manual/en_US/dita/topics/glossentry-vmm.dita
new file mode 100644
index 00000000000..c1b7b4d5924
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-vmm.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-vmm">
+ <title>VMM</title>
+ <body>
+ <section>
+ <p>
+ Virtual Machine Manager. The component of Oracle VM VirtualBox that controls
+ VM execution. See <xref href="technical-components.dita">Oracle VM VirtualBox Executables and Components</xref>
+ for a list of Oracle VM VirtualBox components.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-vrde.dita b/doc/manual/en_US/dita/topics/glossentry-vrde.dita
new file mode 100644
index 00000000000..6bc6b8edad3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-vrde.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-vrde">
+ <title>VRDE</title>
+ <body>
+ <section>
+ <p>
+ VirtualBox Remote Desktop Extension. This interface is built into
+ Oracle VM VirtualBox to allow Oracle VM VirtualBox extension packages
+ to supply remote access to virtual machines. An Oracle VM VirtualBox extension
+ package by Oracle provides VRDP support.
+ See <xref href="vrde.dita">Remote Display (VRDP Support)</xref>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-vrdp.dita b/doc/manual/en_US/dita/topics/glossentry-vrdp.dita
new file mode 100644
index 00000000000..61c322dd242
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-vrdp.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-vrdp">
+ <title>VRDP</title>
+ <body>
+ <section>
+ <p>
+ See RDP.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-vtx.dita b/doc/manual/en_US/dita/topics/glossentry-vtx.dita
new file mode 100644
index 00000000000..cd971aea271
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-vtx.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-vtx">
+ <title>VT-x</title>
+ <body>
+ <section>
+ <p>
+ The hardware virtualization features built into modern Intel processors.
+ See <xref href="hwvirt.dita">Hardware Virtualization</xref>.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-xhci.dita b/doc/manual/en_US/dita/topics/glossentry-xhci.dita
new file mode 100644
index 00000000000..0b338fdec79
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-xhci.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-xhci">
+ <title>xHCI</title>
+ <body>
+ <section>
+ <p>
+ eXtended Host Controller Interface. The interface that implements the USB 3.0 standard.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-xml.dita b/doc/manual/en_US/dita/topics/glossentry-xml.dita
new file mode 100644
index 00000000000..c8cefed1738
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-xml.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-xml">
+ <title>XML</title>
+ <body>
+ <section>
+ <p>
+ 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.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/glossentry-xpcom.dita b/doc/manual/en_US/dita/topics/glossentry-xpcom.dita
new file mode 100644
index 00000000000..6eb1b8cdd05
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/glossentry-xpcom.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="glossentry-xpcom">
+ <title>XPCOM</title>
+ <body>
+ <section>
+ <p>
+ Mozilla Cross Platform Component Object Model, a programming infrastructure
+ developed by the Mozilla browser project which is similar to Microsoft COM
+ and enables applications to provide a modular programming interface.
+ Oracle VM VirtualBox makes use of XPCOM on Linux both internally and
+ externally to provide a comprehensive API to third-party developers.
+ </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-2d.dita b/doc/manual/en_US/dita/topics/guestadd-2d.dita
new file mode 100644
index 00000000000..20c5c64893c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-2d.dita
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-2d">
+ <title>Hardware 2D Video Acceleration for Windows Guests</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox Guest Additions contain experimental hardware
+ 2D video acceleration support for Windows guests.
+ </p>
+ <p>
+ With this feature, if an application such as a video player
+ inside your Windows VM uses 2D video overlays to play a movie
+ clip, then Oracle VM VirtualBox will attempt to use your host's video
+ acceleration hardware instead of performing overlay stretching
+ and color conversion in software, which would be slow. This
+ currently works for Windows, Linux and macOS host platforms,
+ provided that your host operating system can make use of 2D
+ video acceleration in the first place.
+ </p>
+ <p>
+ Hardware 2D video acceleration currently has the following
+ preconditions:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Only available for Windows guests, running Windows XP or
+ later.
+ </p>
+ </li>
+ <li>
+ <p>
+ Guest Additions must be installed.
+ </p>
+ </li>
+ <li>
+ <p>
+ Because 2D support is still experimental at this time, it is
+ disabled by default and must be <i>manually
+ enabled</i> in the VM settings. See
+ <xref href="settings-display.dita#settings-display"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Technically, Oracle VM VirtualBox implements this by exposing video
+ overlay DirectDraw capabilities in the Guest Additions video
+ driver. The driver sends all overlay commands to the host
+ through a special communication tunnel implemented by
+ Oracle VM VirtualBox. On the host side, OpenGL is then used to
+ implement color space transformation and scaling.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-3d.dita b/doc/manual/en_US/dita/topics/guestadd-3d.dita
new file mode 100644
index 00000000000..48493c7a4b1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-3d.dita
@@ -0,0 +1,127 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-3d">
+ <title>Hardware 3D Acceleration (OpenGL and Direct3D 8/9)</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox Guest Additions contain experimental hardware
+ 3D support for Windows, Linux, and Oracle Solaris guests.
+ </p>
+ <p>
+ 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, Oracle VM VirtualBox will attempt to use your host's 3D
+ hardware. This works for all supported host platforms, provided
+ that your host operating system can make use of your accelerated
+ 3D hardware in the first place.
+ </p>
+ <p>
+ The 3D acceleration feature currently has the following
+ preconditions:
+ </p>
+ <ul>
+ <li>
+ <p>
+ It is only available for certain Windows, Linux, and Oracle
+ Solaris guests. In particular:
+ </p>
+ <ul>
+ <li>
+ <p>
+ 3D acceleration with Windows guests requires Windows
+ 2000 or later. Apart from on Windows 2000 guests, both
+ OpenGL and Direct3D 8/9 are supported on an experimental
+ basis.
+ </p>
+ </li>
+ <li>
+ <p>
+ OpenGL on Linux requires kernel 2.6.27 or later, as well
+ as X.org server version 1.5 or later. Ubuntu 10.10 and
+ Fedora 14 have been tested and confirmed as working.
+ </p>
+ </li>
+ <li>
+ <p>
+ OpenGL on Oracle Solaris guests requires X.org server
+ version 1.5 or later.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ The Guest Additions must be installed.
+ </p>
+ <note>
+ <p>
+ For the basic Direct3D acceleration to work in a Windows
+ Guest, Oracle VM VirtualBox needs to replace Windows system
+ files in the virtual machine. As a result, the Guest
+ Additions installation program offers Direct3D
+ acceleration as an option that must be explicitly enabled.
+ Also, you must install the Guest Additions in Safe Mode.
+ This does <i>not</i> apply to the WDDM
+ Direct3D video driver available for Windows Vista and
+ later. See <xref href="KnownIssues.dita">Known Limitations</xref> for details.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ Because 3D support is still experimental at this time, it is
+ disabled by default and must be <i>manually
+ enabled</i> in the VM settings. See
+ <xref href="settings-display.dita#settings-display"/>.
+ </p>
+ <note>
+ <p>
+ Untrusted guest systems should not be allowed to use the
+ 3D acceleration features of Oracle VM VirtualBox, just as
+ untrusted host software should not be allowed to use 3D
+ acceleration. Drivers for 3D hardware are generally too
+ complex to be made properly secure and any software which
+ is allowed to access them may be able to compromise the
+ operating system running them. In addition, enabling 3D
+ acceleration gives the guest direct access to a large body
+ of additional program code in the Oracle VM VirtualBox host
+ process which it might conceivably be able to use to crash
+ the virtual machine.
+ </p>
+ </note>
+ </li>
+ </ul>
+ <p>
+ To enable Aero theme support, the Oracle VM VirtualBox WDDM video
+ driver must be installed, which is available with the Guest
+ Additions installation. The WDDM driver is not installed by
+ default for Vista and Windows 7 guests and must be
+ <i>manually selected</i> in the Guest Additions
+ installer by clicking <b outputclass="bold">No</b> in the
+ <b outputclass="bold">Would You Like to Install Basic Direct3D
+ Support</b> dialog displayed when the Direct3D feature is
+ selected.
+ </p>
+ <p>
+ The Aero theme is not enabled by default on Windows. See your
+ Windows platform documentation for details of how to enable the
+ Aero theme.
+ </p>
+ <p>
+ Technically, Oracle VM VirtualBox implements 3D acceleration by
+ installing an additional hardware 3D driver inside the 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. When an application in the guest then requests
+ hardware acceleration through the OpenGL or Direct3D programming
+ interfaces, these are sent to the host through a special
+ communication tunnel implemented by Oracle VM VirtualBox. The
+ <i>host</i> then performs the requested 3D
+ operation using the host's programming interfaces.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-balloon.dita b/doc/manual/en_US/dita/topics/guestadd-balloon.dita
new file mode 100644
index 00000000000..586fdab3430
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-balloon.dita
@@ -0,0 +1,89 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-balloon">
+ <title>Memory Ballooning</title>
+
+ <body>
+ <p>
+ The Guest Additions can change the amount of host memory that a
+ VM uses, while the machine is running. Because of how this is
+ implemented, this feature is called <i>memory
+ ballooning</i>.
+ </p>
+ <note>
+ <ul>
+ <li>
+ <p>
+ Oracle VM VirtualBox supports memory ballooning only on 64-bit
+ hosts. It is not supported on macOS hosts.
+ </p>
+ </li>
+ <li>
+ <p>
+ Memory ballooning does not work well with large pages
+ enabled. To turn off large pages support for a VM, run
+ <userinput>VBoxManage modifyvm <varname>vmname</varname> --large-pages
+ off</userinput>
+ </p>
+ </li>
+ </ul>
+ </note>
+ <p>
+ Normally, to change the amount of memory allocated to a virtual
+ machine, you have to shut down the virtual machine entirely and
+ modify its settings. With memory ballooning, memory that was
+ allocated for a virtual machine can be given to another virtual
+ machine without having to shut the machine down.
+ </p>
+ <p>
+ When memory ballooning is requested, the Oracle VM VirtualBox Guest
+ Additions, which run inside the guest, allocate physical memory
+ from the guest operating system on the kernel level and lock
+ this memory down in the guest. This ensures that the guest will
+ not use that memory any longer. No guest applications can
+ allocate it, and the guest kernel will not use it either.
+ Oracle VM VirtualBox can then reuse this memory and give it to another
+ virtual machine.
+ </p>
+ <p>
+ The memory made available through the ballooning mechanism is
+ only available for reuse by Oracle VM VirtualBox. It is
+ <i>not</i> returned as free memory to the host.
+ Requesting balloon memory from a running guest will therefore
+ not increase the amount of free, unallocated memory on the host.
+ Effectively, memory ballooning is therefore a memory
+ overcommitment mechanism for multiple virtual machines while
+ they are running. This can be useful to temporarily start
+ another machine, or in more complicated environments, for
+ sophisticated memory management of many virtual machines that
+ may be running in parallel depending on how memory is used by
+ the guests.
+ </p>
+ <p>
+ At this time, memory ballooning is only supported through
+ <userinput>VBoxManage</userinput>. Use the following command to
+ increase or decrease the size of the memory balloon within a
+ running virtual machine that has Guest Additions installed:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm "VM name" guestmemoryballoon n</pre>
+ <p>
+ where <varname>VM name</varname> is the name or UUID of
+ the virtual machine in question and <varname>n</varname>
+ is the amount of memory to allocate from the guest in megabytes.
+ See <xref href="man_VBoxManage-controlvm.dita#vboxmanage-controlvm"/>.
+ </p>
+ <p>
+ You can also set a default balloon that will automatically be
+ requested from the VM every time after it has started up with
+ the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --guest-memory-balloon n</pre>
+ <p>
+ By default, no balloon memory is allocated. This is a VM
+ setting, like other <userinput>modifyvm</userinput> settings, and
+ therefore can only be set while the machine is shut down. See
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-dnd-formats.dita b/doc/manual/en_US/dita/topics/guestadd-dnd-formats.dita
new file mode 100644
index 00000000000..f3eef3ddee9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-dnd-formats.dita
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-dnd-formats">
+ <title>Supported Formats</title>
+
+ <body>
+ <p>
+ As Oracle VM VirtualBox can run on a variety of host operating systems
+ and also supports a wide range of guests, certain data formats
+ must be translated after transfer. This is so that the
+ destination operating system, which receives the data, is able
+ to handle them in an appropriate manner.
+ </p>
+ <note>
+ <p>
+ When dragging files no data conversion is done in any way. For
+ example, when transferring a file from a Linux guest to a
+ Windows host the Linux-specific line endings are not converted
+ to Windows line endings.
+ </p>
+ </note>
+ <p>
+ The following formats are handled by the Oracle VM VirtualBox drag and
+ drop service:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Plain text:</b> From
+ applications such as text editors, internet browsers and
+ terminal windows.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Files:</b> From file managers
+ such as Windows Explorer, Nautilus, and Finder.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Directories:</b> For
+ directories, the same formats apply as for files.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-dnd-limitations.dita b/doc/manual/en_US/dita/topics/guestadd-dnd-limitations.dita
new file mode 100644
index 00000000000..5fef59a3aec
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-dnd-limitations.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-dnd-limitations">
+ <title>Known Limitations</title>
+
+ <body>
+ <p>
+ The following limitations are known for drag and drop:
+ </p>
+ <p>
+ On Windows hosts, dragging and dropping content between
+ UAC-elevated (User Account Control) programs and
+ non-UAC-elevated programs is not allowed. If you start
+ Oracle VM VirtualBox with Administrator privileges then drag and drop
+ will not work with Windows Explorer, which runs with regular
+ user privileges by default.
+ </p>
+ <p>
+ On Linux hosts and guests, programs can query for drag and drop
+ data while the drag operation is still in progress. For example,
+ on LXDE using the PCManFM file manager. This currently is not
+ supported. As a workaround, a different file manager, such as
+ Nautilus, can be used instead.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-dnd.dita b/doc/manual/en_US/dita/topics/guestadd-dnd.dita
new file mode 100644
index 00000000000..b1900d2a8f2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-dnd.dita
@@ -0,0 +1,104 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-dnd">
+ <title>Drag and Drop</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables you to drag and drop content from the host
+ to the guest, and vice versa. For this to work the latest version
+ of the Guest Additions must be installed on the guest.
+ </p>
+ <p>
+ Drag and drop transparently allows copying or opening files,
+ directories, and even certain clipboard formats from one end to
+ the other. For example, from the host to the guest or from the
+ guest to the host. You then can perform drag and drop operations
+ between the host and a VM, as it would be a native drag and drop
+ operation on the host OS.
+ </p>
+ <p>
+ At the moment drag and drop is implemented for Windows-based and
+ X-Windows-based systems, both on the host and guest side. As
+ X-Windows supports many different drag and drop protocols only the
+ most common one, XDND, is supported for now. Applications using
+ other protocols, such as Motif or OffiX, will not be recognized by
+ Oracle VM VirtualBox.
+ </p>
+ <p>
+ In the context of using drag and drop, the origin of the data is
+ called the <i>source</i>. That is, where the actual
+ data comes from and is specified. The
+ <i>destination</i> specifies where the data from the
+ source should go to. Transferring data from the source to the
+ destination can be done in various ways, such as copying, moving,
+ or linking.
+ </p>
+ <note>
+ <p>
+ At the moment only copying of data is supported. Moving or
+ linking is not yet implemented.
+ </p>
+ </note>
+ <p>
+ When transferring data from the host to the guest OS, the host in
+ this case is the source, whereas the guest OS is the destination.
+ However, when transferring data from the guest OS to the host, the
+ guest OS this time became the source and the host is the
+ destination.
+ </p>
+ <p>
+ For security reasons drag and drop can be configured at runtime on
+ a per-VM basis either using the <b outputclass="bold">Drag and
+ Drop</b> menu item in the
+ <b outputclass="bold">Devices</b> menu of the virtual
+ machine, as shown below, or the <userinput>VBoxManage</userinput>
+ command.
+ </p>
+ <fig id="fig-drag-drop-options">
+ <title>Drag and Drop Menu Options</title>
+ <image href="images/dnd-modes.png" placement="break"/>
+ </fig>
+ <p>
+ The following drag and drop modes are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Disabled.</b> Disables the drag
+ and drop feature entirely. This is the default when creating a
+ new VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Host To Guest.</b> Enables drag
+ and drop operations from the host to the guest only.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Guest To Host.</b> Enables drag
+ and drop operations from the guest to the host only.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Bidirectional.</b> Enables drag
+ and drop operations in both directions: from the host to the
+ guest, and from the guest to the host.
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ Drag and drop support depends on the frontend being used. At the
+ moment, only the VirtualBox Manager frontend provides this
+ functionality.
+ </p>
+ </note>
+ <p>
+ To use the <userinput>VBoxManage</userinput> command to control the
+ current drag and drop mode, see <xref href="vboxmanage.dita#vboxmanage"/>. The
+ <userinput>modifyvm</userinput> and <userinput>controlvm</userinput>
+ commands enable setting of a VM's current drag and drop mode from
+ the command line.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-gc-file-manager-using.dita b/doc/manual/en_US/dita/topics/guestadd-gc-file-manager-using.dita
new file mode 100644
index 00000000000..04657d968a9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-gc-file-manager-using.dita
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-gc-file-manager-using">
+ <title>Using the Guest Control File Manager</title>
+
+ <body>
+ <p>
+ The following steps describe how to use the Guest Control File
+ Manager.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Open the Guest Control File Manager. Do either of the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ In the guest VM, select
+ <b outputclass="bold">Machine</b>,
+ <b outputclass="bold">File Manager</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ In VirtualBox Manager, click on the machine name. Click
+ <b outputclass="bold">File Manager</b> in the
+ machine tools menu for the VM.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The left pane shows the files on the host system.
+ </p>
+ </li>
+ <li>
+ <p>
+ Create a guest session.
+ </p>
+ <p>
+ At the bottom of the Guest Control File Manager, enter
+ authentication credentials for a user on the guest system.
+ </p>
+ <p>
+ Click <b outputclass="bold">Create Session</b>.
+ </p>
+ <p>
+ The contents of the guest VM file system appears in the
+ right pane of the Guest Control File Manager.
+ </p>
+ </li>
+ <li>
+ <p>
+ Transfer files between the guest and the host system by
+ using the move and copy file transfer icons.
+ </p>
+ <p>
+ You can copy and move files from the guest to the host
+ system or from the host system to the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ Close the Guest Control File Manager.
+ </p>
+ <p>
+ Click <b outputclass="bold">Close</b> to end the
+ guest session.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-gc-file-manager.dita b/doc/manual/en_US/dita/topics/guestadd-gc-file-manager.dita
new file mode 100644
index 00000000000..516b038b1f7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-gc-file-manager.dita
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-gc-file-manager">
+ <title>Guest Control File Manager</title>
+
+ <body>
+ <p>
+ The Guest Control File Manager is a feature of the Guest Additions
+ that enables easy copying and moving of files between a guest and
+ the host system. Other file management operations provide support
+ to create new folders and to rename or delete files.
+ </p>
+ <p>
+ This feature is useful when the VM window of a guest is not
+ visible. For example, when the guest is running in headless mode.
+ </p>
+ <note>
+ <p>
+ To use the Guest Control File Manager, the guest must be
+ running. For powered-off guests, it is disabled automatically.
+ </p>
+ </note>
+ <fig id="fig-guest-control-fm">
+ <title>Guest Control File Manager</title>
+ <image href="images/guest-fm.png" placement="break"/>
+ </fig>
+ <p>
+ The Guest Control File Manager works by mounting the host file
+ system. Guest users must authenticate and create a guest session
+ before they can transfer files.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-guestcontrol.dita b/doc/manual/en_US/dita/topics/guestadd-guestcontrol.dita
new file mode 100644
index 00000000000..6cc1b0bb88f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-guestcontrol.dita
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-guestcontrol">
+ <title>Guest Control of Applications</title>
+
+ <body>
+ <p>
+ The Guest Additions enable starting of applications inside a guest
+ VM from the host system. This feature can be used to automate
+ deployment of software within the guest.
+ </p>
+ <p>
+ For this to work, the application needs to be installed on the
+ guest. No additional software needs to be installed on the host.
+ Additionally, text mode output to stdout and stderr can be shown
+ on the host for further processing. There are options to specify
+ user credentials and a timeout value, in milliseconds, to limit
+ the time the application is able to run.
+ </p>
+ <p>
+ The Guest Additions for Windows allow for automatic updating. This
+ applies for already installed Guest Additions versions. Also,
+ copying files from host to the guest as well as remotely creating
+ guest directories is available.
+ </p>
+ <p>
+ To use these features, use the Oracle VM VirtualBox command line. See
+ <xref href="man_VBoxManage-guestcontrol.dita#vboxmanage-guestcontrol"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-guestprops-waits.dita b/doc/manual/en_US/dita/topics/guestadd-guestprops-waits.dita
new file mode 100644
index 00000000000..152eb0f6bb9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-guestprops-waits.dita
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-guestprops-waits">
+ <title>Using Guest Properties to Wait on VM Events</title>
+
+ <body>
+ <p>
+ The properties <codeph>/VirtualBox/HostInfo/VBoxVer</codeph>,
+ <codeph>/VirtualBox/HostInfo/VBoxVerExt</codeph> or
+ <codeph>/VirtualBox/HostInfo/VBoxRev</codeph> can be waited on
+ to detect that the VM state was restored from saved state or
+ snapshot:
+ </p>
+ <pre xml:space="preserve">$ VBoxControl guestproperty wait /VirtualBox/HostInfo/VBoxVer</pre>
+ <p>
+ Similarly the
+ <codeph>/VirtualBox/HostInfo/ResumeCounter</codeph> can be
+ used to detect that a VM was resumed from the paused state or
+ saved state.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-guestprops.dita b/doc/manual/en_US/dita/topics/guestadd-guestprops.dita
new file mode 100644
index 00000000000..cd06db27464
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-guestprops.dita
@@ -0,0 +1,145 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-guestprops">
+ <title>Guest Properties</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables requests of some properties from a running
+ guest, provided that the Oracle VM VirtualBox Guest Additions are
+ installed and the VM is running. This provides the following
+ advantages:
+ </p>
+ <ul>
+ <li>
+ <p>
+ A number of predefined VM characteristics are automatically
+ maintained by Oracle VM VirtualBox and can be retrieved on the host.
+ For example, to monitor VM performance and statistics.
+ </p>
+ </li>
+ <li>
+ <p>
+ Arbitrary string data can be exchanged between guest and host.
+ This works in both directions.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To accomplish this, Oracle VM VirtualBox establishes a private
+ communication channel between the Oracle VM 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. They can be set,
+ or written to, by either the host and the guest. They can also be
+ read from both sides.
+ </p>
+ <p>
+ In addition to establishing the general mechanism of reading and
+ writing values, a set of predefined guest properties is
+ automatically maintained by the Oracle VM VirtualBox Guest Additions to
+ allow for retrieving interesting guest data such as the guest's
+ exact operating system and service pack level, the installed
+ version of the Guest Additions, users that are currently logged
+ into the guest OS, network statistics and more. These predefined
+ properties are all prefixed with <codeph>/VirtualBox/</codeph>
+ and organized into a hierarchical tree of keys.
+ </p>
+ <p>
+ Some of this runtime information is shown when you select
+ <b outputclass="bold">Session Information Dialog</b> from a
+ virtual machine's <b outputclass="bold">Machine</b> menu.
+ </p>
+ <p>
+ A more flexible way to use this channel is with the
+ <userinput>VBoxManage guestproperty</userinput> command. See
+ <xref href="man_VBoxManage-guestproperty.dita#vboxmanage-guestproperty"/>. For example, to have
+ <i>all</i> the available guest properties for a
+ given running VM listed with their respective values, use this
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage guestproperty enumerate "Windows Vista III"
+VirtualBox Command Line Management Interface Version <varname>version-number</varname>
+Copyright (C) 2005-2022 Oracle and/or its affiliates
+
+Name: /VirtualBox/GuestInfo/OS/Product, value: Windows Vista Business Edition,
+ timestamp: 1229098278843087000, flags:
+Name: /VirtualBox/GuestInfo/OS/Release, value: 6.0.6001,
+ timestamp: 1229098278950553000, flags:
+Name: /VirtualBox/GuestInfo/OS/ServicePack, value: 1,
+ timestamp: 1229098279122627000, flags:
+Name: /VirtualBox/GuestAdd/InstallDir,
+ value: C:/Program Files/Oracle/VirtualBox
+ Guest Additions, timestamp: 1229098279269739000, flags:
+Name: /VirtualBox/GuestAdd/Revision, value: 40720,
+ timestamp: 1229098279345664000, flags:
+Name: /VirtualBox/GuestAdd/Version, value: <varname>version-number</varname>,
+ timestamp: 1229098279479515000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxControl.exe, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279651731000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxHook.dll, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279804835000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxDisp.dll, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279880611000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxMRXNP.dll, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279882618000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxService.exe, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279883195000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxTray.exe, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279885027000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxGuest.sys, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279886838000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxMouse.sys, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279890600000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxSF.sys, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279893056000, flags:
+Name: /VirtualBox/GuestAdd/Components/VBoxVideo.sys, value: <varname>version-number</varname>r40720,
+ timestamp: 1229098279895767000, flags:
+Name: /VirtualBox/GuestInfo/OS/LoggedInUsers, value: 1,
+ timestamp: 1229099826317660000, flags:
+Name: /VirtualBox/GuestInfo/OS/NoLoggedInUsers, value: false,
+ timestamp: 1229098455580553000, flags:
+Name: /VirtualBox/GuestInfo/Net/Count, value: 1,
+ timestamp: 1229099826299785000, flags:
+Name: /VirtualBox/HostInfo/GUI/LanguageID, value: C,
+ timestamp: 1229098151272771000, flags:
+Name: /VirtualBox/GuestInfo/Net/0/V4/IP, value: 192.168.2.102,
+ timestamp: 1229099826300088000, flags:
+Name: /VirtualBox/GuestInfo/Net/0/V4/Broadcast, value: 255.255.255.255,
+ timestamp: 1229099826300220000, flags:
+Name: /VirtualBox/GuestInfo/Net/0/V4/Netmask, value: 255.255.255.0,
+ timestamp: 1229099826300350000, flags:
+Name: /VirtualBox/GuestInfo/Net/0/Status, value: Up,
+ timestamp: 1229099826300524000, flags:
+Name: /VirtualBox/GuestInfo/OS/LoggedInUsersList, value: username,
+ timestamp: 1229099826317386000, flags:</pre>
+ <p>
+ To query the value of a single property, use the
+ <userinput>get</userinput> subcommand as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage guestproperty get "Windows Vista III" "/VirtualBox/GuestInfo/OS/Product"
+VirtualBox Command Line Management Interface Version <varname>version-number</varname>
+Copyright (C) 2005-2022 Oracle and/or its affiliates
+
+Value: Windows Vista Business Edition</pre>
+ <p>
+ To add or change guest properties from the guest, use the tool
+ <userinput>VBoxControl</userinput>. This tool is included in the Guest
+ Additions. When started from a Linux guest, this tool requires
+ root privileges for security reasons.
+ </p>
+ <pre xml:space="preserve">$ sudo VBoxControl guestproperty enumerate
+VirtualBox Guest Additions Command Line Management Interface Version <varname>version-number</varname>
+Copyright (C) 2005-2022 Oracle and/or its affiliates
+
+Name: /VirtualBox/GuestInfo/OS/Release, value: 2.6.28-18-generic,
+ timestamp: 1265813265835667000, flags: &lt;NULL&gt;
+Name: /VirtualBox/GuestInfo/OS/Version, value: #59-Ubuntu SMP Thu Jan 28 01:23:03 UTC 2010,
+ timestamp: 1265813265836305000, flags: &lt;NULL&gt;
+ ...</pre>
+ <p>
+ For more complex needs, you can use the Oracle VM VirtualBox programming
+ interfaces. See <xref href="VirtualBoxAPI.dita">Oracle VM VirtualBox Programming Interfaces</xref>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-install.dita b/doc/manual/en_US/dita/topics/guestadd-install.dita
new file mode 100644
index 00000000000..341aebea9ad
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-install.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-install">
+ <title>Installing and Maintaining Guest Additions</title>
+
+ <body>
+ <p>
+ Guest Additions are available for virtual machines running
+ Windows, Linux, Oracle Solaris, or OS/2. The following sections
+ describe the specifics of each variant in detail.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-intro.dita b/doc/manual/en_US/dita/topics/guestadd-intro.dita
new file mode 100644
index 00000000000..a356165f490
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-intro.dita
@@ -0,0 +1,161 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-intro">
+ <title>Introduction to Guest Additions</title>
+
+ <body>
+ <p>
+ As mentioned in <xref href="virtintro.dita#virtintro"/>, the Guest Additions
+ are designed to be installed <i>inside</i> a virtual
+ machine after the guest operating system has been installed. They
+ consist of device drivers and system applications that optimize
+ the guest operating system for better performance and usability.
+ See <xref href="guestossupport.dita#guestossupport"/> for details on what guest
+ operating systems are fully supported with Guest Additions by
+ Oracle VM VirtualBox.
+ </p>
+ <p>
+ The Oracle VM VirtualBox Guest Additions for all supported guest
+ operating systems are provided as a single CD-ROM image file which
+ is called <filepath>VBoxGuestAdditions.iso</filepath>. This image
+ file is located in the installation directory of Oracle VM VirtualBox.
+ To install the Guest Additions for a particular VM, you mount this
+ ISO file in your VM as a virtual CD-ROM and install from there.
+ </p>
+ <p>
+ The Guest Additions offer the following features:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Mouse pointer integration</b>. To
+ overcome the limitations for mouse support described in
+ <xref href="keyb_mouse_normal.dita#keyb_mouse_normal"/>, this feature provides
+ you with seamless mouse support. You will only have one mouse
+ pointer and pressing the Host key is no longer required to
+ <i>free</i> the mouse from being captured by the
+ guest OS. To make this work, a special mouse driver is
+ installed in the guest that communicates with the physical
+ mouse driver on your host and moves the guest mouse pointer
+ accordingly.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Shared folders.</b> These provide
+ an easy way to exchange files between the host and the guest.
+ Much like ordinary Windows network shares, you can tell
+ Oracle VM VirtualBox to treat a certain host directory as a shared
+ folder, and Oracle VM VirtualBox will make it available to the guest
+ operating system as a network share, irrespective of whether
+ the guest actually has a network. See
+ <xref href="sharedfolders.dita#sharedfolders"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Better video support.</b> While
+ the virtual graphics card which Oracle VM VirtualBox emulates for
+ any guest operating system provides all the basic features,
+ the custom video drivers that are installed with the Guest
+ Additions provide you with extra high and non-standard video
+ modes, as well as accelerated video performance.
+ </p>
+ <p>
+ In addition, with Windows, Linux, and Oracle Solaris guests,
+ you can resize the virtual machine's window if the Guest
+ Additions are installed. The video resolution in the guest
+ will be automatically adjusted, as if you had manually entered
+ an arbitrary resolution in the guest's
+ <b outputclass="bold">Display</b> settings. See
+ <xref href="intro-resize-window.dita#intro-resize-window"/>.
+ </p>
+ <p>
+ If the Guest Additions are installed, 3D graphics and 2D video
+ for guest applications can be accelerated. See
+ <xref href="guestadd-video.dita#guestadd-video"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Seamless windows.</b> With this
+ feature, the individual windows that are displayed on the
+ desktop of the virtual machine can be mapped on the host's
+ desktop, as if the underlying application was actually running
+ on the host. See <xref href="seamlesswindows.dita#seamlesswindows"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Generic host/guest communication
+ channels.</b> The Guest Additions enable you to control
+ and monitor guest execution. The <i>guest
+ properties</i> provide a generic string-based mechanism
+ to exchange data bits between a guest and a host, some of
+ which have special meanings for controlling and monitoring the
+ guest. See <xref href="guestadd-guestprops.dita#guestadd-guestprops"/>.
+ </p>
+ <p>
+ Additionally, applications can be started in a guest from the
+ host. See <xref href="guestadd-guestcontrol.dita#guestadd-guestcontrol"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Time synchronization.</b> With
+ the Guest Additions installed, Oracle VM VirtualBox can ensure that
+ the guest's system time is better synchronized with that of
+ the host.
+ </p>
+ <p>
+ For various reasons, the time in the guest might run at a
+ slightly different rate than the time on the host. The host
+ could be receiving updates through NTP and its own time might
+ not run linearly. A VM could also be paused, which stops the
+ flow of time in the guest for a shorter or longer period of
+ time. When the wall clock time between the guest and host only
+ differs slightly, the time synchronization service attempts to
+ gradually and smoothly adjust the guest time in small
+ increments to either catch up or lose time. When the
+ difference is too great, for example if a VM paused for hours
+ or restored from saved state, the guest time is changed
+ immediately, without a gradual adjustment.
+ </p>
+ <p>
+ The Guest Additions will resynchronize the time regularly. See
+ <xref href="changetimesync.dita">Tuning the Guest Additions Time Synchronization Parameters</xref> for how to configure the
+ parameters of the time synchronization mechanism.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Shared clipboard.</b> With the
+ Guest Additions installed, the clipboard of the guest
+ operating system can optionally be shared with your host
+ operating system. See <xref href="generalsettings.dita"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Automated logins.</b> Also called
+ credentials passing. See <xref href="autologon.dita">Automated Guest Logins</xref>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Each version of Oracle VM VirtualBox, even minor releases, ship with
+ their own version of the Guest Additions. While the interfaces
+ through which the Oracle VM VirtualBox core communicates with the Guest
+ Additions are kept stable so that Guest Additions already
+ installed in a VM should continue to work when Oracle VM VirtualBox is
+ upgraded on the host, for best results, it is recommended to keep
+ the Guest Additions at the same version.
+ </p>
+ <p>
+ The Windows and Linux Guest Additions therefore check
+ automatically whether they have to be updated. If the host is
+ running a newer Oracle VM VirtualBox version than the Guest Additions, a
+ notification with further instructions is displayed in the guest.
+ </p>
+ <p>
+ To disable this update check for the Guest Additions of a given
+ virtual machine, set the value of its
+ <codeph>/VirtualBox/GuestAdd/CheckHostVersion</codeph> guest
+ property to <codeph>0</codeph>. See
+ <xref href="guestadd-guestprops.dita#guestadd-guestprops"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-memory-usage.dita b/doc/manual/en_US/dita/topics/guestadd-memory-usage.dita
new file mode 100644
index 00000000000..bff9948ba08
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-memory-usage.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-memory-usage">
+ <title>Memory Overcommitment</title>
+
+ <body>
+ <p>
+ In server environments with many VMs, the Guest Additions can be
+ used to share physical host memory between several VMs. This
+ reduces the total amount of memory in use by the VMs. If memory
+ usage is the limiting factor and CPU resources are still
+ available, this can help with running more VMs on each host.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-pagefusion.dita b/doc/manual/en_US/dita/topics/guestadd-pagefusion.dita
new file mode 100644
index 00000000000..eb62e4db17e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-pagefusion.dita
@@ -0,0 +1,106 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-pagefusion">
+ <title>Page Fusion</title>
+
+ <body>
+ <p>
+ Whereas memory ballooning simply reduces the amount of RAM that
+ is available to a VM, Page Fusion works differently. It avoids
+ memory duplication between several similar running VMs.
+ </p>
+ <p>
+ In a server environment running several similar VMs on the same
+ host, lots of memory pages are identical. For example, if the
+ VMs are using identical operating systems. Oracle VM VirtualBox's Page
+ Fusion technology can efficiently identify these identical
+ memory pages and share them between multiple VMs.
+ </p>
+ <note>
+ <p>
+ Oracle VM VirtualBox supports Page Fusion only on 64-bit hosts, and
+ it is not supported on macOS hosts. Page Fusion currently
+ works only with Windows 2000 and later guests.
+ </p>
+ </note>
+ <p>
+ The more similar the VMs on a given host are, the more
+ efficiently Page Fusion can reduce the amount of host memory
+ that is in use. It therefore works best if all VMs on a host run
+ identical operating systems. Instead of having a complete copy
+ of each operating system in each VM, Page Fusion identifies the
+ identical memory pages in use by these operating systems and
+ eliminates the duplicates, sharing host memory between several
+ machines. This is called <i>deduplication</i>. If
+ a VM tries to modify a page that has been shared with other VMs,
+ a new page is allocated again for that VM with a copy of the
+ shared page. This is called <i>copy on write</i>.
+ All this is fully transparent to the virtual machine.
+ </p>
+ <p>
+ You may be familiar with this kind of memory overcommitment from
+ other hypervisor products, which call this feature
+ <i>page sharing</i> or <i>same page
+ merging</i>. However, Page Fusion differs significantly
+ from those other solutions, whose approaches have several
+ drawbacks:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Traditional hypervisors scan <i>all</i> guest
+ memory and compute checksums, also called hashes, for every
+ single memory page. Then, they look for pages with identical
+ hashes and compare the entire content of those pages. If two
+ pages produce the same hash, it is very likely that the
+ pages are identical in content. This process can take rather
+ long, especially if the system is not idling. As a result,
+ the additional memory only becomes available after a
+ significant amount of time, such as hours or sometimes days.
+ Even worse, this kind of page sharing algorithm generally
+ consumes significant CPU resources and increases the
+ virtualization overhead by 10 to 20%.
+ </p>
+ <p>
+ Page Fusion in Oracle VM VirtualBox uses logic in the
+ Oracle VM VirtualBox Guest Additions to quickly identify memory
+ cells that are most likely identical across VMs. It can
+ therefore achieve most of the possible savings of page
+ sharing almost immediately and with almost no overhead.
+ </p>
+ </li>
+ <li>
+ <p>
+ Page Fusion is also much less likely to be confused by
+ identical memory that it will eliminate, just to learn
+ seconds later that the memory will now change and having to
+ perform a highly expensive and often service-disrupting
+ reallocation.
+ </p>
+ </li>
+ </ul>
+ <p>
+ At this time, Page Fusion can only be controlled with
+ <userinput>VBoxManage</userinput>, and only while a VM is shut down.
+ To enable Page Fusion for a VM, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --page-fusion on</pre>
+ <p>
+ You can observe Page Fusion operation using some metrics.
+ <codeph>RAM/VMM/Shared</codeph> shows the total amount of
+ fused pages, whereas the per-VM metric
+ <codeph>Guest/RAM/Usage/Shared</codeph> will return the amount
+ of fused memory for a given VM. See
+ <xref href="man_VBoxManage-metrics.dita#vboxmanage-metrics"/> for information on how to
+ query metrics.
+ </p>
+ <note>
+ <p>
+ Enabling Page Fusion might indirectly increase the chances for
+ malicious guests to successfully attack other VMs running on
+ the same host. See <xref href="pot-insecure.dita">Potentially Insecure Operations</xref>.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-resizing-linux-limitations.dita b/doc/manual/en_US/dita/topics/guestadd-resizing-linux-limitations.dita
new file mode 100644
index 00000000000..e223d80965d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-resizing-linux-limitations.dita
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-resizing-linux-limitations">
+ <title>Known Limitations</title>
+
+ <body>
+ <p><userinput>VBoxDRMClient</userinput> is not able to handle
+ arbitrary guest monitor topologies. Specifically, disabling a
+ guest monitor that is not the last one invalidates the monitor
+ topology due to limitations in the
+ <codeph>vmwgfx.ko</codeph> Linux kernel module. For example,
+ when the guest is configured to have four monitors it is not
+ recommended to disable the second or third monitor.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-resizing-linux.dita b/doc/manual/en_US/dita/topics/guestadd-resizing-linux.dita
new file mode 100644
index 00000000000..9d9feb7758f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-resizing-linux.dita
@@ -0,0 +1,63 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-resizing-linux">
+ <title>X11/Wayland Desktop Environments</title>
+
+ <body>
+ <p>
+ The Guest Additions provide services for controlling the guest
+ system's monitor topology. Monitor topology means the resolution
+ of each virtual monitor and its state (disabled/enabled). The
+ resolution of a virtual monitor can be modified from the host
+ side either by resizing the window that hosts the virtual
+ monitor, by using the <b outputclass="bold">View</b> menu
+ or the <userinput>VBoxManage controlvm
+ <varname>vmname</varname> setscreenlayout</userinput>
+ command. On guest operating systems with X11/Wayland desktops
+ this is put into effect by either of the following two services:
+ </p>
+ <pre xml:space="preserve"> VBoxClient --vmsvga
+ VBoxDRMClient
+ </pre>
+ <p>
+ The following are some details about guest screen resolution
+ control functionality:
+ </p>
+ <ul>
+ <li>
+ <p>
+ On X11/Wayland desktops the resizing service is started
+ during desktop session initialization, that is desktop
+ login. On X11 desktops <codeph>VBoxClient --vmsvga</codeph>
+ handles screen topology through the RandR extension. On
+ Wayland clients <codeph>VBoxDRMClient</codeph> is used. The
+ decision is made automatically at each desktop session
+ start.
+ </p>
+ </li>
+ <li>
+ <p>
+ On 32-bit guest operating systems
+ <userinput>VBoxDRMClient</userinput> is always used, in order to
+ work around bugs.
+ </p>
+ </li>
+ <li>
+ <p>
+ Since the monitor topology control services are initialized
+ during the desktop session start, it is impossible to
+ control the monitor resolution of display managers such as
+ GDM or LightDM. This default behavior can be changed by
+ setting the guest property
+ <codeph>/VirtualBox/GuestAdd/DRMResize</codeph> of the
+ virtual machine to any value. See
+ <xref href="guestadd-guestprops.dita#guestadd-guestprops"/> for details of how to
+ update guest properties. When this guest property is set
+ then <userinput>VBoxDRMClient</userinput> is started during the
+ guest OS boot and stays active all the time, for both the
+ display manager login screen and the desktop session.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-resizing.dita b/doc/manual/en_US/dita/topics/guestadd-resizing.dita
new file mode 100644
index 00000000000..d3cecc65e6c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-resizing.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-resizing">
+ <title>Controlling Virtual Monitor Topology</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadd-video.dita b/doc/manual/en_US/dita/topics/guestadd-video.dita
new file mode 100644
index 00000000000..55fb9331a85
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadd-video.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadd-video">
+ <title>Hardware-Accelerated Graphics</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestadditions.dita b/doc/manual/en_US/dita/topics/guestadditions.dita
new file mode 100644
index 00000000000..0299f0d669e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestadditions.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestadditions">
+ <title>Guest Additions</title>
+
+ <body>
+ <p>
+ The previous chapter covered getting started with Oracle VM VirtualBox and
+ installing operating systems in a virtual machine. For any serious
+ and interactive use, the Oracle VM 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.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestossupport.dita b/doc/manual/en_US/dita/topics/guestossupport.dita
new file mode 100644
index 00000000000..964faa72204
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestossupport.dita
@@ -0,0 +1,349 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestossupport">
+ <title>Supported Guest Operating Systems</title>
+
+ <body>
+ <p>
+ Because Oracle VM VirtualBox is designed to provide a generic
+ virtualization environment for x86 systems, it can run guest
+ operating systems (OSes) of any kind.
+ </p>
+ <p>
+ The following guest OS platforms are supported:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Platforms With Full Support.</b>
+ These guest OS platforms qualify for Oracle Premier Support.
+ See <xref href="#guestossupport/table-premier-support"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Platforms With Limited
+ Support.</b> These legacy guest OS platforms can be
+ used with Oracle VM VirtualBox, but only qualify for <i>best
+ effort</i> support. Therefore, resolution of customer
+ issues is not guaranteed. See
+ <xref href="#guestossupport/table-limited-support"/>.
+ </p>
+ </li>
+ </ul>
+ <table id="table-premier-support">
+ <title>Guest Operating Systems With Full Support</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Operating System</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Comments</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ Windows 11 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Insider preview builds are not supported
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows 10 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Insider preview builds are not supported
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows 8 and 8.1 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Server 2019 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Server 2016 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Server 2012 and 2012 R2 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Solaris 11 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Solaris 10 8/11 Update 10 and later (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Oracle Linux 9 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Includes Red Hat Enterprise Linux 9, CentOS 9
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Oracle Linux 8 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Includes Red Hat Enterprise Linux 8, CentOS 8
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Oracle Linux 7 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Includes Red Hat Enterprise Linux 7, CentOS 7
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Oracle Linux 6 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Includes Red Hat Enterprise Linux 6, CentOS 6
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Ubuntu 16.04 LTS (Xenial Xerus) (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Ubuntu 18.04 LTS (Bionic Beaver) (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Ubuntu 20.04 LTS (Focal Fossa) (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ SUSE Linux Enterprise Server 15 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ SUSE Linux Enterprise Server 12 (64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table id="table-limited-support">
+ <title>Legacy Guest Operating Systems With Limited Support</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Operating System</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Comments</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ Windows 7 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Vista SP2 and later (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows XP (32-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Vista (32-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Server 2008 and 2008 R2 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Windows Server 2003 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Oracle Linux 5 (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Includes Red Hat Enterprise Linux 5, CentOS 5
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Ubuntu 14.04.5 LTS (Trusty Tahr) (32-bit and 64-bit)
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ OS/2 Warp 4.5
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guestxorgsetup.dita b/doc/manual/en_US/dita/topics/guestxorgsetup.dita
new file mode 100644
index 00000000000..a66613af77a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guestxorgsetup.dita
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guestxorgsetup">
+ <title>Guest Graphics and Mouse Driver Setup in Depth</title>
+
+ <body>
+ <p>
+ This section assumes that you are familiar with configuring the
+ X.Org server using xorg.conf and optionally the newer mechanisms
+ using hal or udev and xorg.conf.d. If not you can learn about
+ them by studying the documentation which comes with X.Org.
+ </p>
+ <p>
+ The Oracle VM VirtualBox Guest Additions includes drivers for X.Org.
+ By default these drivers are in the following directory:
+ </p>
+ <p>
+ <filepath>/opt/VBoxGuestAdditions-<varname>version</varname>/other/</filepath>
+ </p>
+ <p>
+ The correct versions for the X server are symbolically linked
+ into the X.Org driver directories.
+ </p>
+ <p>
+ For graphics integration to work correctly, the X server must
+ load the <codeph>vboxvideo</codeph> driver. Many recent X
+ server versions look for it automatically if they see that they
+ are running in Oracle VM VirtualBox. For an optimal user experience,
+ the guest kernel drivers must be loaded and the Guest Additions
+ tool <userinput>VBoxClient</userinput> must be running as a client
+ in the X session.
+ </p>
+ <p>
+ For mouse integration to work correctly, the guest kernel
+ drivers must be loaded. In addition, for legacy X servers the
+ correct <codeph>vboxmouse</codeph> driver must be loaded and
+ associated with <filepath>/dev/mouse</filepath> or
+ <filepath>/dev/psaux</filepath>. For most guests, a driver for a
+ PS/2 mouse must be loaded and the correct vboxmouse driver must
+ be associated with <filepath>/dev/vboxguest</filepath>.
+ </p>
+ <p>
+ The Oracle VM VirtualBox guest graphics driver can use any graphics
+ configuration for which the virtual resolution fits into the
+ virtual video memory allocated to the virtual machine, minus a
+ small amount used by the guest driver, as described in
+ <xref href="settings-display.dita">Display Settings</xref>. The driver will offer a
+ range of standard modes at least up to the default guest
+ resolution for all active guest monitors. The default mode can
+ be changed by setting the output property VBOX_MODE to
+ "&lt;width&gt;x&lt;height&gt;" for any guest monitor. When
+ VBoxClient and the kernel drivers are active this is done
+ automatically when the host requests a mode change. The driver
+ for older versions can only receive new modes by querying the
+ host for requests at regular intervals.
+ </p>
+ <p>
+ With legacy X Servers before version 1.3, you can also add your
+ own modes to the X server configuration file. Add them to the
+ "Modes" list in the "Display" subsection of the "Screen"
+ section. For example, the following section has a custom
+ 2048x800 resolution mode added:
+ </p>
+ <pre xml:space="preserve">Section "Screen"
+ Identifier "Default Screen"
+ Device "VirtualBox graphics card"
+ Monitor "Generic Monitor"
+ DefaultDepth 24
+ SubSection "Display"
+ Depth 24
+ Modes "2048x800" "800x600" "640x480"
+ EndSubSection
+EndSection</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-details-preview.dita b/doc/manual/en_US/dita/topics/gui-details-preview.dita
new file mode 100644
index 00000000000..c452695ade6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-details-preview.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-details-preview">
+ <title>Preview Window</title>
+
+ <body>
+ <p>
+ The virtual machine display is shown in a small window.
+ </p>
+ <p>
+ You can use the Preview window to check if your virtual
+ machine has finished booting up.
+ </p>
+ <p>
+ Click the arrow icon to hide or show the Preview window.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-details-settings.dita b/doc/manual/en_US/dita/topics/gui-details-settings.dita
new file mode 100644
index 00000000000..ce37a088671
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-details-settings.dita
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-details-settings">
+ <title>Settings</title>
+
+ <body>
+ <p>
+ A summary of settings is shown for the virtual machine.
+ </p>
+ <p>
+ You can change some virtual machine settings, by clicking on
+ the setting in the Details pane.
+ </p>
+ <note>
+ <p>
+ If a virtual machine is running, some settings cannot be
+ altered. You must stop the virtual machine first in order to
+ change the setting.
+ </p>
+ </note>
+ <p>
+ Virtual machine settings can also be changed using the
+ <b outputclass="bold">Settings</b> button on the
+ VirtualBox Manager toolbar.
+ </p>
+ <p>
+ The virtual machine settings on the Details pane are organized
+ in sections that correspond to those used in the
+ <b outputclass="bold">Settings</b> window. See
+ <xref href="BasicConcepts.dita#BasicConcepts"/>.
+ </p>
+ <p>
+ Click the arrow icon to hide or show each section.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-details-toolbar.dita b/doc/manual/en_US/dita/topics/gui-details-toolbar.dita
new file mode 100644
index 00000000000..b72b5e9b488
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-details-toolbar.dita
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-details-toolbar">
+ <title>VirtualBox Manager Toolbar</title>
+
+ <body>
+ <p>
+ A toolbar at the top of the Details pane contains buttons that
+ enable you to configure the selected virtual machine, or to
+ create a new virtual machine.
+ </p>
+ <p>
+ The toolbar includes the following buttons:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">New.</b> Creates a new
+ virtual machine, and adds it to the machine list.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Add.</b> Adds an existing
+ virtual machine to the machine list.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Settings.</b> Displays the
+ <b outputclass="bold">Settings</b> window for the
+ virtual machine, enabling you to make configuration
+ changes.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Discard.</b> For a running
+ virtual machine, discards the saved state for the virtual
+ machine and closes it down.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Show/Start.</b> For a running
+ virtual machine, <b outputclass="bold">Show</b>
+ displays the virtual machine window. For a stopped virtual
+ machine, <b outputclass="bold">Start</b> displays
+ options for powering up the virtual machine.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-details.dita b/doc/manual/en_US/dita/topics/gui-details.dita
new file mode 100644
index 00000000000..b573624ad76
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-details.dita
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-details">
+ <title>The Details Pane</title>
+
+ <body>
+ <p>
+ The Details pane shows configuration information for a virtual
+ machine that is selected in the machine list. The pane also
+ includes a toolbar for performing tasks.
+ </p>
+ <fig id="fig-vbox-details-pane">
+ <title>VirtualBox Manager Details Pane, Including Toolbar</title>
+ <image href="images/details-pane.png" placement="break"/>
+ </fig>
+ <p>
+ The Details pane includes the following:
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-machine-list.dita b/doc/manual/en_US/dita/topics/gui-machine-list.dita
new file mode 100644
index 00000000000..3414c71b0b5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-machine-list.dita
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-machine-list">
+ <title>The Machine List</title>
+
+ <body>
+ <p>
+ The list of virtual machines in the left pane is called the
+ <i>machine list</i>.
+ </p>
+ <p>
+ The following methods can be used to control and configure
+ virtual machines in the machine list:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Right-click on the virtual machine name, to display menu
+ options.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click on the Machine Tools menu, to the right of the virtual
+ machine name. See <xref href="gui-tools-machine.dita#gui-tools-machine"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click a button in the toolbar in the Details pane. See
+ <xref href="gui-details.dita#gui-details"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-notification-center.dita b/doc/manual/en_US/dita/topics/gui-notification-center.dita
new file mode 100644
index 00000000000..7403b77ab31
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-notification-center.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-notification-center">
+ <title>Notification Center</title>
+
+ <body>
+ <p>
+ Notification messages may be shown in a sliding panel on the
+ right of the Details pane, called the
+ <b outputclass="bold">Notification Center</b>. Click
+ the warning triangle to show the notification messages.
+ </p>
+ <p>
+ Most system messages that do not require user interaction are
+ displayed in the Notification Center, including task failure
+ alerts.
+ </p>
+ <p>
+ The progress of some tasks can be observed and stopped using
+ the Notification Center.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-tools-global.dita b/doc/manual/en_US/dita/topics/gui-tools-global.dita
new file mode 100644
index 00000000000..783939d6fd5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-tools-global.dita
@@ -0,0 +1,79 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-tools-global">
+ <title>Global Tools</title>
+
+ <body>
+ <p>
+ In the left pane of the VirtualBox Manager window, click the
+ <b outputclass="bold">Menu</b> icon in the
+ <b outputclass="bold">Tools</b> banner located above
+ the machine list. The <b outputclass="bold">Global
+ Tools</b> menu is displayed.
+ </p>
+ <fig id="fig-global-tools-menu">
+ <title>Global Tools Menu</title>
+ <image href="images/global-tools-menu.png" placement="break"/>
+ </fig>
+ <p>
+ A drop-down list enables you to select from the following
+ global tools:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Welcome.</b> Displays the
+ VirtualBox Manager welcome message. The VirtualBox Manager toolbar is also
+ included, to enable you to get started with using
+ Oracle VM VirtualBox. See
+ <xref href="gui-virtualboxmanager.dita#gui-virtualboxmanager/fig-vbox-manager-initial"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Extensions.</b> Displays the
+ <b outputclass="bold">Extension Pack Manager</b>
+ tool. This tool is used to install and uninstall
+ Oracle VM VirtualBox Extension Packs. See
+ <xref href="install-ext-pack-manager.dita#install-ext-pack-manager"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Media.</b> Displays the
+ <b outputclass="bold">Virtual Media Manager</b>
+ tool. This tool is used to manage the disk images used by
+ Oracle VM VirtualBox. See
+ <xref href="virtual-media-manager.dita#virtual-media-manager"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Network.</b> Displays the
+ <b outputclass="bold">Network Manager</b> tool.
+ This tool is used to create and configure some types of
+ networks used by Oracle VM VirtualBox. See
+ <xref href="network-manager.dita#network-manager"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Cloud.</b> Displays the
+ <b outputclass="bold">Cloud Profile Editor</b>
+ tool. This tool is used to configure connections to a
+ cloud service, such as Oracle Cloud Infrastructure. See
+ <xref href="cloud-using-cloud-profile-manager.dita#cloud-using-cloud-profile-manager"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Activities.</b> Displays the
+ <b outputclass="bold">VM Activity Overview</b>
+ tool. This tool is used to monitor performance and
+ resource usage of virtual machines. See
+ <xref href="vm-info.dita#vm-info"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The <b outputclass="bold">Pin</b> icon is used to keep
+ the <b outputclass="bold">Tools</b> banner visible as
+ you scroll down the entries in the machine list.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-tools-machine.dita b/doc/manual/en_US/dita/topics/gui-tools-machine.dita
new file mode 100644
index 00000000000..5624c2e7840
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-tools-machine.dita
@@ -0,0 +1,66 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-tools-machine">
+ <title>Machine Tools</title>
+
+ <body>
+ <p>
+ In the machine list in the left pane of the VirtualBox Manager window,
+ select a virtual machine.
+ </p>
+ <p>
+ Click the <b outputclass="bold">Menu</b> icon to the
+ right of the virtual machine name. The
+ <b outputclass="bold">Machine Tools</b> menu is
+ displayed.
+ </p>
+ <fig id="fig-machine-tools-menu">
+ <title>Machine Tools Menu</title>
+ <image href="images/machine-tools-menu.png" placement="break"/>
+ </fig>
+ <p>
+ A drop-down list enables you to select from the following
+ machine tools:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Details.</b> Displays the
+ Details pane for the selected virtual machine. See
+ <xref href="gui-details.dita#gui-details"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Snapshots.</b> Displays the
+ <b outputclass="bold">Snapshots</b> tool. This tool
+ enables you to view and manage snapshots for the virtual
+ machine. See <xref href="snapshots.dita#snapshots"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Logs.</b> Displays the
+ <b outputclass="bold">Log Viewer</b> tool. This
+ tool enables you to view and search system logs for the
+ virtual machine. See <xref href="log-viewer.dita#log-viewer"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Activity.</b> Displays the
+ <b outputclass="bold">VM Activity</b> page of the
+ <b outputclass="bold">Session Information</b>
+ dialog. This dialog enables you to view and analyze
+ performance metrics for the virtual machine. See
+ <xref href="vm-info.dita#vm-info"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">File Manager.</b> Displays
+ the <b outputclass="bold">Guest Control File
+ Manager</b> tool. This tool enables you to manage
+ files on the guest system. See
+ <xref href="guestadd-gc-file-manager.dita#guestadd-gc-file-manager"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-tools.dita b/doc/manual/en_US/dita/topics/gui-tools.dita
new file mode 100644
index 00000000000..610d2dbb773
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-tools.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-tools">
+ <title>VirtualBox Manager Tools</title>
+
+ <body>
+ <p>
+ VirtualBox Manager provides two types of user tools, to enable you to
+ perform common tasks easily.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Global Tools.</b> These tools
+ apply to <i>all</i> virtual machines. See
+ <xref href="gui-tools-global.dita#gui-tools-global"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Machine Tools.</b> These tools
+ apply to a <i>specific</i> virtual machine.
+ See <xref href="gui-tools-machine.dita#gui-tools-machine"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-virtualboxmanager.dita b/doc/manual/en_US/dita/topics/gui-virtualboxmanager.dita
new file mode 100644
index 00000000000..cea2e511fb7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-virtualboxmanager.dita
@@ -0,0 +1,67 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-virtualboxmanager">
+ <title>VirtualBox Manager</title>
+
+ <body>
+ <p>
+ VirtualBox Manager is the user interface for Oracle VM VirtualBox. You can use
+ VirtualBox Manager to create, configure, and manage your virtual machines.
+ </p>
+ <p>
+ This section describes the main features of the VirtualBox Manager user
+ interface. Subsequent sections and chapters describe how to use
+ VirtualBox Manager to perform tasks in Oracle VM VirtualBox.
+ </p>
+ <p>
+ When you start Oracle VM VirtualBox, the
+ <b outputclass="bold">VirtualBox Manager</b> window is displayed.
+ </p>
+ <p><xref href="#gui-virtualboxmanager/fig-vbox-manager-initial"/> shows VirtualBox Manager the
+ first time you start Oracle VM VirtualBox, before you have created any
+ virtual machines.
+ </p>
+ <fig id="fig-vbox-manager-initial">
+ <title>VirtualBox Manager, Showing Welcome Screen After Initial Startup</title>
+ <image href="images/virtualbox-main-empty.png" placement="break"/>
+ </fig>
+ <p><xref href="#gui-virtualboxmanager/fig-vbox-manager-populated"/> shows how VirtualBox Manager
+ might look after you have created some virtual machines.
+ </p>
+ <fig id="fig-vbox-manager-populated">
+ <title>VirtualBox Manager Window, After Creating Virtual Machines</title>
+ <image href="images/virtualbox-main.png" placement="break"/>
+ </fig>
+ <p>
+ The main components of the VirtualBox Manager window are as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">The machine list.</b> The left
+ pane of the <b outputclass="bold">VirtualBox
+ Manager</b> window lists all your virtual machines. If
+ you have not yet created any virtual machines, this list is
+ empty. See <xref href="gui-machine-list.dita#gui-machine-list"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">The Details pane.</b> The pane on
+ the right displays the properties of the currently selected
+ virtual machine. If you do not have any machines yet, the pane
+ displays a welcome message.
+ </p>
+ <p>
+ The toolbar buttons on the Details pane can be used to create
+ and work with virtual machines. See
+ <xref href="gui-details.dita#gui-details"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Help Viewer.</b> A window that
+ displays context-sensitive help topics for VirtualBox Manager tasks.
+ See <xref href="help-viewer.dita#help-viewer"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/gui-vmgroups.dita b/doc/manual/en_US/dita/topics/gui-vmgroups.dita
new file mode 100644
index 00000000000..10e8a913b7b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/gui-vmgroups.dita
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="gui-vmgroups">
+ <title>Using VM Groups</title>
+
+ <body>
+ <p>
+ VM groups are groups of VMs that you can create as and when
+ required. You can manage and perform functions on them
+ collectively, as well as individually.
+ </p>
+ <p>
+ The following figure shows VM groups displayed in VirtualBox
+ Manager.
+ </p>
+ <fig id="fig-vm-groups">
+ <title>Groups of Virtual Machines</title>
+ <image href="images/vm-groups.png" placement="break"/>
+ </fig>
+ <p>
+ The following features are available for groups:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Create a group using VirtualBox Manager. Do one of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Drag a VM on top of another VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Select multiple VMs and select
+ <b outputclass="bold">Group</b> from the
+ right-click menu.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Create and manage a group using the command line. Do one of
+ the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Create a group and assign a VM. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "vm01" --groups "/TestGroup"</pre>
+ <p>
+ This command creates a group <codeph>TestGroup</codeph>
+ and attaches the VM <codeph>vm01</codeph> to that group.
+ </p>
+ </li>
+ <li>
+ <p>
+ Detach a VM from the group, and delete the group if empty.
+ For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "vm01" --groups ""</pre>
+ <p>
+ This command detaches all groups from the VM
+ <codeph>vm01</codeph> and deletes the empty group.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Create multiple groups. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "vm01" --groups "/TestGroup,/TestGroup2"</pre>
+ <p>
+ This command creates the groups <codeph>TestGroup</codeph>
+ and <codeph>TestGroup2</codeph>, if they do not exist, and
+ attaches the VM <codeph>vm01</codeph> to both of them.
+ </p>
+ </li>
+ <li>
+ <p>
+ Create nested groups, having a group hierarchy. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "vm01" --groups "/TestGroup/TestGroup2"</pre>
+ <p>
+ This command attaches the VM <codeph>vm01</codeph> to the
+ subgroup <codeph>TestGroup2</codeph> of the
+ <codeph>TestGroup</codeph> group.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use VirtualBox Manager menu options to control and manage all the VMs
+ in a group. For example:
+ <b outputclass="bold">Start</b>,
+ <b outputclass="bold">Pause</b>,
+ <b outputclass="bold">Reset</b>,
+ <b outputclass="bold">Close</b> (save state, send
+ shutdown signal, poweroff), <b outputclass="bold">Discard
+ Saved State</b>, <b outputclass="bold">Show in
+ Explorer</b>, <b outputclass="bold">Sort</b>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guitweaks.dita b/doc/manual/en_US/dita/topics/guitweaks.dita
new file mode 100644
index 00000000000..14e687d7298
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guitweaks.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guitweaks">
+ <title>Locking Down VirtualBox Manager</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/guru-meditation-action.dita b/doc/manual/en_US/dita/topics/guru-meditation-action.dita
new file mode 100644
index 00000000000..b8c131e4f1d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/guru-meditation-action.dita
@@ -0,0 +1,62 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="guru-meditation-action">
+ <title>Action for Handling a Guru Meditation</title>
+
+ <body>
+ <p>
+ A VM runs into a Guru Meditation if there is a problem which
+ cannot be fixed by other means than terminating the process. The
+ default is to show a message window which instructs the user to
+ open a bug report.
+ </p>
+ <p>
+ This behavior can be configured as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> GUI/GuruMeditationHandler <varname>mode</varname>
+ </pre>
+ <p><varname>mode</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>Default</codeph>
+ </dt>
+ <dd>
+ <p>
+ A message window is shown. After the user confirmed, the
+ VM is terminated.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>PowerOff</codeph>
+ </dt>
+ <dd>
+ <p>
+ The VM is immediately powered-off without showing any
+ message window. The VM logfile will show information about
+ what happened.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Ignore</codeph>
+ </dt>
+ <dd>
+ <p>
+ The VM is left in stuck mode. Execution is stopped but no
+ message window is shown. The VM has to be powered off
+ manually.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM setting.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/harddiskcontrollers.dita b/doc/manual/en_US/dita/topics/harddiskcontrollers.dita
new file mode 100644
index 00000000000..9a8439ef774
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/harddiskcontrollers.dita
@@ -0,0 +1,305 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="harddiskcontrollers">
+ <title>Hard Disk Controllers</title>
+
+ <body>
+ <p>
+ In a computing device, hard disks and CD/DVD drives are connected
+ to a device called a hard disk controller, which drives hard disk
+ operation and data transfers. Oracle VM VirtualBox can emulate the most
+ common types of hard disk controllers typically found in computing
+ devices: IDE, SATA (AHCI), SCSI, SAS, USB-based, NVMe and
+ virtio-scsi mass storage devices.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">IDE (ATA)</b> controllers are a
+ backwards-compatible yet very advanced extension of the disk
+ controller in the IBM PC/AT (1984). Initially, this interface
+ worked only with hard disks, but was later extended to also
+ support CD-ROM drives and other types of removable media. In
+ physical PCs, this standard uses flat ribbon parallel cables
+ with 40 or 80 wires. Each such cable can connect two devices,
+ called device 0 and device 1, to a controller. Typical PCs had
+ two connectors for such cables. As a result, support for up to
+ four IDE devices was most common: primary device 0, primary
+ device 1, secondary device 0, and secondary device 1.
+ </p>
+ <p>
+ In Oracle VM VirtualBox, each virtual machine may have one IDE
+ controller enabled, which gives you up to four virtual storage
+ devices that you can attach to the machine. By default, one of
+ these virtual storage devices, device 0 on the secondary
+ channel, is preconfigured to be the virtual machine's virtual
+ CD/DVD drive. However, you can change the default setting.
+ </p>
+ <p>
+ Even if your guest OS has no support for SCSI or SATA devices,
+ it should always be able to see an IDE controller.
+ </p>
+ <p>
+ You can also select which exact type of IDE controller
+ hardware Oracle VM VirtualBox should present to the virtual machine:
+ PIIX3, PIIX4, or ICH6. This makes no difference in terms of
+ performance, but if you import a virtual machine from another
+ virtualization product, the OS in that machine may expect a
+ particular controller type and crash if it is not found.
+ </p>
+ <p>
+ After you have created a new virtual machine with the
+ <b outputclass="bold">New Virtual Machine</b> wizard in
+ VirtualBox Manager, you will typically see one IDE controller in the
+ machine's <b outputclass="bold">Storage</b> settings.
+ The virtual CD/DVD drive will be attached to one of the four
+ ports of this controller.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Serial ATA (SATA)</b> is a more
+ recent standard than IDE. Compared to IDE, it supports both
+ much higher speeds and more devices per controller. Also, with
+ physical hardware, devices can be added and removed while the
+ system is running. The standard interface for SATA controllers
+ is called Advanced Host Controller Interface (AHCI).
+ </p>
+ <p>
+ Like a real SATA controller, Oracle VM VirtualBox's virtual SATA
+ controller operates faster and also consumes fewer CPU
+ resources than the virtual IDE controller. Also, this enables
+ you to connect up to 30 virtual hard disks to one machine
+ instead of just three, when compared to the Oracle VM VirtualBox IDE
+ controller with a DVD drive attached.
+ </p>
+ <p>
+ For this reason, depending on the selected guest OS,
+ Oracle VM VirtualBox uses SATA as the default for newly created
+ virtual machines. One virtual SATA controller is created by
+ default, and the default disk that is created with a new VM is
+ attached to this controller.
+ </p>
+ <note type="attention">
+ <p>
+ The entire SATA controller and the virtual disks attached to
+ it, including those in IDE compatibility mode, will not be
+ seen by OSes that do not have device support for AHCI. In
+ particular, <i>there is no support for AHCI in
+ Windows versions before Windows Vista</i>. Legacy
+ Windows versions such as Windows XP, even with SP3
+ installed, will not see such disks unless you install
+ additional drivers. It is possible to switch from IDE to
+ SATA after installation by installing the SATA drivers and
+ changing the controller type in the VM
+ <b outputclass="bold">Settings</b> window.
+ </p>
+ <p>
+ Oracle VM VirtualBox recommends the Intel Matrix Storage drivers,
+ which can be downloaded from
+ <ph>http://downloadcenter.intel.com/Product_Filter.aspx?ProductID=2101</ph>.
+ </p>
+ </note>
+ <p>
+ To add a SATA controller to a machine for which it has not
+ been enabled by default, either because it was created by an
+ earlier version of Oracle VM VirtualBox, or because SATA is not
+ supported by default by the selected guest OS, do the
+ following. Go to the <b outputclass="bold">Storage</b>
+ page of the machine's
+ <b outputclass="bold">Settings</b> window, click
+ <b outputclass="bold">Add Controller</b> under the
+ Storage Tree box and then select <b outputclass="bold">Add
+ SATA Controller</b>. The new controller appears as a
+ separate PCI device in the virtual machine, and you can add
+ virtual disks to it.
+ </p>
+ <p>
+ To change the IDE compatibility mode settings for the SATA
+ controller, see <xref href="man_VBoxManage-storagectl.dita#vboxmanage-storagectl"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">SCSI</b> is another established
+ industry standard, standing for Small Computer System
+ Interface. SCSI is as a generic interface for data transfer
+ between all kinds of devices, including storage devices. SCSI
+ is still used for connecting some hard disks and tape devices,
+ but it has mostly been displaced in commodity hardware. It is
+ still in common use in high-performance workstations and
+ servers.
+ </p>
+ <p>
+ Primarily for compatibility with other virtualization
+ software, Oracle VM VirtualBox optionally supports LSI Logic and
+ BusLogic SCSI controllers, to each of which up to fifteen
+ virtual hard disks can be attached.
+ </p>
+ <p>
+ To enable a SCSI controller, on the
+ <b outputclass="bold">Storage</b> page of a virtual
+ machine's <b outputclass="bold">Settings</b> window,
+ click <b outputclass="bold">Add Controller</b> under
+ the Storage Tree box and then select <b outputclass="bold">Add
+ SCSI Controller</b>. The new controller appears as a
+ separate PCI device in the virtual machine.
+ </p>
+ <note type="attention">
+ <p>
+ As with the other controller types, a SCSI controller will
+ only be seen by OSes with device support for it. Windows
+ 2003 and later ships with drivers for the LSI Logic
+ controller, while Windows NT 4.0 and Windows 2000 ships with
+ drivers for the BusLogic controller. Windows XP ships with
+ drivers for neither.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p><b outputclass="bold">Serial Attached SCSI (SAS)</b> is
+ another bus standard which uses the SCSI command set. As
+ opposed to SCSI physical devices, serial cables are used
+ instead of parallel cables. This simplifies physical device
+ connections. In some ways, therefore, SAS is to SCSI what SATA
+ is to IDE: it enables more reliable and faster connections.
+ </p>
+ <p>
+ To support high-end guests which require SAS controllers,
+ Oracle VM VirtualBox emulates a LSI Logic SAS controller, which can
+ be enabled much the same way as a SCSI controller. At this
+ time, up to 255 devices can be connected to the SAS
+ controller.
+ </p>
+ <note type="attention">
+ <p>
+ As with SATA, the SAS controller will only be seen by OSes
+ with device support for it. In particular, <i>there
+ is no support for SAS in Windows before Windows
+ Vista</i>. So Windows XP, even SP3, will not see such
+ disks unless you install additional drivers.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ The <b outputclass="bold">USB mass storage device
+ class</b> is a standard to connect external storage
+ devices like hard disks or flash drives to a host through USB.
+ All major OSes support these devices and ship generic drivers
+ making third-party drivers superfluous. In particular, legacy
+ OSes without support for SATA controllers may benefit from USB
+ mass storage devices.
+ </p>
+ <p>
+ The virtual USB storage controller offered by Oracle VM VirtualBox
+ works differently to the other storage controller types. While
+ most storage controllers appear as a single PCI device to the
+ guest with multiple disks attached to it, the USB-based
+ storage controller does not appear as virtual storage
+ controller. Each disk attached to the controller appears as a
+ dedicated USB device to the guest.
+ </p>
+ <note type="attention">
+ <p>
+ Booting from drives attached using USB is only supported
+ when EFI is used as the BIOS lacks USB support.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p><b outputclass="bold">Non volatile memory express
+ (NVMe)</b> is a standard for connecting non volatile
+ memory (NVM) directly over PCI Express to lift the bandwidth
+ limitation of the previously used SATA protocol for
+ solid-state devices. Unlike other standards the command set is
+ very simple in order to achieve maximum throughput and is not
+ compatible with ATA or SCSI. OSes need to support NVMe devices
+ to make use of them. For example, Windows 8.1 added native
+ NVMe support. For Windows 7, native support was added with an
+ update.
+ </p>
+ <p>
+ The NVMe controller is part of the extension pack.
+ </p>
+ <note type="attention">
+ <p>
+ Booting from drives attached using NVMe is only supported
+ when EFI is used as the BIOS lacks the appropriate driver.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p><b outputclass="bold">Virtual I/O Device SCSI</b> 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.
+ Currently virtio-scsi controller support is experimental.
+ </p>
+ <note type="attention">
+ <p>
+ The virtio-scsi controller will only be seen by OSes with
+ device support for it. In particular, <i>there is no
+ built-in support in Windows</i>. So Windows will not
+ see such disks unless you install additional drivers.
+ </p>
+ </note>
+ </li>
+ </ul>
+ <p>
+ In summary, Oracle VM VirtualBox gives you the following categories of
+ virtual storage slots:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Four slots attached to the traditional IDE controller, which
+ are always present. One of these is typically a virtual CD/DVD
+ drive.
+ </p>
+ </li>
+ <li>
+ <p>
+ 30 slots attached to the SATA controller, if enabled and
+ supported by the guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ 15 slots attached to the SCSI controller, if enabled and
+ supported by the guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ Up to 255 slots attached to the SAS controller, if enabled and
+ supported by the guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ Eight slots attached to the virtual USB controller, if enabled
+ and supported by the guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ Up to 255 slots attached to the NVMe controller, if enabled
+ and supported by the guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ Up to 256 slots attached to the virtio-scsi controller, if
+ enabled and supported by the guest OS.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Given this large choice of storage controllers, you may not know
+ which one to choose. In general, you should avoid IDE unless it is
+ the only controller supported by your guest. Whether you use SATA,
+ SCSI, or SAS does not make any real difference. The variety of
+ controllers is only supplied by Oracle VM VirtualBox for compatibility
+ with existing hardware and other hypervisors.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hdimagewrites.dita b/doc/manual/en_US/dita/topics/hdimagewrites.dita
new file mode 100644
index 00000000000..22652363527
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hdimagewrites.dita
@@ -0,0 +1,198 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hdimagewrites">
+ <title>Special Image Write Modes</title>
+
+ <body>
+ <p>
+ For each virtual disk image supported by Oracle VM VirtualBox, you can
+ determine separately how it should be affected by write operations
+ from a virtual machine and snapshot operations. This applies to
+ all of the aforementioned image formats (VDI, VMDK, VHD, or HDD)
+ and irrespective of whether an image is fixed-size or dynamically
+ allocated.
+ </p>
+ <p>
+ By default, images are in <i>normal</i> mode. To
+ mark an existing image with one of the non-standard modes listed
+ below, use <userinput>VBoxManage modifymedium</userinput>. See
+ <xref href="man_VBoxManage-modifymedium.dita#vboxmanage-modifymedium"/>. Alternatively, use
+ <userinput>VBoxManage storageattach</userinput> to attach the image to
+ a VM and specify the <codeph>--mtype</codeph> argument. See
+ <xref href="man_VBoxManage-storageattach.dita#vboxmanage-storageattach"/>.
+ </p>
+ <p>
+ The available virtual disk image modes are as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Normal images</b> have no
+ restrictions on how guests can read from and write to the
+ disk. This is the default image mode.
+ </p>
+ <p>
+ When you take a snapshot of your virtual machine as described
+ in <xref href="snapshots.dita#snapshots"/>, the state of a normal hard
+ disk is recorded together with the snapshot, and when
+ reverting to the snapshot, its state will be fully reset.
+ </p>
+ <p>
+ The image file itself is not reset. Instead, when a snapshot
+ is taken, Oracle VM VirtualBox <i>freezes</i> the
+ image file and no longer writes to it. For the write
+ operations from the VM, a second,
+ <i>differencing</i> image file is created which
+ receives only the changes to the original image. See
+ <xref href="diffimages.dita#diffimages"/>.
+ </p>
+ <p>
+ 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.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Write-through hard disks</b> are
+ completely unaffected by snapshots. Their state is
+ <i>not</i> saved when a snapshot is taken, and
+ not restored when a snapshot is restored.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Shareable hard disks</b> are a
+ variant of write-through hard disks. In principle they behave
+ exactly the same. Their state is <i>not</i>
+ saved when a snapshot is taken, and not restored when a
+ snapshot is restored. The difference only shows if you attach
+ such disks to several VMs. Shareable disks may be attached to
+ several VMs which may run concurrently. This makes them
+ suitable for use by cluster filesystems between VMs and
+ similar applications which are explicitly prepared to access a
+ disk concurrently. Only fixed size images can be used in this
+ way, and dynamically allocated images are rejected.
+ </p>
+ <note type="attention">
+ <p>
+ This is an expert feature, and misuse can lead to data loss,
+ as regular filesystems are not prepared to handle
+ simultaneous changes by several parties.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p><b outputclass="bold">Immutable images</b> only
+ remember write accesses temporarily while the virtual machine
+ is running. All changes are lost when the virtual machine is
+ powered on the next time. As a result, as opposed to Normal
+ images, the same immutable image can be used with several
+ virtual machines without restrictions.
+ </p>
+ <p>
+ Creating an immutable image makes little sense since it would
+ be initially empty and lose its contents with every machine
+ restart. You would have a disk that is always unformatted when
+ the machine starts up. Instead, you can first create a normal
+ image and then later mark it as immutable when you decide that
+ the contents are useful.
+ </p>
+ <p>
+ If you take a snapshot of a machine with immutable images,
+ then on every machine power-up, those images are reset to the
+ state of the last (current) snapshot, instead of the state of
+ the original immutable image.
+ </p>
+ <note>
+ <p>
+ As a special exception, immutable images are
+ <i>not</i> reset if they are attached to a
+ machine in a saved state or whose last snapshot was taken
+ while the machine was running. This is called an
+ <i>online snapshot</i>. As a result, if the
+ machine's current snapshot is an online snapshot, its
+ immutable images behave exactly like the a normal image. To
+ reenable the automatic resetting of such images, delete the
+ current snapshot of the machine.
+ </p>
+ </note>
+ <p>
+ Oracle VM VirtualBox never writes to an immutable image directly at
+ all. All write operations from the machine are directed to a
+ differencing image. The next time the VM is powered on, the
+ differencing image is reset so that every time the VM starts,
+ its immutable images have exactly the same content.
+ </p>
+ <p>
+ The differencing image is only reset when the machine is
+ powered on from within Oracle VM VirtualBox, not when you reboot by
+ requesting a reboot from within the machine. This is also why
+ immutable images behave as described above when snapshots are
+ also present, which use differencing images as well.
+ </p>
+ <p>
+ If the automatic discarding of the differencing image on VM
+ startup does not fit your needs, you can turn it off using the
+ <codeph>autoreset</codeph> parameter of <userinput>VBoxManage
+ modifymedium</userinput>. See
+ <xref href="man_VBoxManage-modifymedium.dita#vboxmanage-modifymedium"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Multiattach mode images</b> can
+ be attached to more than one virtual machine at the same time,
+ even if these machines are running simultaneously. For each
+ virtual machine to which such an image is attached, a
+ differencing image is created. As a result, data that is
+ written to such a virtual disk by one machine is not seen by
+ the other machines to which the image is attached. Each
+ machine creates its own write history of the multiattach
+ image.
+ </p>
+ <p>
+ Technically, a multiattach image behaves identically to an
+ immutable image except the differencing image is not reset
+ every time the machine starts.
+ </p>
+ <p>
+ This mode is useful for sharing files which are almost never
+ written, for instance picture galleries, where every guest
+ changes only a small amount of data and the majority of the
+ disk content remains unchanged. The modified blocks are stored
+ in differencing images which remain relatively small and the
+ shared content is stored only once at the host.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Read-only images</b> are used
+ automatically for CD/DVD images, since CDs/DVDs can never be
+ written to.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The following scenario illustrates the differences between the
+ various image modes, with respect to snapshots.
+ </p>
+ <p>
+ Assume you have installed your guest OS in your VM, and you have
+ taken a snapshot. Later, your VM is infected with a virus and you
+ would like to go back to the snapshot. With a normal hard disk
+ image, you simply restore the snapshot, 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, all it
+ takes is to shut down and power on your VM, and the virus
+ infection will be discarded. With a write-through image however,
+ you cannot easily undo the virus infection by means of
+ virtualization, but will have to disinfect your virtual machine
+ like a real computer.
+ </p>
+ <p>
+ You might find write-through images useful if you want to preserve
+ critical data irrespective of snapshots. As you can attach more
+ than one image to a VM, you may want to have one immutable image
+ for the OS and one write-through image for your data files.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/headless-vm-steps.dita b/doc/manual/en_US/dita/topics/headless-vm-steps.dita
new file mode 100644
index 00000000000..62faa440f5b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/headless-vm-steps.dita
@@ -0,0 +1,140 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="headless-vm-steps">
+ <title>Step by Step: Creating a Virtual Machine on a Headless Server</title>
+
+ <body>
+ <p>
+ The following instructions describe how to create a virtual
+ machine on a headless server over a network connection. This
+ example creates a virtual machine, establishes an RDP connection
+ and installs a guest operating system. All of these tasks are
+ done without having to touch the headless server. You need the
+ following prerequisites:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle VM VirtualBox on a server machine with a supported host
+ operating system. The Oracle VM VirtualBox Extension Pack for the
+ VRDP server must be installed, see <xref href="vrde.dita#vrde"/>.
+ The procedures assume a Linux server is used.
+ </p>
+ </li>
+ <li>
+ <p>
+ An ISO file accessible from the server, containing the
+ installation data for the guest operating system to install.
+ Windows XP is used in the example.
+ </p>
+ </li>
+ <li>
+ <p>
+ A terminal connection to that host through which you can
+ access a command line, such as <userinput>ssh</userinput>.
+ </p>
+ </li>
+ <li>
+ <p>
+ An RDP viewer on the remote client. See
+ <xref href="rdp-viewers.dita#rdp-viewers"/> for examples.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Note that on the server machine, since we will only use the
+ headless server, Qt and the X Window system are not required.
+ </p>
+ <ol>
+ <li>
+ <p>
+ On the headless server, create a new virtual machine. For
+ example:
+ </p>
+ <pre xml:space="preserve">VBoxManage createvm --name "Windows XP" --ostype WindowsXP --register</pre>
+ <p>
+ If you do not specify <codeph>--register</codeph>, you will
+ have to manually use the <userinput>registervm</userinput>
+ command later.
+ </p>
+ <p>
+ You do not need to specify <codeph>--ostype</codeph>, but
+ doing so selects some sensible default values for certain VM
+ parameters. For example, the RAM size and the type of the
+ virtual network device. To get a complete list of supported
+ operating systems you can use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage list ostypes</pre>
+ </li>
+ <li>
+ <p>
+ Make sure the settings for the VM are appropriate for the
+ guest operating system that we will install. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "Windows XP" --memory 256 --acpi on --boot1 dvd --nic1 nat</pre>
+ </li>
+ <li>
+ <p>
+ Create a virtual hard disk for the VM. For example, to
+ create a 10 GB virtual hard disk:
+ </p>
+ <pre xml:space="preserve">VBoxManage createhd --filename "WinXP.vdi" --size 10000</pre>
+ </li>
+ <li>
+ <p>
+ Add an IDE Controller to the new VM. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage storagectl "Windows XP" --name "IDE Controller"
+ --add ide --controller PIIX4</pre>
+ </li>
+ <li>
+ <p>
+ Set the VDI file you created as the first virtual hard disk
+ of the new VM. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage storageattach "Windows XP" --storagectl "IDE Controller"
+ --port 0 --device 0 --type hdd --medium "WinXP.vdi"</pre>
+ </li>
+ <li>
+ <p>
+ Attach the ISO file that contains the operating system
+ installation that you want to install later to the virtual
+ machine. This is done so that the VM can boot from it.
+ </p>
+ <pre xml:space="preserve">VBoxManage storageattach "Windows XP" --storagectl "IDE Controller"
+ --port 0 --device 1 --type dvddrive --medium /full/path/to/iso.iso</pre>
+ </li>
+ <li>
+ <p>
+ Enable the VirtualBox Remote Desktop Extension, the VRDP
+ server, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "Windows XP" --vrde on</pre>
+ </li>
+ <li>
+ <p>
+ Start the virtual machine using the
+ <userinput>VBoxHeadless</userinput> command:
+ </p>
+ <pre xml:space="preserve">VBoxHeadless --startvm "Windows XP"</pre>
+ <p>
+ If the configuration steps worked, you should see a
+ copyright notice. If you are returned to the command line,
+ then something did not work correctly.
+ </p>
+ </li>
+ <li>
+ <p>
+ On the client machine, start the RDP viewer and connect to
+ the server. See <xref href="rdp-viewers.dita#rdp-viewers"/> for details
+ of how to use various common RDP viewers.
+ </p>
+ <p>
+ The installation routine of your guest operating system
+ should be displayed in the RDP viewer.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/heartbeatservice.dita b/doc/manual/en_US/dita/topics/heartbeatservice.dita
new file mode 100644
index 00000000000..88d2ef245f0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/heartbeatservice.dita
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="heartbeatservice">
+ <title>Configuring the Heartbeat Service</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox ships a simple heartbeat service. Once the Guest
+ Additions are active, the guest sends frequent heartbeat pings to
+ the host. If the guest stops sending the heartbeat pings without
+ properly terminating the service, the VM process will log this
+ event in the VBox.log file. In the future it might be possible to
+ configure dedicated actions but for now there is only a warning in
+ the log file.
+ </p>
+ <p>
+ There are two parameters to configure. The <i>heartbeat
+ interval</i> defines the time between two heartbeat pings.
+ The default value is 2 seconds, that is, the heartbeat service of
+ the Oracle VM VirtualBox Guest Additions will send a heartbeat ping
+ every two seconds. The value in nanoseconds can be configured like
+ this:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/VMMDev/0/Config/HeartbeatInterval 2000000000</pre>
+ <p>
+ The <i>heartbeat timeout</i> defines the time the
+ host waits starting from the last heartbeat ping before it defines
+ the guest as unresponsive. The default value is 2 times the
+ heartbeat interval (4 seconds) and can be configured as following,
+ in nanoseconds:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/VMMDev/0/Config/HeartbeatTimeout 4000000000</pre>
+ <p>
+ If the heartbeat timeout expires, there will be a log message like
+ <i>VMMDev: HeartBeatCheckTimer: Guest seems to be
+ unresponsive. Last heartbeat received 5 seconds ago.</i> If
+ another heartbeat ping arrives after this warning, there will be a
+ log message like <i>VMMDev: GuestHeartBeat: Guest is
+ alive.</i>
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/help-viewer.dita b/doc/manual/en_US/dita/topics/help-viewer.dita
new file mode 100644
index 00000000000..c9c1ff6b423
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/help-viewer.dita
@@ -0,0 +1,90 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="help-viewer">
+ <title>Help Viewer</title>
+
+ <body>
+ <p>
+ The Help Viewer is a window that displays context-sensitive help
+ to assist you in completing common VirtualBox Manager tasks. You can
+ display the Help Viewer in the following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ In a VirtualBox Manager wizard or dialog, click
+ <b outputclass="bold">Help</b> to display the
+ relevant help topic.
+ </p>
+ </li>
+ <li>
+ <p>
+ In VirtualBox Manager or from a guest VM, do either of the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Select the <b outputclass="bold">Help</b>,
+ <b outputclass="bold">Contents</b> menu option.
+ </p>
+ </li>
+ <li>
+ <p>
+ Press the <b outputclass="bold">F1</b> button.
+ </p>
+ <p>
+ The keyboard shortcut used to access the Help Viewer can
+ be configured in the
+ <b outputclass="bold">Preferences</b> window.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ The Help Viewer has the following features:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Navigation tools.</b> The left
+ hand pane contains the following navigation tools:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Contents.</b> Displays the
+ help topic location in the Oracle VM VirtualBox documentation.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Search.</b> Enables you to
+ search the documentation for help topics.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Bookmarks.</b> Enables you
+ to bookmark useful help topics.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p><b outputclass="bold">Tabbed browsing.</b> Help
+ topics that you have visited are displayed in tabs in the
+ main window pane.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Zoomable topics.</b> Zoom
+ controls enable you to enlarge help topic details.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Printing.</b> Help topics can
+ be printed to PDF file or to a local printer.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hidledssync.dita b/doc/manual/en_US/dita/topics/hidledssync.dita
new file mode 100644
index 00000000000..adc3b95918f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hidledssync.dita
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hidledssync">
+ <title>Support for Keyboard Indicator Synchronization</title>
+
+ <body>
+ <p>
+ This feature makes the host keyboard indicators (LEDs) match those
+ of the VM's emulated keyboard when the machine window is active.
+ It is currently implemented for macOS and Windows hosts. This
+ feature is enabled by default on supported host OSes. You can
+ disable this feature by running the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> GUI/HidLedsSync 0</pre>
+ <p>
+ This is a per-VM setting that is enabled by default.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/host-key-customize.dita b/doc/manual/en_US/dita/topics/host-key-customize.dita
new file mode 100644
index 00000000000..a2db524ad8b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/host-key-customize.dita
@@ -0,0 +1,418 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="host-key-customize">
+ <title>Host Key Customization</title>
+
+ <body>
+ <p>
+ To disable all Host key combinations, open the preferences and
+ change the Host key to None. This might be useful when using
+ Oracle VM VirtualBox in a kiosk mode.
+ </p>
+ <p>
+ To redefine or disable certain Host key actions, use the
+ following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global GUI/Input/MachineShortcuts "FullscreenMode=F,...."</pre>
+ <p>
+ The following table shows the possible Host key actions,
+ together with their default Host key shortcut. Setting an action
+ to None will disable that Host key action.
+ </p>
+ <table id="table-host-key-customize">
+ <title>Host Key Customization</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Action</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Default Key</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Action</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ <codeph>TakeSnapshot</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ T
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Take a snapshot
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>TakeScreenshot</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ E
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Take a screenshot
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>MouseIntegration</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ I
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Toggle mouse integration
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>TypeCAD</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Del
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Inject Ctrl+Alt+Del
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>TypeCABS</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Backspace
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Inject Ctrl+Alt+Backspace
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>Pause</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ P
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Pause the VM
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>Reset</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ R
+ </p>
+ </entry>
+ <entry>Hard reset the guest</entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SaveState</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ <entry>
+ <p>
+ Save the VM state and terminate the VM
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>Shutdown</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ H
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Press the virtual ACPI power button
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>PowerOff</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ <entry>
+ <p>
+ Power off the VM without saving the state
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>Close</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Q
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Show the Close VM dialog
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>FullscreenMode</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ F
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Switch the VM into full screen mode
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SeamlessMode</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ L
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Switch the VM into seamless mode
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>ScaleMode</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ C
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Switch the VM into scaled mode
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>GuestAutoResize</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ G
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Automatically resize the guest window
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>WindowAdjust</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ A
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Immediately resize the guest window
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>PopupMenu</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Home
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Show the popup menu in full screen mode and seamless
+ mode
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SettingsDialog</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ S
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Open the VM Settings dialog
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>InformationDialog</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ N
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Show the VM Session Information window
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>NetworkAdaptersDialog</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ <entry>
+ <p>
+ Show the VM Network Adapters dialog
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SharedFoldersDialog</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ <entry>
+ <p>
+ Show the VM Shared Folders dialog
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>InstallGuestAdditions</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ D
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Mount the ISO containing the Guest Additions
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <p>
+ To disable full screen mode and seamless mode, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global GUI/Input/MachineShortcuts "FullscreenMode=None,SeamlessMode=None"</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hostcpurequirements.dita b/doc/manual/en_US/dita/topics/hostcpurequirements.dita
new file mode 100644
index 00000000000..d51c53561da
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hostcpurequirements.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hostcpurequirements">
+ <title>Host CPU Requirements</title>
+
+ <body>
+ <p>
+ SSE2 (Streaming SIMD Extensions 2) support is required for host
+ CPUs.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hostossupport.dita b/doc/manual/en_US/dita/topics/hostossupport.dita
new file mode 100644
index 00000000000..d30256b593b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hostossupport.dita
@@ -0,0 +1,181 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hostossupport">
+ <title>Supported Host Operating Systems</title>
+
+ <body>
+ <p>
+ Currently, Oracle VM VirtualBox runs on the following host OSes:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Windows hosts (64-bit):</b>
+ </p>
+ <ul>
+ <li>
+ <p>
+ Windows 8.1
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows 10
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows 11 21H2
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows Server 2012
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows Server 2012 R2
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows Server 2016
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows Server 2019
+ </p>
+ </li>
+ <li>
+ <p>
+ Windows Server 2022
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">macOS hosts (64-bit):</b>
+ </p>
+ <ul>
+ <li>
+ <p>
+ 10.15 (Catalina)
+ </p>
+ </li>
+ <li>
+ <p>
+ 11 (Big Sur)
+ </p>
+ </li>
+ <li>
+ <p>
+ 12 (Monterey)
+ </p>
+ </li>
+ </ul>
+ <p>
+ Intel hardware is required. See also
+ <xref href="KnownIssues.dita">Known Limitations</xref>.
+ </p>
+ <p>
+ An installer package is available for macOS/Arm64, for systems
+ using an Apple silicon CPU. With this package, you can run
+ some guest operating systems for Intel x86/x64 CPUs in an
+ emulation.
+ </p>
+ <p>
+ The macOS/Arm64 installer package for Apple silicon platform
+ is available as a Developer Preview release. This package
+ represents a work in progress project and the performance is
+ very modest.
+ </p>
+ <note>
+ <p>
+ Developer Preview is a public release for developers, which
+ provides early access to unsupported software release and
+ features.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p><b outputclass="bold">Linux hosts (64-bit).</b>
+ Includes the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Ubuntu 18.04 LTS, 20.04 LTS and 22.04
+ </p>
+ </li>
+ <li>
+ <p>
+ Debian GNU/Linux 10 ("Buster") and 11 ("Bullseye")
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle Linux 7, 8 and 9
+ </p>
+ </li>
+ <li>
+ <p>
+ CentOS/Red Hat Enterprise Linux 7, 8 and 9
+ </p>
+ </li>
+ <li>
+ <p>
+ Fedora 35 and 36
+ </p>
+ </li>
+ <li>
+ <p>
+ Gentoo Linux
+ </p>
+ </li>
+ <li>
+ <p>
+ SUSE Linux Enterprise server 12 and 15
+ </p>
+ </li>
+ <li>
+ <p>
+ openSUSE Leap 15.3
+ </p>
+ </li>
+ </ul>
+ <p>
+ It should be possible to use Oracle VM VirtualBox on most systems
+ based on Linux kernel 2.6, 3.x, 4.x or 5.x using either the
+ Oracle VM VirtualBox installer or by doing a manual installation.
+ See <xref href="install-linux-host.dita#install-linux-host"/>. However, the
+ formally tested and supported Linux distributions are those
+ for which we offer a dedicated package.
+ </p>
+ <p>
+ Note that Linux 2.4-based host OSes are no longer supported.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Oracle Solaris hosts (64-bit
+ only).</b> The following versions are supported with
+ the restrictions listed in <xref href="KnownIssues.dita">Known Limitations</xref>:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle Solaris 11.4
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ Note that any feature which is marked as
+ <i>experimental</i> is not supported. Feedback and
+ suggestions about such features are welcome.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hostpowertweaks.dita b/doc/manual/en_US/dita/topics/hostpowertweaks.dita
new file mode 100644
index 00000000000..9e528c3c3fb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hostpowertweaks.dita
@@ -0,0 +1,65 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hostpowertweaks">
+ <title>Handling of Host Power Management Events</title>
+
+ <body>
+ <p>
+ Some host power management events are handled by Oracle VM VirtualBox.
+ The actual behavior depends on the platform:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Host Suspends.</b> This event is
+ generated when the host is about to suspend, that is, the host
+ saves the state to some non-volatile storage and powers off.
+ </p>
+ <p>
+ This event is currently only handled on Windows hosts and Mac
+ OS X hosts. When this event is generated, Oracle VM VirtualBox will
+ pause all running VMs.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Host Resumes.</b> This event is
+ generated when the host woke up from the suspended state.
+ </p>
+ <p>
+ This event is currently only handled on Windows hosts and Mac
+ OS X hosts. When this event is generated, Oracle VM VirtualBox will
+ resume all VMs which are where paused before.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Battery Low.</b> The battery
+ level reached a critical level, usually less than 5 percent
+ charged.
+ </p>
+ <p>
+ This event is currently only handled on Windows hosts and Mac
+ OS X hosts. When this event is generated, Oracle VM VirtualBox will
+ save the state and terminate all VMs in preparation of a
+ potential host powerdown.
+ </p>
+ <p>
+ The behavior can be configured. By executing the following
+ command, no VM is saved:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global "VBoxInternal2/SavestateOnBatteryLow" 0</pre>
+ <p>
+ This is a global setting as well as a per-VM setting. The
+ per-VM value has higher precedence than the global value. The
+ following command will save the state of all VMs but will not
+ save the state of VM "foo":
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata global "VBoxInternal2/SavestateOnBatteryLow" 1
+$ VBoxManage setextradata "foo" "VBoxInternal2/SavestateOnBatteryLow" 0</pre>
+ <p>
+ The first line is actually not required as by default the
+ savestate action is performed.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hwvirt-details.dita b/doc/manual/en_US/dita/topics/hwvirt-details.dita
new file mode 100644
index 00000000000..1b785f926fc
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hwvirt-details.dita
@@ -0,0 +1,92 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hwvirt-details">
+ <title>Details About Hardware Virtualization</title>
+
+ <body>
+ <p>
+ With Intel VT-x, there are two distinct modes of CPU operation:
+ VMX root mode and non-root mode.
+ </p>
+ <ul>
+ <li>
+ <p>
+ In root mode, the CPU operates much like older generations of
+ processors without VT-x support. There are four privilege
+ levels, called rings, and the same instruction set is
+ supported, with the addition of several virtualization
+ specific instruction. Root mode is what a host operating
+ system without virtualization uses, and it is also used by a
+ hypervisor when virtualization is active.
+ </p>
+ </li>
+ <li>
+ <p>
+ In non-root mode, CPU operation is significantly different.
+ There are still four privilege rings and the same instruction
+ set, but a new structure called VMCS (Virtual Machine Control
+ Structure) now controls the CPU operation and determines how
+ certain instructions behave. Non-root mode is where guest
+ systems run.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Switching from root mode to non-root mode is called "VM entry",
+ the switch back is "VM exit". The VMCS includes a guest and host
+ state area which is saved/restored at VM entry and exit. Most
+ importantly, the VMCS controls which guest operations will cause
+ VM exits.
+ </p>
+ <p>
+ The VMCS provides fairly fine-grained control over what the guests
+ can and cannot do. For example, a hypervisor can allow a guest to
+ write certain bits in shadowed control registers, but not others.
+ This enables efficient virtualization in cases where guests can be
+ allowed to write control bits without disrupting the hypervisor,
+ while preventing them from altering control bits over which the
+ hypervisor needs to retain full control. The VMCS also provides
+ control over interrupt delivery and exceptions.
+ </p>
+ <p>
+ Whenever an instruction or event causes a VM exit, the VMCS
+ contains information about the exit reason, often with
+ accompanying detail. For example, if a write to the CR0 register
+ causes an exit, the offending instruction is recorded, along with
+ the fact that a write access to a control register caused the
+ exit, and information about source and destination register. Thus
+ the hypervisor can efficiently handle the condition without
+ needing advanced techniques such as CSAM and PATM described above.
+ </p>
+ <p>
+ VT-x inherently avoids several of the problems which software
+ virtualization faces. The guest has its own completely separate
+ address space not shared with the hypervisor, which eliminates
+ potential clashes. Additionally, guest OS kernel code runs at
+ privilege ring 0 in VMX non-root mode, obviating the problems by
+ running ring 0 code at less privileged levels. For example the
+ SYSENTER instruction can transition to ring 0 without causing
+ problems. Naturally, even at ring 0 in VMX non-root mode, any I/O
+ access by guest code still causes a VM exit, allowing for device
+ emulation.
+ </p>
+ <p>
+ The biggest difference between VT-x and AMD-V is that AMD-V
+ provides a more complete virtualization environment. VT-x requires
+ the VMX non-root code to run with paging enabled, which precludes
+ hardware virtualization of real-mode code and non-paged
+ protected-mode software. This typically only includes firmware and
+ OS loaders, but nevertheless complicates VT-x hypervisor
+ implementation. AMD-V does not have this restriction.
+ </p>
+ <p>
+ Of course hardware virtualization is not perfect. Compared to
+ software virtualization, the overhead of VM exits is relatively
+ high. This causes problems for devices whose emulation requires
+ high number of traps. One example is a VGA device in 16-color
+ mode, where not only every I/O port access but also every access
+ to the framebuffer memory must be trapped.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hwvirt.dita b/doc/manual/en_US/dita/topics/hwvirt.dita
new file mode 100644
index 00000000000..866627c7151
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hwvirt.dita
@@ -0,0 +1,92 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hwvirt">
+ <title>Hardware Virtualization</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables software in the virtual machine to run
+ directly on the processor of the host, but an array of complex
+ techniques is employed to intercept operations that would
+ interfere with your host. Whenever the guest attempts to do
+ something that could be harmful to your computer and its data,
+ Oracle VM VirtualBox steps in and takes action. In particular, for lots
+ of hardware that the guest believes to be accessing,
+ Oracle VM VirtualBox simulates a certain <i>virtual</i>
+ environment according to how you have configured a virtual
+ machine. For example, when the guest attempts to access a hard
+ disk, Oracle VM VirtualBox redirects these requests to whatever you have
+ configured to be the virtual machine's virtual hard disk. This is
+ normally an image file on your host.
+ </p>
+ <p>
+ Unfortunately, the x86 platform was never designed to be
+ virtualized. Detecting situations in which Oracle VM VirtualBox needs to
+ take control over the guest code that is executing, as described
+ above, is difficult. To achieve this, Oracle VM VirtualBox uses
+ <i>hardware virtualization</i>.
+ </p>
+ <p>
+ Intel and AMD processors have support for hardware virtualization.
+ This means that these processors can help Oracle VM VirtualBox to
+ intercept potentially dangerous operations that a guest operating
+ system may be attempting and also makes it easier to present
+ virtual hardware to a virtual machine.
+ </p>
+ <p>
+ These hardware features differ between Intel and AMD processors.
+ Intel named its technology VT-x, AMD calls theirs AMD-V. The Intel
+ and AMD support for virtualization is very different in detail,
+ but not very different in principle.
+ </p>
+ <note>
+ <p>
+ On many systems, the hardware virtualization features first need
+ to be enabled in the BIOS before Oracle VM VirtualBox can use them.
+ </p>
+ </note>
+ <p>
+ Enabling hardware virtualization is <i>required</i>
+ in the following scenarios:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Certain rare guest operating systems like OS/2 make use of
+ very esoteric processor instructions. For virtual machines
+ that are configured to use such an operating system, hardware
+ virtualization is enabled automatically.
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle VM VirtualBox's 64-bit guest and multiprocessing (SMP)
+ support both require hardware virtualization to be enabled.
+ This is not much of a limitation since the vast majority of
+ 64-bit and multicore CPUs ship with hardware virtualization.
+ The exceptions to this rule are some legacy Intel and AMD
+ CPUs.
+ </p>
+ </li>
+ </ul>
+ <note type="attention">
+ <p>
+ Do not run other hypervisors, either open source or commercial
+ virtualization products, together with Oracle VM VirtualBox. While
+ several hypervisors can normally be
+ <i>installed</i> in parallel, do not attempt to
+ <i>run</i> several virtual machines from competing
+ hypervisors at the same time. Oracle VM VirtualBox cannot track what
+ another hypervisor is currently attempting to do on the same
+ host, and especially if several products attempt to use hardware
+ virtualization features such as VT-x, this can crash the entire
+ host.
+ </p>
+ </note>
+ <p>
+ See <xref href="hwvirt-details.dita#hwvirt-details"/> for a technical discussion of
+ hardware virtualization.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/hyperv-support.dita b/doc/manual/en_US/dita/topics/hyperv-support.dita
new file mode 100644
index 00000000000..73286bae3a1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/hyperv-support.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="hyperv-support">
+ <title>Using Hyper-V with Oracle VM VirtualBox</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox can be used on a Windows host where Hyper-V is
+ running. This is an experimental feature.
+ </p>
+ <p>
+ No configuration is required. Oracle VM VirtualBox detects Hyper-V
+ automatically and uses Hyper-V as the virtualization engine for
+ the host system. The CPU icon in the VM window status bar
+ indicates that Hyper-V is being used.
+ </p>
+ <note>
+ <p>
+ When using this feature, some host systems might experience
+ significant Oracle VM VirtualBox performance degradation.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/images/clone-vm-1.png b/doc/manual/en_US/dita/topics/images/clone-vm-1.png
new file mode 100644
index 00000000000..f47904a7f5e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/clone-vm-1.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/clone-vm-2.png b/doc/manual/en_US/dita/topics/images/clone-vm-2.png
new file mode 100644
index 00000000000..d8e98d1fc77
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/clone-vm-2.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/clone-vm-3.png b/doc/manual/en_US/dita/topics/images/clone-vm-3.png
new file mode 100755
index 00000000000..62492a60229
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/clone-vm-3.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/cloud-profile-manager.png b/doc/manual/en_US/dita/topics/images/cloud-profile-manager.png
new file mode 100644
index 00000000000..a262d38685b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/cloud-profile-manager.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/cloudvm-add.png b/doc/manual/en_US/dita/topics/images/cloudvm-add.png
new file mode 100755
index 00000000000..33cf7f1ebff
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/cloudvm-add.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/cloudvm-new.png b/doc/manual/en_US/dita/topics/images/cloudvm-new.png
new file mode 100755
index 00000000000..9f6016d55d3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/cloudvm-new.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/cloudvm-oci-group.png b/doc/manual/en_US/dita/topics/images/cloudvm-oci-group.png
new file mode 100644
index 00000000000..b302f6b20d9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/cloudvm-oci-group.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/cloudvm-overview.png b/doc/manual/en_US/dita/topics/images/cloudvm-overview.png
new file mode 100644
index 00000000000..2d75c642571
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/cloudvm-overview.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/create-vm-1.png b/doc/manual/en_US/dita/topics/images/create-vm-1.png
new file mode 100644
index 00000000000..88b1cbdc731
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/create-vm-1.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/create-vm-2.png b/doc/manual/en_US/dita/topics/images/create-vm-2.png
new file mode 100644
index 00000000000..03b16810828
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/create-vm-2.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/create-vm-3.png b/doc/manual/en_US/dita/topics/images/create-vm-3.png
new file mode 100644
index 00000000000..90c3513804f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/create-vm-3.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/create-vm-4.png b/doc/manual/en_US/dita/topics/images/create-vm-4.png
new file mode 100644
index 00000000000..e359978223b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/create-vm-4.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/details-pane.png b/doc/manual/en_US/dita/topics/images/details-pane.png
new file mode 100644
index 00000000000..f4042a35446
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/details-pane.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/dnd-modes.png b/doc/manual/en_US/dita/topics/images/dnd-modes.png
new file mode 100644
index 00000000000..0ef22d8a6ae
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/dnd-modes.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/export-appliance-oci.png b/doc/manual/en_US/dita/topics/images/export-appliance-oci.png
new file mode 100644
index 00000000000..312e853bbf2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/export-appliance-oci.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/global-tools-menu.png b/doc/manual/en_US/dita/topics/images/global-tools-menu.png
new file mode 100644
index 00000000000..a1aaa749f57
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/global-tools-menu.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/guest-fm.png b/doc/manual/en_US/dita/topics/images/guest-fm.png
new file mode 100755
index 00000000000..fa0528e291f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/guest-fm.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/import-instance.png b/doc/manual/en_US/dita/topics/images/import-instance.png
new file mode 100644
index 00000000000..8dfb6ed23cc
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/import-instance.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/log-viewer.png b/doc/manual/en_US/dita/topics/images/log-viewer.png
new file mode 100644
index 00000000000..dbe4e9cda6d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/log-viewer.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/machine-tools-menu.png b/doc/manual/en_US/dita/topics/images/machine-tools-menu.png
new file mode 100755
index 00000000000..9272ecff01b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/machine-tools-menu.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/ovf-import.png b/doc/manual/en_US/dita/topics/images/ovf-import.png
new file mode 100644
index 00000000000..b2d6b1b2d86
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/ovf-import.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/seamless.png b/doc/manual/en_US/dita/topics/images/seamless.png
new file mode 100644
index 00000000000..7239300d68e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/seamless.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/session-information.png b/doc/manual/en_US/dita/topics/images/session-information.png
new file mode 100644
index 00000000000..a4a64611b36
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/session-information.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/snapshots-1.png b/doc/manual/en_US/dita/topics/images/snapshots-1.png
new file mode 100644
index 00000000000..91f790f2a20
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/snapshots-1.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/snapshots-2.png b/doc/manual/en_US/dita/topics/images/snapshots-2.png
new file mode 100644
index 00000000000..aca79e1e3f8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/snapshots-2.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/softkeybd.png b/doc/manual/en_US/dita/topics/images/softkeybd.png
new file mode 100644
index 00000000000..545211bff5f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/softkeybd.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/upload-key.png b/doc/manual/en_US/dita/topics/images/upload-key.png
new file mode 100644
index 00000000000..cae44e44261
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/upload-key.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/virtual-disk-manager-2.png b/doc/manual/en_US/dita/topics/images/virtual-disk-manager-2.png
new file mode 100644
index 00000000000..030043ba6ed
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/virtual-disk-manager-2.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/virtual-disk-manager.png b/doc/manual/en_US/dita/topics/images/virtual-disk-manager.png
new file mode 100644
index 00000000000..6e7637d4427
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/virtual-disk-manager.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/virtual-hard-disk-wizard.png b/doc/manual/en_US/dita/topics/images/virtual-hard-disk-wizard.png
new file mode 100644
index 00000000000..4a392779588
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/virtual-hard-disk-wizard.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/virtualbox-main-empty.png b/doc/manual/en_US/dita/topics/images/virtualbox-main-empty.png
new file mode 100644
index 00000000000..a29aa67ed54
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/virtualbox-main-empty.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/virtualbox-main.png b/doc/manual/en_US/dita/topics/images/virtualbox-main.png
new file mode 100644
index 00000000000..963b709ec38
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/virtualbox-main.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/vm-activity-overview.png b/doc/manual/en_US/dita/topics/images/vm-activity-overview.png
new file mode 100644
index 00000000000..93e4d3a465a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/vm-activity-overview.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/vm-close.png b/doc/manual/en_US/dita/topics/images/vm-close.png
new file mode 100644
index 00000000000..0a018c2b537
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/vm-close.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/vm-groups.png b/doc/manual/en_US/dita/topics/images/vm-groups.png
new file mode 100644
index 00000000000..0d746db3b12
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/vm-groups.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/vm-hostkey.png b/doc/manual/en_US/dita/topics/images/vm-hostkey.png
new file mode 100644
index 00000000000..f59aedb1bb8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/vm-hostkey.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/vm-settings-harddisk.png b/doc/manual/en_US/dita/topics/images/vm-settings-harddisk.png
new file mode 100644
index 00000000000..27ac82cf699
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/vm-settings-harddisk.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/images/vm-vista-running.png b/doc/manual/en_US/dita/topics/images/vm-vista-running.png
new file mode 100644
index 00000000000..79f04b09791
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/images/vm-vista-running.png
Binary files differ
diff --git a/doc/manual/en_US/dita/topics/import-instance-sequence.dita b/doc/manual/en_US/dita/topics/import-instance-sequence.dita
new file mode 100644
index 00000000000..1ea1ce713dc
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/import-instance-sequence.dita
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="import-instance-sequence">
+ <title>Importing an Instance: Overview of Events</title>
+
+ <body>
+ <p>
+ The following describes the sequence of events when you import
+ an instance from Oracle Cloud Infrastructure.
+ </p>
+ <ul>
+ <li>
+ <p>
+ A custom image is created from the boot volume of the
+ instance.
+ </p>
+ </li>
+ <li>
+ <p>
+ The custom image is exported to an Oracle Cloud Infrastructure object and is
+ stored using Object Storage in the bucket specified by the
+ user.
+ </p>
+ </li>
+ <li>
+ <p>
+ The Oracle Cloud Infrastructure object is downloaded to the local host. The
+ object is a TAR archive which contains a boot volume of
+ the instance in QCOW2 format and a JSON file containing
+ metadata related to the instance.
+ </p>
+ </li>
+ <li>
+ <p>
+ The boot volume of the instance is extracted from the
+ archive and a new VMDK image is created by converting the
+ boot volume into the VMDK format. The VMDK image is
+ registered with Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p>
+ A new VM is created using the VMDK image for the cloud
+ instance.
+ </p>
+ <p>
+ By default, the new VM is not started after import from
+ Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ <li>
+ <p>
+ The downloaded TAR archive is deleted after a successful
+ import.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-ext-pack-manager.dita b/doc/manual/en_US/dita/topics/install-ext-pack-manager.dita
new file mode 100644
index 00000000000..b26bc6b09c4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-ext-pack-manager.dita
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-ext-pack-manager">
+ <title>The Extension Pack Manager</title>
+
+ <body>
+ <p>
+ Extension packs can be installed and managed using the
+ <b outputclass="bold">Extension Pack Manager</b> tool in
+ VirtualBox Manager.
+ </p>
+ <p>
+ The Extension Pack Manager lists the extension packs that are
+ currently installed on the host, and enables you to install and
+ uninstall extension packs.
+ </p>
+ <p>
+ To display the Extension Pack Manager, go to the global
+ <b outputclass="bold">Tools</b> menu and click
+ <b outputclass="bold">Extensions</b>. The Extension Pack
+ Manager is shown.
+ </p>
+ <p>
+ To install an extension pack using the Extension Pack Manager,
+ click <b outputclass="bold">Install</b> and select an
+ extension package file. The extension pack is installed on the
+ host and listed in Extension Pack Manager.
+ </p>
+ <p>
+ To uninstall an extension pack with the Extension Pack Manager,
+ do the following:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Select the extension pack in the Extension Pack Manager
+ window and click <b outputclass="bold">Uninstall</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Remove</b> in the prompt
+ dialog.
+ </p>
+ <p>
+ The extension pack is uninstalled from the host and removed
+ from the Extension Pack Manager.
+ </p>
+ </li>
+ </ol>
+ <p>
+ Alternatively, you can use the <userinput>VBoxManage</userinput>
+ command line to install and manage Oracle VM VirtualBox extension
+ packs. See <xref href="man_VBoxManage-extpack.dita#vboxmanage-extpack"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-ext-pack.dita b/doc/manual/en_US/dita/topics/install-ext-pack.dita
new file mode 100644
index 00000000000..2ec33db6104
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-ext-pack.dita
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-ext-pack">
+ <title>Installing an Extension Pack</title>
+
+ <body>
+ <p>
+ Extension packs provide extra functionality to the Oracle VM VirtualBox
+ base package, such as extended USB device support and cloud
+ integration features. See <xref href="intro-installing.dita#intro-installing"/>.
+ </p>
+ <p>
+ To install an Oracle VM VirtualBox extension pack, do the following:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Double-click on the extension package file name.
+ </p>
+ <p>
+ Oracle VM VirtualBox extension packs have a
+ <filepath>.vbox-extpack</filepath> file name extension.
+ </p>
+ </li>
+ <li>
+ <p>
+ Follow the on-screen instructions to install the extension
+ pack.
+ </p>
+ </li>
+ </ol>
+ <p>
+ You can also use the Extension Pack Manager tool to install an
+ extension pack. See <xref href="install-ext-pack-manager.dita#install-ext-pack-manager"/>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-alt-installer.dita b/doc/manual/en_US/dita/topics/install-linux-alt-installer.dita
new file mode 100644
index 00000000000..387a35e50d5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-alt-installer.dita
@@ -0,0 +1,98 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-alt-installer">
+ <title>Using the Alternative Generic Installer (VirtualBox.run)</title>
+
+ <body>
+ <p>
+ The alternative generic installer performs the following
+ steps:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Unpacks the application files to the target directory
+ <filepath>/opt/VirtualBox/</filepath>, which cannot be
+ changed.
+ </p>
+ </li>
+ <li>
+ <p>
+ Builds and installs the Oracle VM VirtualBox kernel modules:
+ <userinput>vboxdrv</userinput>, <userinput>vboxnetflt</userinput>,
+ and <userinput>vboxnetadp</userinput>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Creates <filepath>/sbin/rcvboxdrv</filepath>, an init
+ script to start the Oracle VM VirtualBox kernel module.
+ </p>
+ </li>
+ <li>
+ <p>
+ Creates a new system group called
+ <codeph>vboxusers</codeph>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Creates symbolic links in <filepath>/usr/bin</filepath> to
+ a shell script <filepath>/opt/VirtualBox/VBox</filepath>
+ which does some sanity checks and dispatches to the actual
+ executables: <userinput>VirtualBox</userinput>,
+ <userinput>VBoxVRDP</userinput>,
+ <userinput>VBoxHeadless</userinput> and
+ <userinput>VBoxManage</userinput>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Creates
+ <filepath>/etc/udev/rules.d/60-vboxdrv.rules</filepath>, a
+ description file for udev, if that is present, which makes
+ the USB devices accessible to all users in the
+ <codeph>vboxusers</codeph> group.
+ </p>
+ </li>
+ <li>
+ <p>
+ Writes the installation directory to
+ <filepath>/etc/vbox/vbox.cfg</filepath>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The installer must be executed as root with either
+ <codeph>install</codeph> or <codeph>uninstall</codeph> as
+ the first parameter. For example:
+ </p>
+ <pre xml:space="preserve">sudo ./VirtualBox.run install</pre>
+ <p>
+ Or if you do not have the <userinput>sudo</userinput> command
+ available, run the following as root instead:
+ </p>
+ <pre xml:space="preserve">./VirtualBox.run install</pre>
+ <p>
+ Add every user who needs to access USB devices from a
+ VirtualBox guests to the group <codeph>vboxusers</codeph>.
+ Either use the OS user management tools or run the following
+ command as root:
+ </p>
+ <pre xml:space="preserve">sudo usermod -a -G vboxusers username</pre>
+ <note>
+ <p>
+ The <userinput>usermod</userinput> command of some older Linux
+ distributions does not support the <codeph>-a</codeph>
+ option, which adds the user to the given group without
+ affecting membership of other groups. In this case, find out
+ the current group memberships with the
+ <userinput>groups</userinput> command and add all these groups
+ in a comma-separated list to the command line after the
+ <codeph>-G</codeph> option. For example: <userinput>usermod -G
+ <varname>group1</varname>,<varname>group2</varname>,vboxusers <varname>username</varname></userinput>.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-debian-automatic.dita b/doc/manual/en_US/dita/topics/install-linux-debian-automatic.dita
new file mode 100644
index 00000000000..33f31ae26f0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-debian-automatic.dita
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-debian-automatic">
+ <title>Automatic Installation of Debian Packages</title>
+
+ <body>
+ <p>
+ The Debian packages will request some user feedback when
+ installed for the first time. The debconf system is used to
+ perform this task. To prevent any user interaction during
+ installation, default values can be defined. A file
+ <codeph>vboxconf</codeph> can contain the following debconf
+ settings:
+ </p>
+ <pre xml:space="preserve">virtualbox virtualbox/module-compilation-allowed boolean true
+virtualbox virtualbox/delete-old-modules boolean true</pre>
+ <p>
+ The first line enables compilation of the vboxdrv kernel
+ module if no module was found for the current kernel. The
+ second line enables the package to delete any old vboxdrv
+ kernel modules compiled by previous installations.
+ </p>
+ <p>
+ These default settings can be applied prior to the
+ installation of the Oracle VM VirtualBox Debian package, as follows:
+ </p>
+ <pre xml:space="preserve">debconf-set-selections vboxconf</pre>
+ <p>
+ In addition there are some common configuration options that
+ can be set prior to the installation. See
+ <xref href="linux_install_opts.dita#linux_install_opts"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-debian-ubuntu.dita b/doc/manual/en_US/dita/topics/install-linux-debian-ubuntu.dita
new file mode 100644
index 00000000000..76eca61b100
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-debian-ubuntu.dita
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-debian-ubuntu">
+ <title>Installing Oracle VM VirtualBox from a Debian or Ubuntu Package</title>
+
+ <body>
+ <p>
+ Download the appropriate package for your distribution. The
+ following example assumes that you are installing to a 64-bit
+ Ubuntu Xenial system. Use <userinput>dpkg</userinput> to install
+ the Debian package,as follows:
+ </p>
+ <pre xml:space="preserve">sudo dpkg -i virtualbox-<varname>version-number</varname>_Ubuntu_xenial_amd64.deb</pre>
+ <p>
+ The installer will also try to build kernel modules suitable
+ for the current running kernel. If the build process is not
+ successful you will be shown a warning and the package will be
+ left unconfigured. Look at
+ <filepath>/var/log/vbox-install.log</filepath> to find out why
+ the compilation failed. You may have to install the
+ appropriate Linux kernel headers, see
+ <xref href="externalkernelmodules.dita#externalkernelmodules"/>. After correcting any
+ problems, run the following command:
+ </p>
+ <pre xml:space="preserve">sudo rcvboxdrv setup</pre>
+ <p>
+ This will start a second attempt to build the module.
+ </p>
+ <p>
+ 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
+ <xref href="ts_linux-kernelmodule-fails-to-load.dita">Linux Kernel Module Refuses to Load</xref> for
+ further information.
+ </p>
+ <p>
+ Once Oracle VM VirtualBox has been successfully installed and
+ configured, you can start it by clicking
+ <b outputclass="bold">VirtualBox</b> in your
+ <b outputclass="bold">Start</b> menu or from the
+ command line. See <xref href="startingvboxonlinux.dita"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-host.dita b/doc/manual/en_US/dita/topics/install-linux-host.dita
new file mode 100644
index 00000000000..8eb959119a4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-host.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-host">
+ <title>Installing on Linux Hosts</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-manual.dita b/doc/manual/en_US/dita/topics/install-linux-manual.dita
new file mode 100644
index 00000000000..95890df7401
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-manual.dita
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-manual">
+ <title>Performing a Manual Installation</title>
+
+ <body>
+ <p>
+ If you cannot use the shell script installer described in
+ <xref href="install-linux-alt-installer.dita#install-linux-alt-installer"/>, you can perform
+ a manual installation. Run the installer as follows:
+ </p>
+ <pre xml:space="preserve">./VirtualBox.run --keep --noexec</pre>
+ <p>
+ This will unpack all the files needed for installation in the
+ directory <codeph>install</codeph> under the current
+ directory. The Oracle VM VirtualBox application files are contained
+ in <filepath>VirtualBox.tar.bz2</filepath> which you can
+ unpack to any directory on your system. For example:
+ </p>
+ <pre xml:space="preserve">sudo mkdir /opt/VirtualBox
+sudo tar jxf ./install/VirtualBox.tar.bz2 -C /opt/VirtualBox</pre>
+ <p>
+ To run the same example as root, use the following commands:
+ </p>
+ <pre xml:space="preserve">mkdir /opt/VirtualBox
+tar jxf ./install/VirtualBox.tar.bz2 -C /opt/VirtualBox</pre>
+ <p>
+ The sources for Oracle VM VirtualBox's kernel module are provided in
+ the <filepath>src</filepath> directory. To build the module,
+ change to the directory and use the following command:
+ </p>
+ <pre xml:space="preserve">make</pre>
+ <p>
+ If everything builds correctly, run the following command to
+ install the module to the appropriate module directory:
+ </p>
+ <pre xml:space="preserve">sudo make install</pre>
+ <p>
+ In case you do not have sudo, switch the user account to root
+ and run the following command:
+ </p>
+ <pre xml:space="preserve">make install</pre>
+ <p>
+ The Oracle VM VirtualBox kernel module needs a device node to
+ operate. The above <userinput>make</userinput> 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 <filepath>/dev</filepath> directory, a
+ system with the now deprecated <userinput>devfs</userinput> and a
+ modern Linux system with <userinput>udev</userinput>.
+ </p>
+ <p>
+ On certain Linux distributions, you might experience
+ difficulties building the module. You will have to analyze the
+ error messages from the build system to diagnose the cause of
+ the problems. In general, make sure that the correct Linux
+ kernel sources are used for the build process.
+ </p>
+ <p>
+ Note that the <filepath>/dev/vboxdrv</filepath> kernel module
+ device node must be owned by root:root and must be
+ read/writable only for the user.
+ </p>
+ <p>
+ Next, you install the system initialization script for the
+ kernel module and activate the initialization script using the
+ right method for your distribution, as follows:
+ </p>
+ <pre xml:space="preserve">cp /opt/VirtualBox/vboxdrv.sh /sbin/rcvboxdrv</pre>
+ <p>
+ This example assumes you installed Oracle VM VirtualBox to the
+ <filepath>/opt/VirtualBox</filepath> directory.
+ </p>
+ <p>
+ Create a configuration file for Oracle VM VirtualBox, as follows:
+ </p>
+ <pre xml:space="preserve">mkdir /etc/vbox
+echo INSTALL_DIR=/opt/VirtualBox &gt; /etc/vbox/vbox.cfg</pre>
+ <p>
+ Create the following symbolic links:
+ </p>
+ <pre xml:space="preserve">ln -sf /opt/VirtualBox/VBox.sh /usr/bin/VirtualBox
+ln -sf /opt/VirtualBox/VBox.sh /usr/bin/VBoxManage
+ln -sf /opt/VirtualBox/VBox.sh /usr/bin/VBoxHeadless</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-performing.dita b/doc/manual/en_US/dita/topics/install-linux-performing.dita
new file mode 100644
index 00000000000..d4cfcc7e7a9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-performing.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-performing">
+ <title>Performing the Installation</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox is available in a number of package formats
+ native to various common Linux distributions. See
+ <xref href="hostossupport.dita#hostossupport"/>. In addition, there is an
+ alternative generic installer (.run) which you can use on
+ supported Linux distributions.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-prereq.dita b/doc/manual/en_US/dita/topics/install-linux-prereq.dita
new file mode 100644
index 00000000000..e8ea5555b04
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-prereq.dita
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-prereq">
+ <title>Prerequisites</title>
+
+ <body>
+ <p>
+ For the various versions of Linux that are supported as host
+ operating systems, see <xref href="hostossupport.dita#hostossupport"/>.
+ </p>
+ <p>
+ You may need to install the following packages on your Linux
+ system before starting the installation. Some systems will do
+ this for you automatically when you install Oracle VM VirtualBox.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Qt 5.3.2 or later. Qt 5.6.2 or later is recommended.
+ </p>
+ </li>
+ <li>
+ <p>
+ SDL 1.2.7 or later. This graphics library is typically
+ called <filepath>libsdl</filepath> or similar.
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ These packages are only required if you want to run the
+ Oracle VM VirtualBox graphical user interfaces. In particular,
+ <userinput>VirtualBox</userinput>, the graphical VirtualBox
+ Manager, requires both Qt and SDL. If you only want to run
+ <userinput>VBoxHeadless</userinput>, neither Qt nor SDL are
+ required.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-rpm-automatic.dita b/doc/manual/en_US/dita/topics/install-linux-rpm-automatic.dita
new file mode 100644
index 00000000000..2f404922c0f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-rpm-automatic.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-rpm-automatic">
+ <title>Automatic Installation of RPM Packages</title>
+
+ <body>
+ <p>
+ The RPM format does not provide a configuration system
+ comparable to the debconf system. See
+ <xref href="linux_install_opts.dita#linux_install_opts"/> for how to set some
+ common installation options provided by Oracle VM VirtualBox.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-update-uninstall.dita b/doc/manual/en_US/dita/topics/install-linux-update-uninstall.dita
new file mode 100644
index 00000000000..92bef8e6720
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-update-uninstall.dita
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-update-uninstall">
+ <title>Updating and Uninstalling Oracle VM VirtualBox</title>
+
+ <body>
+ <p>
+ Before updating or uninstalling Oracle VM VirtualBox, you must
+ terminate any virtual machines which are currently running and
+ exit the Oracle VM VirtualBox or VBoxSVC applications. To update
+ Oracle VM VirtualBox, simply run the installer of the updated
+ version. To uninstall Oracle VM VirtualBox, run the installer as
+ follows:
+ </p>
+ <pre xml:space="preserve">sudo ./VirtualBox.run uninstall</pre>
+ <p>
+ As root, you can use the following command:
+ </p>
+ <pre xml:space="preserve">./VirtualBox.run uninstall</pre>
+ <p>
+ You can uninstall the .run package as follows:
+ </p>
+ <pre xml:space="preserve">/opt/VirtualBox/uninstall.sh</pre>
+ <p>
+ To manually uninstall Oracle VM VirtualBox, perform the manual
+ installation steps in reverse order.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-linux-vboxusers.dita b/doc/manual/en_US/dita/topics/install-linux-vboxusers.dita
new file mode 100644
index 00000000000..331b7d8e219
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-linux-vboxusers.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-linux-vboxusers">
+ <title>The vboxusers Group</title>
+
+ <body>
+ <p>
+ The Linux installers create the system user group
+ <codeph>vboxusers</codeph> during installation. Any system
+ user who is going to use USB devices from Oracle VM VirtualBox guests
+ must be a member of that group. A user can be made a member of
+ the group <codeph>vboxusers</codeph> either by using the
+ desktop user and group tools, or with the following command:
+ </p>
+ <pre xml:space="preserve">sudo usermod -a -G vboxusers username</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-mac-performing.dita b/doc/manual/en_US/dita/topics/install-mac-performing.dita
new file mode 100644
index 00000000000..17d9cca2052
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-mac-performing.dita
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-mac-performing">
+ <title>Performing the Installation</title>
+
+ <body>
+ <p>
+ For macOS hosts, Oracle VM VirtualBox ships in a
+ <filepath>dmg</filepath> disk image file. Perform the following
+ steps to install on a macOS host:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Double-click on the <filepath>dmg</filepath> file, to mount
+ the contents.
+ </p>
+ </li>
+ <li>
+ <p>
+ A window opens, prompting you to double-click on the
+ <filepath>VirtualBox.pkg</filepath> installer file displayed
+ in that window.
+ </p>
+ </li>
+ <li>
+ <p>
+ This starts the installer, which enables you to select where
+ to install Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p>
+ An Oracle VM VirtualBox icon is added to the
+ <filepath>Applications</filepath> folder in the Finder.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-mac-unattended.dita b/doc/manual/en_US/dita/topics/install-mac-unattended.dita
new file mode 100644
index 00000000000..ec574917227
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-mac-unattended.dita
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-mac-unattended">
+ <title>Unattended Installation</title>
+
+ <body>
+ <p>
+ To perform a non-interactive installation of Oracle VM VirtualBox you
+ can use the command line version of the installer application.
+ </p>
+ <p>
+ Mount the <filepath>dmg</filepath> disk image file, as described
+ in the installation procedure, or use the following command
+ line:
+ </p>
+ <pre xml:space="preserve">hdiutil attach /path/to/VirtualBox-xyz.dmg</pre>
+ <p>
+ Open a terminal session and run the following command:
+ </p>
+ <pre xml:space="preserve">sudo installer -pkg /Volumes/VirtualBox/VirtualBox.pkg -target /Volumes/Macintosh\ HD</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-mac-uninstall.dita b/doc/manual/en_US/dita/topics/install-mac-uninstall.dita
new file mode 100644
index 00000000000..527002d5091
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-mac-uninstall.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-mac-uninstall">
+ <title>Uninstallation</title>
+
+ <body>
+ <p>
+ To uninstall Oracle VM VirtualBox, open the disk image
+ <filepath>dmg</filepath> file and double-click on the uninstall
+ icon shown.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-solaris-host.dita b/doc/manual/en_US/dita/topics/install-solaris-host.dita
new file mode 100644
index 00000000000..87f2ad544bc
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-solaris-host.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-solaris-host">
+ <title>Installing on Oracle Solaris Hosts</title>
+
+ <body>
+ <p>
+ For the specific versions of Oracle Solaris that are supported as
+ host operating systems, see <xref href="hostossupport.dita#hostossupport"/>.
+ </p>
+ <p>
+ If you have a previously installed instance of Oracle VM VirtualBox on
+ your Oracle Solaris host, please uninstall it first before
+ installing a new instance. See
+ <xref href="uninstall-solaris-host.dita#uninstall-solaris-host"/> for uninstall
+ instructions.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-solaris-performing.dita b/doc/manual/en_US/dita/topics/install-solaris-performing.dita
new file mode 100644
index 00000000000..ca9faa46b79
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-solaris-performing.dita
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-solaris-performing">
+ <title>Performing the Installation</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox is available as a standard Oracle Solaris
+ package. Download the Oracle VM VirtualBox SunOS package, which
+ includes the 64-bit version of Oracle VM VirtualBox. <i>The
+ installation must be performed as root and from the global
+ zone</i>. This is because the Oracle VM VirtualBox installer
+ loads kernel drivers, which cannot be done from non-global
+ zones. To verify which zone you are currently in, execute the
+ <userinput>zonename</userinput> command.
+ </p>
+ <p>
+ To start installation, run the following commands:
+ </p>
+ <pre xml:space="preserve">gunzip -cd VirtualBox-<varname>version-number</varname>-SunOS.tar.gz | tar xvf -</pre>
+ <p>
+ The Oracle VM VirtualBox kernel package is integrated into the main
+ package. Install the Oracle VM VirtualBox package as follows:
+ </p>
+ <pre xml:space="preserve">pkgadd -d VirtualBox-<varname>version-number</varname>-SunOS.pkg</pre>
+ <p>
+ The installer will then prompt you to enter the package you wish
+ to install. Choose <b outputclass="bold">1</b> or
+ <b outputclass="bold">all</b> and proceed. Next the
+ installer will ask you if you want to allow the postinstall
+ script to be executed. Choose <b outputclass="bold">y</b>
+ and proceed, as it is essential to execute this script which
+ installs the Oracle VM VirtualBox kernel module. Following this
+ confirmation the installer will install Oracle VM VirtualBox and
+ execute the postinstall setup script.
+ </p>
+ <p>
+ Once the postinstall script has been executed your installation
+ is now complete. You may now safely delete the uncompressed
+ package and <filepath>autoresponse</filepath> files from your
+ system. Oracle VM VirtualBox is installed in
+ <filepath>/opt/VirtualBox</filepath>.
+ </p>
+ <note>
+ <p>
+ If you need to use Oracle VM VirtualBox from non-global zones, see
+ <xref href="solaris-zones.dita#solaris-zones"/>.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-solaris-starting.dita b/doc/manual/en_US/dita/topics/install-solaris-starting.dita
new file mode 100644
index 00000000000..ee87916ac39
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-solaris-starting.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-solaris-starting">
+ <title>Starting Oracle VM VirtualBox on Oracle Solaris</title>
+
+ <body>
+ <p>
+ The easiest way to start an Oracle VM VirtualBox program is by running
+ the program of your choice (<userinput>VirtualBox</userinput>,
+ <userinput>VBoxManage</userinput>, or
+ <userinput>VBoxHeadless</userinput>) from a terminal. These are
+ symbolic links to <userinput>VBox.sh</userinput> that start the
+ required program for you.
+ </p>
+ <p>
+ Alternatively, you can directly invoke the required programs
+ from <filepath>/opt/VirtualBox</filepath>. Using the links
+ provided is easier as you do not have to enter the full path.
+ </p>
+ <p>
+ You can configure some elements of the
+ <userinput>VirtualBox</userinput> Qt GUI, such as fonts and colours,
+ by running <userinput>VBoxQtconfig</userinput> from the terminal.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-solaris-unattended.dita b/doc/manual/en_US/dita/topics/install-solaris-unattended.dita
new file mode 100644
index 00000000000..cf6e2c73e89
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-solaris-unattended.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-solaris-unattended">
+ <title>Unattended Installation</title>
+
+ <body>
+ <p>
+ To perform a non-interactive installation of Oracle VM VirtualBox
+ there is a response file named
+ <filepath>autoresponse</filepath>. The installer uses this for
+ responses to inputs, rather than prompting the user.
+ </p>
+ <p>
+ Extract the tar.gz package as described in
+ <xref href="install-solaris-performing.dita#install-solaris-performing"/>. Then open a root
+ terminal session and run the following command:
+ </p>
+ <pre xml:space="preserve">pkgadd -d VirtualBox-<varname>version-number</varname>-SunOS-x86 -n -a autoresponse SUNWvbox</pre>
+ <p>
+ To perform a non-interactive uninstallation, open a root
+ terminal session and run the following command:
+ </p>
+ <pre xml:space="preserve">pkgrm -n -a /opt/VirtualBox/autoresponse SUNWvbox</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-solaris-vboxuser.dita b/doc/manual/en_US/dita/topics/install-solaris-vboxuser.dita
new file mode 100644
index 00000000000..a6917288c25
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-solaris-vboxuser.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-solaris-vboxuser">
+ <title>The vboxuser Group</title>
+
+ <body>
+ <p>
+ The installer creates the system user group
+ <codeph>vboxuser</codeph> during installation for Oracle
+ Solaris hosts that support the USB features required by
+ Oracle VM VirtualBox. Any system user who is going to use USB devices
+ from Oracle VM VirtualBox guests must be a member of this group. A
+ user can be made a member of this group either by using the
+ desktop user and group tools or by running the following command
+ as root:
+ </p>
+ <pre xml:space="preserve">usermod -G vboxuser username</pre>
+ <p>
+ Note that adding an active user to the
+ <codeph>vboxuser</codeph> group will require the user to log
+ out and then log in again. This should be done manually after
+ successful installation of the package.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-win-performing.dita b/doc/manual/en_US/dita/topics/install-win-performing.dita
new file mode 100644
index 00000000000..d8585b271bd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-win-performing.dita
@@ -0,0 +1,198 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-win-performing">
+ <title>Performing the Installation</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox installation can be started in either of the
+ following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ By double-clicking on the executable file.
+ </p>
+ </li>
+ <li>
+ <p>
+ By entering the following command:
+ </p>
+ <pre xml:space="preserve">VirtualBox-&lt;version&gt;-&lt;revision&gt;-Win.exe -extract</pre>
+ <p>
+ This will extract the installer into a temporary directory,
+ along with the .MSI file. Run the following command to
+ perform the installation:
+ </p>
+ <pre xml:space="preserve">msiexec /i VirtualBox-&lt;version&gt;-&lt;revision&gt;-Win.msi</pre>
+ </li>
+ </ul>
+ <p>
+ Using either way displays the installation
+ <b outputclass="bold">Welcome</b> dialog and enables you
+ to choose where to install Oracle VM VirtualBox, and which components
+ to install. In addition to the Oracle VM VirtualBox application, the
+ following components are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">USB support.</b> This package
+ contains special drivers for your Windows host that
+ Oracle VM VirtualBox requires to fully support USB devices inside
+ your virtual machines.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Networking.</b> This package
+ contains extra networking drivers for your Windows host that
+ Oracle VM VirtualBox needs to support Bridged Networking. This
+ enables your VM's virtual network cards to be accessed from
+ other machines on your physical network.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Python support.</b> This
+ package contains Python scripting support for the
+ Oracle VM VirtualBox API, see <xref href="VirtualBoxAPI.dita">Oracle VM VirtualBox Programming Interfaces</xref>.
+ For this to work, an already working Windows Python
+ installation on the system is required.
+ </p>
+ <p>
+ See, for example:
+ <ph>http://www.python.org/download/windows/</ph>.
+ </p>
+ <note>
+ <p>
+ Python version at least 2.6 is required. Python 3 is also
+ supported.
+ </p>
+ </note>
+ </li>
+ </ul>
+ <p>
+ Depending on your Windows configuration, you may see warnings
+ about unsigned drivers, or similar. Click
+ <b outputclass="bold">Continue</b> for these warnings, as
+ otherwise Oracle VM VirtualBox might not function correctly after
+ installation.
+ </p>
+ <p>
+ The installer will create an Oracle VM VirtualBox group in the Windows
+ <b outputclass="bold">Start</b> menu, which enables you
+ to launch the application and access its documentation.
+ </p>
+ <p>
+ With standard settings, Oracle VM VirtualBox will be installed for all
+ users on the local system. If this is not wanted, you must
+ invoke the installer by first extracting as follows:
+ </p>
+ <pre xml:space="preserve">VirtualBox.exe -extract</pre>
+ <p>
+ Then, run either of the following commands on the extracted .MSI
+ file. This will install Oracle VM VirtualBox only for the current
+ user.
+ </p>
+ <pre xml:space="preserve">VirtualBox.exe -msiparams ALLUSERS=2</pre>
+ <pre xml:space="preserve">msiexec /i VirtualBox-&lt;version&gt;-Win.msi ALLUSERS=2</pre>
+ <p>
+ If you do not want to install all features of Oracle VM VirtualBox,
+ you can set the optional <codeph>ADDLOCAL</codeph> parameter
+ to explicitly name the features to be installed. The following
+ features are available:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ VBoxApplication
+ </dt>
+ <dd>
+ <p>
+ Main binaries of Oracle VM VirtualBox.
+ </p>
+ <note>
+ <p>
+ This feature must not be absent, since it contains the
+ minimum set of files to have working Oracle VM VirtualBox
+ installation.
+ </p>
+ </note>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ VBoxUSB
+ </dt>
+ <dd>
+ <p>
+ USB support.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ VBoxNetwork
+ </dt>
+ <dd>
+ <p>
+ All networking support. This includes the VBoxNetworkFlt
+ and VBoxNetworkAdp features.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ VBoxNetworkFlt
+ </dt>
+ <dd>
+ <p>
+ Bridged networking support.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ VBoxNetworkAdp
+ </dt>
+ <dd>
+ <p>
+ Host-only networking support
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ VBoxPython
+ </dt>
+ <dd>
+ <p>
+ Python support
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ For example, to only install USB support along with the main
+ binaries, run either of the following commands:
+ </p>
+ <pre xml:space="preserve">VirtualBox.exe -msiparams ADDLOCAL=VBoxApplication,VBoxUSB</pre>
+ <pre xml:space="preserve">msiexec /i VirtualBox-&lt;version&gt;-Win.msi ADDLOCAL=VBoxApplication,VBoxUSB</pre>
+ <p>
+ The user is able to choose between NDIS5 and NDIS6 host network
+ filter drivers during the installation. This is done using a
+ command line parameter, <codeph>NETWORKTYPE</codeph>. The
+ NDIS6 driver is the default for most supported Windows hosts.
+ For some legacy Windows versions, the installer will
+ automatically select the NDIS5 driver and this cannot be
+ changed.
+ </p>
+ <p>
+ You can force an install of the legacy NDIS5 host network filter
+ driver by specifying <codeph>NETWORKTYPE=NDIS5</codeph>. For
+ example, to install the NDIS5 driver on Windows 7 use either of
+ the following commands:
+ </p>
+ <pre xml:space="preserve">VirtualBox.exe -msiparams NETWORKTYPE=NDIS5</pre>
+ <pre xml:space="preserve">msiexec /i VirtualBox-&lt;version&gt;-Win;.msi NETWORKTYPE=NDIS5</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-win-prereq.dita b/doc/manual/en_US/dita/topics/install-win-prereq.dita
new file mode 100644
index 00000000000..21513e7a1fb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-win-prereq.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-win-prereq">
+ <title>Prerequisites</title>
+
+ <body>
+ <p>
+ For the various versions of Windows that are supported as host
+ operating systems, please refer to
+ <xref href="hostossupport.dita#hostossupport"/>.
+ </p>
+ <p>
+ In addition, Windows Installer must be present on your system.
+ This should be the case for all supported Windows platforms.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-win-public-props.dita b/doc/manual/en_US/dita/topics/install-win-public-props.dita
new file mode 100644
index 00000000000..813bb9b5a2b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-win-public-props.dita
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-win-public-props">
+ <title>Public Properties</title>
+
+ <body>
+ <p>
+ Public properties can be specified with the MSI API, to control
+ additional behavior and features of the Windows host installer.
+ Use either of the following commands:
+ </p>
+ <pre xml:space="preserve">VirtualBox.exe -msiparams NAME=VALUE [...]</pre>
+ <pre xml:space="preserve">msiexec /i VirtualBox-&lt;version&gt;-Win.msi NAME=VALUE [...]</pre>
+ <p>
+ The following public properties are available.
+ </p>
+ <ul>
+ <li>
+ <p>
+ VBOX_INSTALLDESKTOPSHORTCUT
+ </p>
+ <p>
+ Specifies whether or not an Oracle VM VirtualBox icon on the
+ desktop should be created.
+ </p>
+ <p>
+ Set to <codeph>1</codeph> to enable, <codeph>0</codeph>
+ to disable. Default is 1.
+ </p>
+ </li>
+ <li>
+ <p>
+ VBOX_INSTALLQUICKLAUNCHSHORTCUT
+ </p>
+ <p>
+ Specifies whether or not an Oracle VM VirtualBox icon in the Quick
+ Launch Bar should be created.
+ </p>
+ <p>
+ Set to <codeph>1</codeph> to enable, <codeph>0</codeph>
+ to disable. Default is 1.
+ </p>
+ </li>
+ <li>
+ <p>
+ VBOX_REGISTERFILEEXTENSIONS
+ </p>
+ <p>
+ Specifies whether or not the file extensions .vbox,
+ .vbox-extpack, .ovf, .ova, .vdi, .vmdk, .vhd and .vdd should
+ be associated with Oracle VM VirtualBox. Files of these types then
+ will be opened with Oracle VM VirtualBox.
+ </p>
+ <p>
+ Set to <codeph>1</codeph> to enable, <codeph>0</codeph>
+ to disable. Default is 1.
+ </p>
+ </li>
+ <li>
+ <p>
+ VBOX_START
+ </p>
+ <p>
+ Specifies whether to start Oracle VM VirtualBox right after
+ successful installation.
+ </p>
+ <p>
+ Set to <codeph>1</codeph> to enable, <codeph>0</codeph>
+ to disable. Default is 1.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-win-unattended.dita b/doc/manual/en_US/dita/topics/install-win-unattended.dita
new file mode 100644
index 00000000000..5f961c49ad6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-win-unattended.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-win-unattended">
+ <title>Unattended Installation</title>
+
+ <body>
+ <p>
+ Unattended installations can be performed using the standard MSI
+ support.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/install-win-uninstall.dita b/doc/manual/en_US/dita/topics/install-win-uninstall.dita
new file mode 100644
index 00000000000..87a8b87a4ac
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/install-win-uninstall.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="install-win-uninstall">
+ <title>Uninstallation</title>
+
+ <body>
+ <p>
+ As Oracle VM VirtualBox uses the standard Microsoft Windows installer,
+ Oracle VM VirtualBox can be safely uninstalled at any time. Click the
+ program entry in the <b outputclass="bold">Add/Remove
+ Programs</b> list in the Windows Control Panel.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/installation-mac.dita b/doc/manual/en_US/dita/topics/installation-mac.dita
new file mode 100644
index 00000000000..a02e8961ca4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/installation-mac.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="installation-mac">
+ <title>Installing on macOS Hosts</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/installation.dita b/doc/manual/en_US/dita/topics/installation.dita
new file mode 100644
index 00000000000..f00975f0d31
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/installation.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="installation">
+ <title>Installation Details</title>
+
+ <body>
+ <p>
+ As installation of Oracle VM VirtualBox varies depending on your host
+ operating system, the following sections provide installation
+ instructions for Windows, macOS, Linux, and Oracle Solaris.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/installation_windows.dita b/doc/manual/en_US/dita/topics/installation_windows.dita
new file mode 100644
index 00000000000..f17b56c3207
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/installation_windows.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="installation_windows">
+ <title>Installing on Windows Hosts</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-64bitguests.dita b/doc/manual/en_US/dita/topics/intro-64bitguests.dita
new file mode 100644
index 00000000000..a7dac105a3a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-64bitguests.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-64bitguests">
+ <title>64-bit Guests</title>
+
+ <body>
+ <note type="attention">
+ <p>
+ Be sure to enable <b outputclass="bold">I/O APIC</b>
+ for virtual machines that you intend to use in 64-bit mode.
+ This is especially true for 64-bit Windows VMs. See
+ <xref href="settings-motherboard.dita#settings-motherboard"/>. For 64-bit Windows
+ guests, ensure that the VM uses the
+ <b outputclass="bold">Intel networking device</b>
+ because there is no 64-bit driver support for the AMD PCNet
+ card. See <xref href="nichardware.dita#nichardware"/>.
+ </p>
+ </note>
+ <p>
+ If you use the <b outputclass="bold">Create VM</b> wizard
+ of VirtualBox Manager, Oracle VM VirtualBox automatically uses the correct
+ settings for each selected 64-bit OS type. See
+ <xref href="create-vm-wizard.dita#create-vm-wizard"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-installing.dita b/doc/manual/en_US/dita/topics/intro-installing.dita
new file mode 100644
index 00000000000..eb360a4d6d7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-installing.dita
@@ -0,0 +1,73 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-installing">
+ <title>Installing Oracle VM VirtualBox and Extension Packs</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox comes in many different packages, and installation
+ depends on your host OS. If you have installed software before,
+ installation should be straightforward. On each host platform,
+ Oracle VM VirtualBox uses the installation method that is most common
+ and easy to use. If you run into trouble or have special
+ requirements, see <xref href="installation.dita#installation"/> for details
+ about the various installation methods.
+ </p>
+ <p>
+ Oracle VM VirtualBox is split into the following components:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Base package.</b> The base
+ package consists of all open source components and is licensed
+ under the GNU General Public License V2.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Extension packs.</b> Additional
+ extension packs can be downloaded which extend the
+ functionality of the Oracle VM VirtualBox base package. Currently,
+ Oracle provides a single extension pack, available from:
+ <ph>http://www.virtualbox.org</ph>. The extension pack
+ provides the following added functionality:
+ </p>
+ <ul>
+ <li>
+ <p>
+ VirtualBox Remote Desktop Protocol (VRDP) support. See
+ <xref href="vrde.dita">Remote Display (VRDP Support)</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Host webcam passthrough. See
+ <xref href="webcam-passthrough.dita">Webcam Passthrough</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Intel PXE boot ROM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Disk image encryption with AES algorithm. See
+ <xref href="diskencryption.dita">Encryption of Disk Images</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Cloud integration features. See
+ <xref href="cloud-integration.dita"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For details of how to install an extension pack, see
+ <xref href="install-ext-pack.dita"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-macosxguests.dita b/doc/manual/en_US/dita/topics/intro-macosxguests.dita
new file mode 100644
index 00000000000..46ab0c6fce9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-macosxguests.dita
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-macosxguests">
+ <title>Mac OS X Guests</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables you to install and execute unmodified
+ versions of Mac OS X guests on supported host hardware. Note
+ that this feature is experimental and thus unsupported.
+ </p>
+ <p>
+ Oracle VM VirtualBox is the first product to provide the modern PC
+ architecture expected by OS X without requiring any of the
+ modifications used by competing virtualization solutions. For
+ example, some competing solutions perform modifications to the
+ Mac OS X install DVDs, such as a different boot loader and
+ replaced files.
+ </p>
+ <p>
+ Be aware of the following important issues before you attempt to
+ install a Mac OS X guest:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Mac OS X is commercial, licensed software and contains
+ <b outputclass="bold">both license and technical
+ restrictions</b> that limit its use to certain
+ hardware and usage scenarios. You must understand and comply
+ with these restrictions.
+ </p>
+ <p>
+ In particular, Apple prohibits the installation of most
+ versions of Mac OS X on non-Apple hardware.
+ </p>
+ <p>
+ These license restrictions are also enforced on a technical
+ level. Mac OS X verifies that it is running on Apple
+ hardware. Most DVDs that accompany Apple hardware check for
+ the exact model. These restrictions are
+ <i>not</i> circumvented by Oracle VM VirtualBox and
+ continue to apply.
+ </p>
+ </li>
+ <li>
+ <p>
+ Only <b outputclass="bold">CPUs</b> that are known
+ and tested by Apple are supported. As a result, if your
+ Intel CPU is newer than the Mac OS X build, or if you have a
+ non-Intel CPU, you will likely encounter a panic during
+ bootup with an "Unsupported CPU" exception.
+ </p>
+ <p>
+ Ensure that you use the Mac OS X DVD that comes with your
+ Apple hardware.
+ </p>
+ </li>
+ <li>
+ <p>
+ The Mac OS X installer expects the hard disk to be
+ <i>partitioned</i>. 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.
+ </p>
+ </li>
+ <li>
+ <p>
+ In addition, Mac OS X support in Oracle VM VirtualBox is an
+ experimental feature. See <xref href="KnownIssues.dita">Known Limitations</xref>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-removable-media-changing.dita b/doc/manual/en_US/dita/topics/intro-removable-media-changing.dita
new file mode 100644
index 00000000000..06a8828ccb1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-removable-media-changing.dita
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-removable-media-changing">
+ <title>Changing Removable Media</title>
+
+ <body>
+ <p>
+ While a virtual machine is running, you can change removable
+ media in the <b outputclass="bold">Devices</b> menu of
+ the VM's window. Here you can select in detail what
+ Oracle VM VirtualBox presents to your VM as a CD, DVD, or floppy
+ drive.
+ </p>
+ <p>
+ The settings are the same as those available for the VM in the
+ <b outputclass="bold">Settings</b> window of VirtualBox Manager.
+ But as the <b outputclass="bold">Settings</b> window is
+ disabled while the VM is in the Running or Saved state, the
+ <b outputclass="bold">Devices</b> menu saves you from
+ having to shut down and restart the VM every time you want to
+ change media.
+ </p>
+ <p>
+ Using the <b outputclass="bold">Devices</b> menu, you can
+ attach the host drive to the guest or select a floppy or DVD
+ image, as described in <xref href="settings-storage.dita#settings-storage"/>.
+ </p>
+ <p>
+ The <b outputclass="bold">Devices</b> menu also includes
+ an option for creating a virtual ISO (VISO) from selected files
+ on the host.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-removing.dita b/doc/manual/en_US/dita/topics/intro-removing.dita
new file mode 100644
index 00000000000..2b17eb5bff5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-removing.dita
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-removing">
+ <title>Removing and Moving Virtual Machines</title>
+
+ <body>
+ <p>
+ You can remove a VM from Oracle VM VirtualBox or move the VM and its
+ associated files, such as disk images, to another location on the
+ host.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Removing a VM.</b> To remove a
+ VM, right-click on the VM in the VirtualBox Manager machine list and
+ select <b outputclass="bold">Remove</b>.
+ </p>
+ <p>
+ The confirmation dialog enables you to specify whether to only
+ remove the VM from the list of machines or to remove the files
+ associated with the VM.
+ </p>
+ <p>
+ Note that the <b outputclass="bold">Remove</b> menu
+ item is disabled while a VM is running.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Moving a VM.</b> To move a VM to
+ a new location on the host, right-click on the VM in the
+ VirtualBox Manager's machine list and select
+ <b outputclass="bold">Move</b>.
+ </p>
+ <p>
+ The file dialog prompts you to specify a new location for the
+ VM.
+ </p>
+ <p>
+ When you move a VM, Oracle VM VirtualBox configuration files are
+ updated automatically to use the new location on the host.
+ </p>
+ <p>
+ Note that the <b outputclass="bold">Move</b> menu item
+ is disabled while a VM is running.
+ </p>
+ <p>
+ You can also use the <userinput>VBoxManage movevm</userinput>
+ command to move a VM. See <xref href="man_VBoxManage-movevm.dita#vboxmanage-movevm"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For information about removing or moving a disk image file from
+ Oracle VM VirtualBox, see <xref href="virtual-media-manager.dita#virtual-media-manager"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-resize-window.dita b/doc/manual/en_US/dita/topics/intro-resize-window.dita
new file mode 100644
index 00000000000..7bd07265b62
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-resize-window.dita
@@ -0,0 +1,66 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-resize-window">
+ <title>Resizing the Machine's Window</title>
+
+ <body>
+ <p>
+ You can resize the VM's window while that VM is running. When
+ you do, the window is scaled as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ If you have <b outputclass="bold">scaled mode</b>
+ enabled, then the virtual machine's screen will be scaled to
+ the size of the window. This can be useful if you have many
+ machines running and want to have a look at one of them
+ while it is running in the background. Alternatively, it
+ might be useful to enlarge a window if the VM's output
+ screen is very small, for example because you are running an
+ old OS in it.
+ </p>
+ <p>
+ To enable scaled mode, press <b outputclass="bold">Host key
+ + C</b>, or select <b outputclass="bold">Scaled
+ Mode</b> from the
+ <b outputclass="bold">View</b> menu in the VM window.
+ To leave scaled mode, press <b outputclass="bold">Host key +
+ C </b>again.
+ </p>
+ <p>
+ The aspect ratio of the guest screen is preserved when
+ resizing the window. To ignore the aspect ratio, press
+ <b outputclass="bold">Shift</b> during the resize
+ operation.
+ </p>
+ <p>
+ See <xref href="KnownIssues.dita">Known Limitations</xref> for additional remarks.
+ </p>
+ </li>
+ <li>
+ <p>
+ If you have the Guest Additions installed and they support
+ automatic <b outputclass="bold">resizing</b>, the
+ Guest Additions will automatically adjust the screen
+ resolution of the guest OS. For example, if you are running
+ a Windows guest with a resolution of 1024x768 pixels and you
+ then resize the VM window to make it 100 pixels wider, the
+ Guest Additions will change the Windows display resolution
+ to 1124x768.
+ </p>
+ <p>
+ See <xref href="guestadditions.dita"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Otherwise, if the window is bigger than the VM's screen, the
+ screen will be centered. If it is smaller, then scroll bars
+ will be added to the machine window.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-running.dita b/doc/manual/en_US/dita/topics/intro-running.dita
new file mode 100644
index 00000000000..3eeeff5c56e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-running.dita
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-running">
+ <title>Running Your Virtual Machine</title>
+
+ <body>
+ <p>
+ To start a virtual machine, you have the following options:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Double-click on the VM's entry in the machine list in
+ VirtualBox Manager.
+ </p>
+ </li>
+ <li>
+ <p>
+ Select the VM's entry in the machine list in VirtualBox Manager, and
+ click <b outputclass="bold">Start</b> in the toolbar
+ the top of the window.
+ </p>
+ </li>
+ <li>
+ <p>
+ Go to the <filepath>VirtualBox VMs</filepath> folder in your
+ system user's home directory. Find the subdirectory of the
+ machine you want to start and double-click on the machine
+ settings file. This file has a <filepath>.vbox</filepath> file
+ extension.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Starting a virtual machine displays 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. See <xref href="Introduction.dita#Introduction/fig-win2016-intro"/>.
+ </p>
+ <p>
+ In general, you can use the virtual machine as you would use a
+ real computer. The following topics describe a few points to note
+ when running a VM.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-save-machine-state.dita b/doc/manual/en_US/dita/topics/intro-save-machine-state.dita
new file mode 100644
index 00000000000..d9344b18726
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-save-machine-state.dita
@@ -0,0 +1,81 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-save-machine-state">
+ <title>Saving the State of the Machine</title>
+
+ <body>
+ <p>
+ When you click on the <b outputclass="bold">Close</b>
+ button of your virtual machine window, at the top right of the
+ window, just like you would close any other window on your
+ system, Oracle VM VirtualBox asks you whether you want to save or
+ power off the VM. As a shortcut, you can also press
+ <b outputclass="bold">Host key + Q</b>.
+ </p>
+ <fig id="fig-vm-close">
+ <title>Closing Down a Virtual Machine</title>
+ <image href="images/vm-close.png" placement="break"/>
+ </fig>
+ <p>
+ The difference between the three options is crucial. They mean
+ the following:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Save the machine state:</b>
+ With this option, Oracle VM VirtualBox
+ <i>freezes</i> the virtual machine by
+ completely saving its state to your local disk.
+ </p>
+ <p>
+ When you start the VM again later, you will find that the VM
+ continues exactly where it was left off. All your programs
+ will still be open, and your computer resumes operation.
+ Saving the state of a virtual machine is thus in some ways
+ similar to suspending a laptop computer by closing its lid.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Send the shutdown signal.</b>
+ This will send an ACPI shutdown signal to the virtual
+ machine, which has the same effect as if you had pressed the
+ power button on a real computer. This should trigger a
+ proper shutdown mechanism from within the VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Power off the machine:</b> With
+ this option, Oracle VM VirtualBox also stops running the virtual
+ machine, but <i>without</i> saving its state.
+ </p>
+ <note type="attention">
+ <p>
+ 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 OS 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.
+ </p>
+ </note>
+ <p>
+ As an exception, if your virtual machine has any snapshots,
+ see <xref href="snapshots.dita#snapshots"/>, you can use this option to
+ quickly <b outputclass="bold">restore the current
+ snapshot</b> of the virtual machine. In that case,
+ powering off the machine will discard the current state and
+ any changes made since the previous snapshot was taken will
+ be lost.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The <b outputclass="bold">Discard</b> button in the
+ VirtualBox Manager window discards a virtual machine's saved state. This
+ has the same effect as powering it off, and the same warnings
+ apply.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-starting-vm-first-time.dita b/doc/manual/en_US/dita/topics/intro-starting-vm-first-time.dita
new file mode 100644
index 00000000000..32f556bb744
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-starting-vm-first-time.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-starting-vm-first-time">
+ <title>Starting a New VM for the First Time</title>
+
+ <body>
+ <p>
+ When you start a VM for the first time the OS installation
+ process is started automatically, using the ISO image file
+ specified in the <b outputclass="bold">Create Virtual
+ Machine</b> wizard.
+ </p>
+ <p>
+ Follow the onscreen instructions to install your OS.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/intro-starting.dita b/doc/manual/en_US/dita/topics/intro-starting.dita
new file mode 100644
index 00000000000..ee257b54f57
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/intro-starting.dita
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="intro-starting">
+ <title>Starting Oracle VM VirtualBox</title>
+
+ <body>
+ <p>
+ After installation, you can start Oracle VM VirtualBox as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Windows hosts.</b> In the
+ <b outputclass="bold">Programs</b> menu, click on the
+ item in the <b outputclass="bold">VirtualBox</b> group.
+ On some Windows platforms, you can also enter
+ <userinput>VirtualBox</userinput> in the search box of the
+ <b outputclass="bold">Start</b> menu.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">macOS hosts.</b> In the Finder,
+ double-click on the
+ <b outputclass="bold">VirtualBox</b> item in the
+ Applications folder. You may want to drag this item onto your
+ Dock.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Linux or Oracle Solaris
+ hosts</b>. Depending on your desktop environment, an
+ Oracle VM VirtualBox item may have been placed in either the System
+ or System Tools group of your
+ <b outputclass="bold">Applications</b> menu.
+ Alternatively, you can enter <userinput>VirtualBox</userinput> in
+ a terminal window.
+ </p>
+ </li>
+ </ul>
+ <p>
+ When you start Oracle VM VirtualBox, the VirtualBox Manager interface is shown.
+ See <xref href="gui-virtualboxmanager.dita#gui-virtualboxmanager"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/iocaching.dita b/doc/manual/en_US/dita/topics/iocaching.dita
new file mode 100644
index 00000000000..2c6bc5d3e9b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/iocaching.dita
@@ -0,0 +1,99 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="iocaching">
+ <title>Host Input/Output Caching</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox can optionally disable the I/O caching that the
+ host OS would otherwise perform on disk image files.
+ </p>
+ <p>
+ Traditionally, Oracle VM VirtualBox has opened disk image files as
+ normal files, which results in them being cached by the host OS
+ like any other file. The main advantage of this is speed: when the
+ guest OS writes to disk and the host OS cache uses delayed
+ writing, the write operation can be reported as completed to the
+ guest OS quickly while the host OS can perform the operation
+ asynchronously. Also, when you start a VM a second time and have
+ enough memory available for the OS to use for caching, large parts
+ of the virtual disk may be in system memory, and the VM can access
+ the data much faster.
+ </p>
+ <p>
+ Note that this applies only to image files. Buffering does not
+ occur for virtual disks residing on remote iSCSI storage, which is
+ the more common scenario in enterprise-class setups. See
+ <xref href="storage-iscsi.dita#storage-iscsi"/>.
+ </p>
+ <p>
+ While buffering is a useful default setting for virtualizing a few
+ machines on a desktop computer, there are some disadvantages to
+ this approach:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Delayed writing through the host OS cache is less secure. When
+ the guest OS writes data, it considers the data written even
+ though it has not yet arrived on a physical disk. If for some
+ reason the write does not happen, such as power failure or
+ host crash, the likelihood of data loss increases.
+ </p>
+ </li>
+ <li>
+ <p>
+ Disk image files tend to be very large. Caching them can
+ therefore quickly use up the entire host OS cache. Depending
+ on the efficiency of the host OS caching, this may slow down
+ the host immensely, especially if several VMs run at the same
+ time. For example, on Linux hosts, host caching may result in
+ Linux delaying all writes until the host cache is nearly full
+ and then writing out all these changes at once, possibly
+ stalling VM execution for minutes. This can result in I/O
+ errors in the guest as I/O requests time out there.
+ </p>
+ </li>
+ <li>
+ <p>
+ Physical memory is often wasted as guest OSes typically have
+ their own I/O caches, which may result in the data being
+ cached twice, in both the guest and the host caches, for
+ little effect.
+ </p>
+ </li>
+ </ul>
+ <p>
+ If you decide to disable host I/O caching for the above reasons,
+ Oracle VM VirtualBox uses its own small cache to buffer writes, but no
+ read caching since this is typically already performed by the
+ guest OS. In addition, Oracle VM VirtualBox fully supports asynchronous
+ I/O for its virtual SATA, SCSI, and SAS controllers through
+ multiple I/O threads.
+ </p>
+ <p>
+ Since asynchronous I/O is not supported by IDE controllers, for
+ performance reasons, you may want to leave host caching enabled
+ for your VM's virtual IDE controllers.
+ </p>
+ <p>
+ For this reason, Oracle VM VirtualBox enables you to configure whether
+ the host I/O cache is used for each I/O controller separately.
+ Either select the <b outputclass="bold">Use Host I/O
+ Cache</b> check box in the
+ <b outputclass="bold">Storage</b> settings for a given
+ virtual storage controller, or use the following
+ <userinput>VBoxManage</userinput> command to disable the host I/O
+ cache for a virtual storage controller:
+ </p>
+ <pre xml:space="preserve">VBoxManage storagectl "VM name" --name &lt;controllername&gt; --hostiocache off</pre>
+ <p>
+ See <xref href="man_VBoxManage-storagectl.dita#vboxmanage-storagectl"/>.
+ </p>
+ <p>
+ For the above reasons, Oracle VM VirtualBox uses SATA controllers by
+ default for new virtual machines.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/iscsi-intnet.dita b/doc/manual/en_US/dita/topics/iscsi-intnet.dita
new file mode 100644
index 00000000000..de2f393de45
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/iscsi-intnet.dita
@@ -0,0 +1,61 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="iscsi-intnet">
+ <title>Access iSCSI Targets Using Internal Networking</title>
+
+ <body>
+ <p>
+ As an experimental feature, Oracle VM VirtualBox enables access to an
+ iSCSI target running in a virtual machine which is configured to
+ use Internal Networking mode. See
+ <xref href="storage-iscsi.dita">iSCSI Servers</xref>,
+ <xref href="network_internal.dita">Internal Networking</xref>, and
+ <xref href="man_VBoxManage-storageattach.dita">VBoxManage storageattach</xref>.
+ </p>
+ <p>
+ 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:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/Trusted 1
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/Config/MAC 08:00:27:01:02:0f
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/Config/IP 10.0.9.1
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/Config/Netmask 255.255.255.0
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/LUN#0/Driver IntNet
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/LUN#0/Config/Network MyIntNet
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/LUN#0/Config/TrunkType 2
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/IntNetIP/0/LUN#0/Config/IsService 1</pre>
+ <p>
+ Finally the iSCSI disk must be attached with the
+ <codeph>--intnet</codeph> option to tell the iSCSI initiator to
+ use internal networking, as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage storageattach ... --medium iscsi --server 10.0.9.30 \
+--target iqn.2008-12.com.sun:sampletarget --intnet</pre>
+ <p>
+ Compared to a regular iSCSI setup, the IP address of the target
+ <i>must</i> be specified as a numeric IP address,
+ as there is no DNS resolver for internal networking.
+ </p>
+ <p>
+ 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.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/kernel-modules-efi-secure-boot.dita b/doc/manual/en_US/dita/topics/kernel-modules-efi-secure-boot.dita
new file mode 100644
index 00000000000..4a202191c3e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/kernel-modules-efi-secure-boot.dita
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="kernel-modules-efi-secure-boot">
+ <title>Kernel Modules and UEFI Secure Boot</title>
+
+ <body>
+ <p>
+ If you are running on a system using UEFI (Unified Extensible
+ Firmware Interface) Secure Boot, you may need to sign the
+ following kernel modules before you can load them:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <userinput>vboxdrv</userinput>
+ </p>
+ </li>
+ <li>
+ <p>
+ <userinput>vboxnetadp</userinput>
+ </p>
+ </li>
+ <li>
+ <p>
+ <userinput>vboxnetflt</userinput>
+ </p>
+ </li>
+ <li>
+ <p>
+ <userinput>vboxpci</userinput>
+ </p>
+ </li>
+ </ul>
+ <p>
+ See your system documentation for details of the kernel module
+ signing process.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/keyb_mouse_normal.dita b/doc/manual/en_US/dita/topics/keyb_mouse_normal.dita
new file mode 100644
index 00000000000..572328938ba
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/keyb_mouse_normal.dita
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="keyb_mouse_normal">
+ <title>Capturing and Releasing Keyboard and Mouse</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox provides a virtual USB tablet device to new
+ virtual machines through which mouse events are communicated to
+ the guest OS. If you are running a modern guest OS that can
+ handle such devices, mouse support may work out of the box
+ without the mouse being <i>captured</i> as
+ described below. See <xref href="settings-motherboard.dita#settings-motherboard"/>.
+ </p>
+ <p>
+ Otherwise, if the virtual machine detects only standard PS/2
+ mouse and keyboard devices, since the OS in the virtual machine
+ does not know that it is not running on a real computer, it
+ expects to have exclusive control over your keyboard and mouse.
+ But unless you are running the VM in full screen mode, your VM
+ needs to share keyboard and mouse with other applications and
+ possibly other VMs on your host.
+ </p>
+ <p>
+ After installing a guest OS and before you install the Guest
+ Additions, described in <xref href="guestadditions.dita#guestadditions"/>, either
+ your VM or the rest of your computer can
+ <i>own</i> the keyboard and the mouse. Both cannot
+ own the keyboard and mouse at the same time. You will see a
+ <i>second</i> mouse pointer which is always
+ confined to the limits of the VM window. You activate the VM by
+ clicking inside it.
+ </p>
+ <p>
+ To return ownership of keyboard and mouse to your host OS,
+ Oracle VM VirtualBox reserves a special key on your keyboard: the
+ <i>Host key</i>. By default, this is the
+ <i>right Ctrl key</i> on your keyboard. On a Mac
+ host, the default Host key is the left Command key. You can
+ change this default using the Preferences window. See
+ <xref href="preferences.dita#preferences"/>. The current setting for the Host
+ key is always displayed at the bottom right of your VM window.
+ </p>
+ <fig id="fig-host-key">
+ <title>Host Key Setting on the Virtual Machine Taskbar</title>
+ <image href="images/vm-hostkey.png" placement="break"/>
+ </fig>
+ <p>
+ This means the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Your <b outputclass="bold">keyboard</b> is owned by
+ the VM if the VM window on your host desktop has the
+ keyboard focus. If you have many windows open in your guest
+ OS, the window that has the focus in your VM is used. This
+ means that if you want to enter text within your VM, click
+ on the title bar of your VM window first.
+ </p>
+ <p>
+ To release keyboard ownership, press the Host key. As
+ explained above, this is typically the right Ctrl key.
+ </p>
+ <p>
+ Note that while the VM owns the keyboard, some key
+ sequences, such as Alt+Tab, will no longer be seen by the
+ host, but will go to the guest instead. After you press the
+ Host key to reenable the host keyboard, all key presses will
+ go through the host again, so that sequences such as Alt+Tab
+ will no longer reach the guest. For technical reasons it may
+ not be possible for the VM to get all keyboard input even
+ when it does own the keyboard. Examples of this are the
+ Ctrl+Alt+Del sequence on Windows hosts or single keys
+ grabbed by other applications on X11 hosts such as the GNOME
+ desktop Locate Pointer feature.
+ </p>
+ </li>
+ <li>
+ <p>
+ Your <b outputclass="bold">mouse</b> is owned by the
+ VM only after you have clicked in the VM window. The host
+ mouse pointer will disappear, and your mouse will drive the
+ guest's pointer instead of your normal mouse pointer.
+ </p>
+ <p>
+ Note that mouse ownership is independent of that of the
+ keyboard. Even after you have clicked on a titlebar to be
+ able to enter text into the VM window, your mouse is not
+ necessarily owned by the VM yet.
+ </p>
+ <p>
+ To release ownership of your mouse by the VM, press the Host
+ key.
+ </p>
+ </li>
+ </ul>
+ <p>
+ As this behavior is inconvenient, Oracle VM VirtualBox provides a set
+ of tools and device drivers for guest systems called the
+ Oracle VM VirtualBox Guest Additions. These tools make VM keyboard and
+ mouse operations much more seamless. Most importantly, the Guest
+ Additions suppress the second "guest" mouse pointer and make
+ your host mouse pointer work directly in the guest. See
+ <xref href="guestadditions.dita#guestadditions"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/legacy-fullscreen-mode.dita b/doc/manual/en_US/dita/topics/legacy-fullscreen-mode.dita
new file mode 100644
index 00000000000..083f9ac5f95
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/legacy-fullscreen-mode.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="legacy-fullscreen-mode">
+ <title>Requesting Legacy Full-Screen Mode</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox uses special window manager facilities to switch
+ a multi-screen machine to full-screen on a multi-monitor host
+ system. However, not all window managers provide these
+ facilities correctly. Oracle VM VirtualBox can be configured to use a
+ legacy method of switching to full-screen mode instead, by using
+ the command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/Fullscreen/LegacyMode true</pre>
+ <p>
+ You can go back to the default method by using the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/Fullscreen/LegacyMode</pre>
+ <p>
+ This is a global setting.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/linux-guest-manual-setup.dita b/doc/manual/en_US/dita/topics/linux-guest-manual-setup.dita
new file mode 100644
index 00000000000..5ddf1844385
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/linux-guest-manual-setup.dita
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="linux-guest-manual-setup">
+ <title>Manual Setup of Selected Guest Services on Linux</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox Guest Additions contain several different
+ drivers. If you do not want to configure them all, use the
+ following command to install the Guest Additions:
+ </p>
+ <pre xml:space="preserve">$ sh ./VBoxLinuxAdditions.run no_setup</pre>
+ <p>
+ After running this script, run the <userinput>rcvboxadd
+ setup</userinput> command as <codeph>root</codeph> to compile
+ the kernel modules.
+ </p>
+ <p>
+ On some 64-bit guests, you must replace <filepath>lib</filepath>
+ with <filepath>lib64</filepath>. On older guests that do not run
+ the <userinput>udev</userinput> service, you must add the
+ <userinput>vboxadd</userinput> service to the default runlevel to
+ ensure that the modules are loaded.
+ </p>
+ <p>
+ To set up the time synchronization service, add the
+ <userinput>vboxadd-service</userinput> service to the default
+ runlevel. To set up the X11 and OpenGL part of the Guest
+ Additions, run the <userinput>rcvboxadd-x11 setup</userinput>
+ command. Note that you do not need to enable additional
+ services.
+ </p>
+ <p>
+ Use the <userinput>rcvboxadd setup</userinput> to recompile the
+ guest kernel modules.
+ </p>
+ <p>
+ After compilation, reboot your guest to ensure that the new
+ modules are loaded.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/linux_install_opts.dita b/doc/manual/en_US/dita/topics/linux_install_opts.dita
new file mode 100644
index 00000000000..3b57fdc34f2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/linux_install_opts.dita
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="linux_install_opts">
+ <title>Automatic Installation Options</title>
+
+ <body>
+ <p>
+ To configure the installation process for .deb and .rpm
+ packages, you can create a response file named
+ <filepath>/etc/default/virtualbox</filepath>. The automatic
+ generation of the udev rule can be prevented with the
+ following setting:
+ </p>
+ <pre xml:space="preserve">INSTALL_NO_UDEV=1</pre>
+ <p>
+ The creation of the group vboxusers can be prevented as
+ follows:
+ </p>
+ <pre xml:space="preserve">INSTALL_NO_GROUP=1</pre>
+ <p>
+ If the following line is specified, the package installer will
+ not try to build the <userinput>vboxdrv</userinput> kernel module
+ if no module fitting the current kernel was found.
+ </p>
+ <pre xml:space="preserve">INSTALL_NO_VBOXDRV=1</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/log-viewer.dita b/doc/manual/en_US/dita/topics/log-viewer.dita
new file mode 100644
index 00000000000..55e4c5ab5a1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/log-viewer.dita
@@ -0,0 +1,113 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="log-viewer">
+ <title>The Log Viewer</title>
+
+ <body>
+ <p>
+ Every time you start up a VM, Oracle VM VirtualBox creates a log file
+ that records system configuration and events. The
+ <b outputclass="bold">Log Viewer</b> is a VirtualBox Manager tool
+ that enables you to view and analyze system logs.
+ </p>
+ <fig id="fig-log-viewer-tool">
+ <title>Log Viewer Tool, Showing System Events</title>
+ <image href="images/log-viewer.png" placement="break"/>
+ </fig>
+ <p>
+ To display the Log Viewer, do either of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click the VM name in the machine list and select
+ <b outputclass="bold">Logs</b> from the machine tools
+ menu.
+ </p>
+ </li>
+ <li>
+ <p>
+ In the guest VM, select
+ <b outputclass="bold">Machine</b>,
+ <b outputclass="bold">Show Log</b>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Log messages for the VM are displayed in tabs in the Log Viewer
+ window. See <xref href="collect-debug-info.dita">Collecting Debugging Information</xref> for details of
+ the various log files generated by Oracle VM VirtualBox.
+ </p>
+ <p>
+ If you select multiple VMs in the machine list, logs are listed
+ for each VM.
+ </p>
+ <p>
+ The toolbar of the Log Viewer includes the following options:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Save:</b> Exports the contents of
+ the selected log file to a text file. Specify the destination
+ filename and location in the displayed dialog.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Find:</b> Searches for a text
+ string in the log file.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Filter:</b> Uses filter terms to
+ display specific types of log messages. Common log message
+ terms used by Oracle VM VirtualBox, such as Audio and NAT, are
+ included by default. Select one or more terms from the
+ drop-down list. To add your own filter term, enter the text
+ string in the text box field.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Bookmark:</b> Saves the location
+ of a log message, enabling you to find it quickly. To create a
+ bookmark, either click on the line number, or select some text
+ and then click <b outputclass="bold">Bookmark</b>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Options:</b> Configures the text
+ display used in the log message window.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Refresh:</b> Refreshes the log
+ file you are currently viewing. Only log messages in the
+ current tab are updated.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Reload:</b> Refreshes all log
+ files. Log messages in every tab are updated.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Settings:</b> Displays the
+ <b outputclass="bold">Settings</b> window for the VM,
+ enabling you to make configuration changes.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Discard:</b> For a running VM,
+ discards the saved state for the VM and closes it down.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Show/Start:</b> For a running VM,
+ <b outputclass="bold">Show</b> displays the VM window.
+ For a stopped VM, <b outputclass="bold">Start</b>
+ displays options for powering up the VM.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/max-resolution-guests.dita b/doc/manual/en_US/dita/topics/max-resolution-guests.dita
new file mode 100644
index 00000000000..8beed05f9a9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/max-resolution-guests.dita
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="max-resolution-guests">
+ <title>Configuring the Maximum Resolution of Guests When Using the Graphical
+ Frontend</title>
+
+ <body>
+ <p>
+ When guest systems with the Guest Additions installed are
+ started using the graphical frontend, the normal Oracle VM VirtualBox
+ application, they will not be allowed to use screen resolutions
+ greater than the host's screen size unless the user manually
+ resizes them by dragging the window, switching to full screen or
+ seamless mode or sending a video mode hint using
+ <userinput>VBoxManage</userinput>. This behavior is what most users
+ will want, but if you have different needs, you can change it by
+ issuing one of the following commands from the command line:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Remove all limits on guest resolutions.
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/MaxGuestResolution any</pre>
+ </li>
+ <li>
+ <p>
+ Manually specify a maximum resolution.
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/MaxGuestResolution <varname>width</varname>x<varname>height</varname>
+ </pre>
+ </li>
+ <li>
+ <p>
+ Restore the default settings to all guest VMs.
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/MaxGuestResolution auto</pre>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/mountingadditionsiso.dita b/doc/manual/en_US/dita/topics/mountingadditionsiso.dita
new file mode 100644
index 00000000000..cbe3adab1e6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/mountingadditionsiso.dita
@@ -0,0 +1,132 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="mountingadditionsiso">
+ <title>Installing the Windows Guest Additions</title>
+
+ <body>
+ <p>
+ In the <b outputclass="bold">Devices</b> menu in the
+ virtual machine's menu bar, Oracle VM VirtualBox has a menu item
+ <b outputclass="bold">Insert Guest Additions CD
+ Image</b>, which mounts the Guest Additions ISO file
+ inside your virtual machine. A Windows guest should then
+ automatically start the Guest Additions installer, which
+ installs the Guest Additions on your Windows guest.
+ </p>
+ <p>
+ For other guest operating systems, or if automatic start of
+ software on a CD is disabled, you need to do a manual start of
+ the installer.
+ </p>
+ <note>
+ <p>
+ For the basic Direct3D acceleration to work in a Windows
+ guest, you have to install the WDDM video driver available
+ for Windows Vista or later.
+ </p>
+ <p>
+ For Windows 8 and later, only the WDDM Direct3D video driver
+ is available. For basic Direct3D acceleration to work in
+ Windows XP guests, you have to install the Guest Additions
+ in Safe Mode. See <xref href="KnownIssues.dita">Known Limitations</xref> for
+ details.
+ </p>
+ </note>
+ <p>
+ If you prefer to mount the Guest Additions manually, you can
+ perform the following steps:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Start the virtual machine in which you have installed
+ Windows.
+ </p>
+ </li>
+ <li>
+ <p>
+ Select <b outputclass="bold">Optical Drives</b>
+ from the <b outputclass="bold">Devices</b> menu in
+ the virtual machine's menu bar and then
+ <b outputclass="bold">Choose/Create a Disk
+ Image</b>. This displays the Virtual Media Manager,
+ described in <xref href="virtual-media-manager.dita#virtual-media-manager"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ In the Virtual Media Manager, click
+ <b outputclass="bold">Add</b> and browse your host
+ file system for the
+ <filepath>VBoxGuestAdditions.iso</filepath> file.
+ </p>
+ <ul>
+ <li>
+ <p>
+ On a Windows host, this file is in the Oracle VM VirtualBox
+ installation directory, usually in
+ <filepath>C:\Program
+ files\Oracle\VirtualBox</filepath>.
+ </p>
+ </li>
+ <li>
+ <p>
+ On macOS hosts, this file is in the application bundle
+ of Oracle VM VirtualBox. Right-click on the Oracle VM VirtualBox
+ icon in Finder and choose <b outputclass="bold">Show
+ Package Contents</b>. The file is located in
+ the <filepath>Contents/MacOS</filepath> folder.
+ </p>
+ </li>
+ <li>
+ <p>
+ On a Linux host, this file is in the
+ <filepath>additions</filepath> folder where you
+ installed Oracle VM VirtualBox, usually
+ <filepath>/opt/VirtualBox/</filepath>.
+ </p>
+ </li>
+ <li>
+ <p>
+ On Oracle Solaris hosts, this file is in the
+ <filepath>additions</filepath> folder where you
+ installed Oracle VM VirtualBox, usually
+ <filepath>/opt/VirtualBox</filepath>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ In the Virtual Media Manager, select the ISO file and
+ click the <b outputclass="bold">Add</b> button.
+ This mounts the ISO file and presents it to your Windows
+ guest as a CD-ROM.
+ </p>
+ </li>
+ </ol>
+ <p>
+ Unless you have the Autostart feature disabled in your Windows
+ guest, Windows will now autostart the Oracle VM VirtualBox Guest
+ Additions installation program from the Additions ISO. If the
+ Autostart feature has been turned off, choose
+ <filepath>VBoxWindowsAdditions.exe</filepath> from the CD/DVD
+ drive inside the guest to start the installer.
+ </p>
+ <p>
+ The installer will add several device drivers to the Windows
+ driver database and then invoke the hardware detection wizard.
+ </p>
+ <p>
+ Depending on your configuration, it might display warnings
+ that the drivers are not digitally signed. You must confirm
+ these in order to continue the installation and properly
+ install the Additions.
+ </p>
+ <p>
+ After installation, reboot your guest operating system to
+ activate the Additions.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/mouse-capture.dita b/doc/manual/en_US/dita/topics/mouse-capture.dita
new file mode 100644
index 00000000000..1d65669837d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/mouse-capture.dita
@@ -0,0 +1,65 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="mouse-capture">
+ <title>Configuring Automatic Mouse Capturing</title>
+
+ <body>
+ <p>
+ By default, the mouse is captured if the user clicks on the
+ guest window and the guest expects relative mouse coordinates at
+ this time. This happens if the pointing device is configured as
+ PS/2 mouse and the guest has not yet started the Oracle VM VirtualBox
+ Guest Additions. For instance, the guest is booting or the Guest
+ Additions are not installed, or if the pointing device is
+ configured as a USB tablet but the guest has no USB driver
+ loaded yet. Once the Guest Additions become active or the USB
+ guest driver is started, the mouse capture is automatically
+ released.
+ </p>
+ <p>
+ The default behavior is sometimes not desired. Therefore it can
+ be configured as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> GUI/MouseCapturePolicy <varname>mode</varname>
+ </pre>
+ <p><varname>mode</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>Default</codeph>
+ </dt>
+ <dd>
+ <p>
+ The default behavior as described above.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>HostComboOnly</codeph>
+ </dt>
+ <dd>
+ <p>
+ The mouse is only captured if the Host Key is toggled.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Disabled</codeph>
+ </dt>
+ <dd>
+ <p>
+ The mouse is never captured, also not by toggling the Host
+ Key
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM setting.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-address-config.dita b/doc/manual/en_US/dita/topics/nat-address-config.dita
new file mode 100644
index 00000000000..43743ab5632
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-address-config.dita
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-address-config">
+ <title>Configuring the Address of a NAT Network Interface</title>
+
+ <body>
+ <p>
+ In NAT mode, the guest network interface is assigned to the IPv4
+ range <codeph>10.0.<varname>x</varname>.0/24</codeph>
+ by default where <varname>x</varname> corresponds to the
+ instance of the NAT interface +2. So
+ <varname>x</varname> is 2 when there is only one NAT
+ instance active. In that case the guest is assigned to the
+ address <codeph>10.0.2.15</codeph>, the gateway is set to
+ <codeph>10.0.2.2</codeph> and the name server can be found at
+ <codeph>10.0.2.3</codeph>.
+ </p>
+ <p>
+ If the NAT network needs to be changed, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> \
+--natnet1 "192.168/16"</pre>
+ <p>
+ This command would reserve the network addresses from
+ <codeph>192.168.0.0</codeph> to
+ <codeph>192.168.254.254</codeph> for the first NAT network
+ instance of <varname>VM-name</varname> The guest IP
+ would be assigned to <codeph>192.168.0.15</codeph> and the
+ default gateway could be found at
+ <codeph>192.168.0.2</codeph>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-adv-alias.dita b/doc/manual/en_US/dita/topics/nat-adv-alias.dita
new file mode 100644
index 00000000000..2d5e868974a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-adv-alias.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-adv-alias">
+ <title>Configuring Aliasing of the NAT Engine</title>
+
+ <body>
+ <p>
+ By default, the NAT core uses aliasing and uses random ports
+ when generating an alias for a connection. This works well for
+ the most protocols like SSH, FTP and so on. Though some
+ protocols might need a more transparent behavior or may depend
+ on the real port number the packet was sent from. You can change
+ the NAT mode by using the following commands:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> \
+--nataliasmode1 proxyonly</pre>
+ <pre xml:space="preserve">$ VBoxManage modifyvm "Linux Guest" --nataliasmode1 sameports</pre>
+ <p>
+ The first example disables aliasing and switches NAT into
+ transparent mode, the second example enforces preserving of port
+ values. These modes can be combined if necessary.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-adv-dns.dita b/doc/manual/en_US/dita/topics/nat-adv-dns.dita
new file mode 100644
index 00000000000..02969b8706c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-adv-dns.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-adv-dns">
+ <title>Enabling DNS Proxy in NAT Mode</title>
+
+ <body>
+ <p>
+ The NAT engine by default offers the same DNS servers to the
+ guest that are configured on the host. In some scenarios, it can
+ be desirable to hide the DNS server IPs from the guest, for
+ example when this information can change on the host due to
+ expiring DHCP leases. In this case, you can tell the NAT engine
+ to act as DNS proxy using the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --natdnsproxy1 on</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-adv-settings.dita b/doc/manual/en_US/dita/topics/nat-adv-settings.dita
new file mode 100644
index 00000000000..76cc86ea294
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-adv-settings.dita
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-adv-settings">
+ <title>Tuning TCP/IP Buffers for NAT</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox NAT stack performance is often determined by
+ its interaction with the host's TCP/IP stack and the size of
+ several buffers, <codeph>SO_RCVBUF</codeph> and
+ <codeph>SO_SNDBUF</codeph>. For certain setups users might
+ want to adjust the buffer size for a better performance. This
+ can by achieved using the following commands, where values are
+ in kilobytes and can range from 8 to 1024:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> \
+--natsettings1 16000,128,128,0,0</pre>
+ <p>
+ This example illustrates tuning the NAT settings. The first
+ parameter is the MTU, then the size of the socket's send buffer
+ and the size of the socket's receive buffer, the initial size of
+ the TCP send window, and lastly the initial size of the TCP
+ receive window. Note that specifying zero means fallback to the
+ default value.
+ </p>
+ <p>
+ Each of these buffers has a default size of 64KB and default MTU
+ is 1500.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-adv-tftp.dita b/doc/manual/en_US/dita/topics/nat-adv-tftp.dita
new file mode 100644
index 00000000000..f30578499aa
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-adv-tftp.dita
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-adv-tftp">
+ <title>Configuring the Boot Server (Next Server) of a NAT Network Interface</title>
+
+ <body>
+ <p>
+ For network booting in NAT mode, by default Oracle VM VirtualBox uses
+ a built-in TFTP server at the IP address 10.0.2.4. This default
+ behavior should work fine for typical remote-booting scenarios.
+ However, it is possible to change the boot server IP and the
+ location of the boot image with the following commands:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> \
+--nattftpserver1 10.0.2.2
+$ VBoxManage modifyvm <varname>VM-name</varname> \
+--nattftpfile1 /srv/tftp/boot/MyPXEBoot.pxe</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-bind-sockets.dita b/doc/manual/en_US/dita/topics/nat-bind-sockets.dita
new file mode 100644
index 00000000000..5cad3136fbb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-bind-sockets.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-bind-sockets">
+ <title>Binding NAT Sockets to a Specific Interface</title>
+
+ <body>
+ <p>
+ By default, Oracle VM VirtualBox's NAT engine will route TCP/IP
+ packets through the default interface assigned by the host's
+ TCP/IP stack. The technical reason for this is that the NAT
+ engine uses sockets for communication. If you want to change
+ this behavior, you can tell the NAT engine to bind to a
+ particular IP address instead. For example, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> \
+--natbindip1 "10.45.0.2"</pre>
+ <p>
+ After this, all outgoing traffic will be sent through the
+ interface with the IP address 10.45.0.2. Ensure that this
+ interface is up and running before changing the NAT bind
+ address.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-limitations.dita b/doc/manual/en_US/dita/topics/nat-limitations.dita
new file mode 100644
index 00000000000..0a6fc2d6a7a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-limitations.dita
@@ -0,0 +1,64 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-limitations">
+ <title>NAT Limitations</title>
+
+ <body>
+ <p>
+ There are some limitations of NAT mode which users should be
+ aware of, as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">ICMP protocol limitations.</b>
+ Some frequently used network debugging tools, such as
+ <userinput>ping</userinput> or <userinput>traceroute</userinput>,
+ rely on the ICMP protocol for sending and receiving
+ messages. Oracle VM VirtualBox ICMP support has some limitations,
+ meaning <userinput>ping</userinput> should work but some other
+ tools may not work reliably.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Receiving of UDP
+ broadcasts.</b> The guest does not reliably receive
+ UDP broadcasts. In order to save resources, it only listens
+ for a certain amount of time after the guest has sent UDP
+ data on a particular port. As a consequence, NetBios name
+ resolution based on broadcasts does not always work, but
+ WINS always works. As a workaround, you can use the numeric
+ IP of the desired server in the
+ <filepath>\\<varname>server</varname>\<varname>share</varname></filepath>
+ notation.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Some protocols are not
+ supported.</b> Protocols other than TCP and UDP are
+ not supported. GRE is not supported. This means some VPN
+ products, such as PPTP from Microsoft, cannot be used. There
+ are other VPN products which use only TCP and UDP.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Forwarding host ports below
+ 1024.</b> On UNIX-based hosts, such as Linux, Oracle
+ Solaris, and macOS, it is not possible to bind to ports
+ below 1024 from applications that are not run by
+ <codeph>root</codeph>. As a result, if you try to
+ configure such a port forwarding, the VM will refuse to
+ start.
+ </p>
+ </li>
+ </ul>
+ <p>
+ These limitations normally do not affect standard network use.
+ But the presence of NAT has also subtle effects that may
+ interfere with protocols that are normally working. One example
+ is NFS, where the server is often configured to refuse
+ connections from non-privileged ports, which are those ports not
+ below 1024.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat-tftp.dita b/doc/manual/en_US/dita/topics/nat-tftp.dita
new file mode 100644
index 00000000000..8090db5aa92
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat-tftp.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat-tftp">
+ <title>PXE Booting with NAT</title>
+
+ <body>
+ <p>
+ PXE booting is now supported in NAT mode. The NAT DHCP server
+ provides a boot file name of the form
+ <filepath><varname>vmname</varname>.pxe</filepath> if
+ the directory <codeph>TFTP</codeph> exists in the directory
+ where the user's <filepath>VirtualBox.xml</filepath> file is
+ kept. It is the responsibility of the user to provide
+ <filepath><varname>vmname</varname>.pxe</filepath>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat_host_resolver_name_intercepting.dita b/doc/manual/en_US/dita/topics/nat_host_resolver_name_intercepting.dita
new file mode 100644
index 00000000000..892c2235964
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat_host_resolver_name_intercepting.dita
@@ -0,0 +1,59 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat_host_resolver_name_intercepting">
+ <title>User-Defined Host Name Resolving</title>
+
+ <body>
+ <p>
+ In some cases it might be useful to intercept the name
+ resolving mechanism, providing a user-defined IP address on a
+ particular DNS request. The intercepting mechanism enables the
+ user to map not only a single host but domains and even more
+ complex naming conventions if required.
+ </p>
+ <p>
+ The following command sets a rule for mapping a name to a
+ specified IP:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/{pcnet,e1000}/0/LUN#0/AttachedDriver/Config/HostResolverMappings/ \
+<varname>unique-rule-name-of-interception-rule</varname>/HostIP" <varname>IPv4</varname>
+
+VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/{pcnet,e1000}/0/LUN#0/AttachedDriver/Config/HostResolverMappings/ \
+<varname>unique-rule-name</varname>/HostName" <varname>hostname</varname>
+ </pre>
+ <p>
+ The following command sets a rule for mapping a pattern name
+ to a specified IP:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/{pcnet,e1000}/0/LUN#0/AttachedDriver/Config/HostResolverMappings/ \
+<varname>unique-rule-name</varname>/HostIP" <varname>IPv4</varname>
+
+VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/{pcnet,e1000}/0/LUN#0/AttachedDriver/Config/HostResolverMappings/ \
+<varname>unique-rule-name</varname>/HostNamePattern" <varname>hostpattern</varname>
+ </pre>
+ <p>
+ The host name pattern can include the following wildcard
+ characters: pipe (<codeph>|</codeph>), question mark
+ (<codeph>?</codeph>), and asterisk (<codeph>*</codeph>).
+ </p>
+ <p>
+ This example demonstrates how to instruct the host-resolver
+ mechanism to resolve all domain and probably some mirrors of
+ www.blocked-site.info site with IP 127.0.0.1:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/e1000/0/LUN#0/AttachedDriver/Config/HostResolverMappings/all_blocked_site/HostIP" 127.0.0.1
+$ VBoxManage setextradata <varname>VM-name</varname> \
+"VBoxInternal/Devices/e1000/0/LUN#0/AttachedDriver/Config/HostResolverMappings/all_blocked_site/HostNamePattern" "*.blocked-site.*|*.fb.org"</pre>
+ <p>
+ The host resolver mechanism should be enabled to use
+ user-defined mapping rules, otherwise they do not have any
+ effect.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nat_host_resolver_proxy.dita b/doc/manual/en_US/dita/topics/nat_host_resolver_proxy.dita
new file mode 100644
index 00000000000..5e02eb701d8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nat_host_resolver_proxy.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nat_host_resolver_proxy">
+ <title>Using the Host's Resolver as a DNS Proxy in NAT Mode</title>
+
+ <body>
+ <p>
+ For resolving network names, the DHCP server of the NAT engine
+ offers a list of registered DNS servers of the host. If for some
+ reason you need to hide this DNS server list and use the host's
+ resolver settings, thereby forcing the Oracle VM VirtualBox NAT engine
+ to intercept DNS requests and forward them to host's resolver,
+ use the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --natdnshostresolver1 on</pre>
+ <p>
+ Note that this setting is similar to the DNS proxy mode, however
+ whereas the proxy mode just forwards DNS requests to the
+ appropriate servers, the resolver mode will interpret the DNS
+ requests and use the host's DNS API to query the information and
+ return it to the guest.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/natforward.dita b/doc/manual/en_US/dita/topics/natforward.dita
new file mode 100644
index 00000000000..0881b10b356
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/natforward.dita
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="natforward">
+ <title>Configuring Port Forwarding with NAT</title>
+
+ <body>
+ <p>
+ As the virtual machine is connected to a private network
+ internal to Oracle VM VirtualBox and invisible to the host, network
+ services on the guest are not accessible to the host machine or
+ to other computers on the same network. However, like a physical
+ router, Oracle VM VirtualBox can make selected services available to
+ the world outside the guest through <i>port
+ forwarding</i>. This means that Oracle VM VirtualBox listens to
+ certain ports on the host and resends all packets which arrive
+ there to the guest, on the same or a different port.
+ </p>
+ <p>
+ To an application on the host or other physical or virtual
+ machines on the network, it looks as though the service being
+ proxied is actually running on the host. This also means that
+ you cannot run the same service on the same ports on the host.
+ However, you still gain the advantages of running the service in
+ a virtual machine. For example, services on the host machine or
+ on other virtual machines cannot be compromised or crashed by a
+ vulnerability or a bug in the service, and the service can run
+ in a different operating system than the host system.
+ </p>
+ <p>
+ To configure port forwarding you can use the graphical
+ <b outputclass="bold">Port Forwarding</b> editor which
+ can be found in the <b outputclass="bold">Network</b>
+ settings dialog for network adaptors configured to use NAT.
+ Here, you can map host ports to guest ports to allow network
+ traffic to be routed to a specific port in the guest.
+ </p>
+ <p>
+ Alternatively, the command line tool
+ <userinput>VBoxManage</userinput> can be used. See
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ <p>
+ You will need to know which ports on the guest the service uses
+ and to decide which ports to use on the host. You may want to
+ 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. For
+ example, to set up incoming NAT connections to an
+ <userinput>ssh</userinput> server in the guest, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nat-pf1 "guestssh,tcp,,2222,,22"</pre>
+ <p>
+ In the above example, all TCP traffic arriving on port 2222 on
+ any host interface will be forwarded to port 22 in the guest.
+ The protocol name <codeph>tcp</codeph> is a mandatory
+ attribute defining which protocol should be used for forwarding,
+ <codeph>udp</codeph> could also be used. The name
+ <codeph>guestssh</codeph> is purely descriptive and will be
+ auto-generated if omitted. The number after
+ <codeph>--nat-pf</codeph> denotes the network card, as with
+ other <userinput>VBoxManage</userinput> commands.
+ </p>
+ <p>
+ To remove this forwarding rule, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --natpf1 delete "guestssh"</pre>
+ <p>
+ If for some reason the guest uses a static assigned IP address
+ not leased from the built-in DHCP server, it is required to
+ specify the guest IP when registering the forwarding rule, as
+ follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,10.0.2.19,22"</pre>
+ <p>
+ This example is identical to the previous one, except that the
+ NAT engine is being told that the guest can be found at the
+ 10.0.2.19 address.
+ </p>
+ <p>
+ To forward <i>all</i> incoming traffic from a
+ specific host interface to the guest, specify the IP of that
+ host interface as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,127.0.0.1,2222,,22"</pre>
+ <p>
+ This example forwards all TCP traffic arriving on the localhost
+ interface at 127.0.0.1 through port 2222 to port 22 in the
+ guest.
+ </p>
+ <p>
+ It is possible to configure incoming NAT connections while the
+ VM is running, see <xref href="man_VBoxManage-controlvm.dita#vboxmanage-controlvm"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nested-virt.dita b/doc/manual/en_US/dita/topics/nested-virt.dita
new file mode 100644
index 00000000000..a6b02ae60cb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nested-virt.dita
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nested-virt">
+ <title>Nested Virtualization</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports <i>nested
+ virtualization</i>. This feature enables the passthrough of
+ hardware virtualization functions to the guest VM. That means that
+ you can install a hypervisor, such as Oracle VM VirtualBox, Oracle VM
+ Server or KVM, on an Oracle VM VirtualBox guest. You can then create and
+ run VMs within the guest VM.
+ </p>
+ <p>
+ Hardware virtualization features not present on the host CPU will
+ not be exposed to the guest. In addition, some features such as
+ nested paging are not yet supported for passthrough to the guest.
+ </p>
+ <p>
+ You can enable the nested virtualization feature in one of the
+ following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ From VirtualBox Manager, select the <b outputclass="bold">Enable
+ Nested VT-x/AMD-V</b> check box on the
+ <b outputclass="bold">Processor</b> tab. To disable the
+ feature, deselect the check box.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the <codeph>--nested-hw-virt</codeph> option of the
+ <userinput>VBoxManage modifyvm</userinput> command to enable or
+ disable nested virtualization. See
+ <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nestedpaging.dita b/doc/manual/en_US/dita/topics/nestedpaging.dita
new file mode 100644
index 00000000000..f8e2f1414d8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nestedpaging.dita
@@ -0,0 +1,74 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nestedpaging">
+ <title>Nested Paging and VPIDs</title>
+
+ <body>
+ <p>
+ In addition to normal hardware virtualization, your processor may
+ also support the following additional sophisticated techniques:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Nested paging implements some memory management in hardware,
+ which can greatly accelerate hardware virtualization since
+ these tasks no longer need to be performed by the
+ virtualization software.
+ </p>
+ <p>
+ With nested paging, the hardware provides another level of
+ indirection when translating linear to physical addresses.
+ Page tables function as before, but linear addresses are now
+ translated to "guest physical" addresses first and not
+ physical addresses directly. A new set of paging registers now
+ exists under the traditional paging mechanism and translates
+ from guest physical addresses to host physical addresses,
+ which are used to access memory.
+ </p>
+ <p>
+ Nested paging eliminates the overhead caused by VM exits and
+ page table accesses. In essence, with nested page tables the
+ guest can handle paging without intervention from the
+ hypervisor. Nested paging thus significantly improves
+ virtualization performance.
+ </p>
+ <p>
+ On AMD processors, nested paging has been available starting
+ with the Barcelona (K10) architecture. They now call it rapid
+ virtualization indexing (RVI). Intel added support for nested
+ paging, which they call extended page tables (EPT), with their
+ Core i7 (Nehalem) processors.
+ </p>
+ <p>
+ If nested paging is enabled, the Oracle VM VirtualBox hypervisor can
+ also use <i>large pages</i> to reduce TLB usage
+ and overhead. This can yield a performance improvement of up
+ to 5%. To enable this feature for a VM, you use the
+ <userinput>VBoxManage modifyvm --large-pages</userinput> command.
+ See <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
+ </p>
+ <p>
+ If you have an Intel CPU with EPT, please consult
+ <xref href="sec-rec-cve-2018-3646.dita#sec-rec-cve-2018-3646"/> for security concerns
+ regarding EPT.
+ </p>
+ </li>
+ <li>
+ <p>
+ On Intel CPUs, a hardware feature called Virtual Processor
+ Identifiers (VPIDs) can greatly accelerate context switching
+ by reducing the need for expensive flushing of the processor's
+ Translation Lookaside Buffers (TLBs).
+ </p>
+ <p>
+ To enable these features for a VM, you use the
+ <userinput>VBoxManage modifyvm --vtx-vpid</userinput> and
+ <userinput>VBoxManage modifyvm --large-pages</userinput> commands.
+ See <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network-manager-cloud-network-tab.dita b/doc/manual/en_US/dita/topics/network-manager-cloud-network-tab.dita
new file mode 100644
index 00000000000..8d0100844c5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network-manager-cloud-network-tab.dita
@@ -0,0 +1,68 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network-manager-cloud-network-tab">
+ <title>Cloud Networks Tab</title>
+
+ <body>
+ <p>
+ The Cloud Networks tab in Network Manager lists all cloud
+ networks that are currently in use.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click <b outputclass="bold">Create</b> to add a new
+ cloud network to the list.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Remove</b> to remove a
+ cloud network from the list.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Properties</b> to show or
+ hide settings for the selected cloud network.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To configure a cloud network, select the network name in the
+ <b outputclass="bold">Name</b> field and specify the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Name:</b> The name used for the
+ cloud network.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Provider:</b> The cloud service
+ provider, such as Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Profile:</b> The cloud profile
+ used to connect to the cloud network.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">ID:</b> The OCID for the cloud
+ tunneling network. Click the
+ <b outputclass="bold">Network</b> icon to view the
+ subnets on Oracle Cloud Infrastructure that are available for tunneling traffic.
+ </p>
+ <p>
+ See <xref href="cloud-using-cloud-networks.dita#cloud-using-cloud-networks"/> for details
+ of how you can use the <userinput>VBoxManage cloud</userinput>
+ command to create and configure a virtual cloud network
+ (VCN) on Oracle Cloud Infrastructure.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network-manager-host-only-tab.dita b/doc/manual/en_US/dita/topics/network-manager-host-only-tab.dita
new file mode 100644
index 00000000000..83fcb56431a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network-manager-host-only-tab.dita
@@ -0,0 +1,54 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network-manager-host-only-tab">
+ <title>Host-Only Networks Tab</title>
+
+ <body>
+ <p>
+ The Host-Only Networks tab in Network Manager lists all
+ host-only networks that are currently in use.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click <b outputclass="bold">Create</b> to add a new
+ host-only network to the list.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Remove</b> to remove a
+ host-only network from the list.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Properties</b> to show or
+ hide settings for the selected host-only network.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To configure a host-only network, select the network name in the
+ <b outputclass="bold">Name</b> field and do the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Use the <b outputclass="bold">Adapter</b> tab to
+ configure the network adapter for the host-only network.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the <b outputclass="bold">DHCP Server</b> tab to
+ configure settings for the DHCP server used by the host-only
+ network. The DHCP server is built into Oracle VM VirtualBox and
+ manages IP addresses for the network automatically.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network-manager-nat-network-tab.dita b/doc/manual/en_US/dita/topics/network-manager-nat-network-tab.dita
new file mode 100644
index 00000000000..b44362ced24
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network-manager-nat-network-tab.dita
@@ -0,0 +1,54 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network-manager-nat-network-tab">
+ <title>NAT Networks Tab</title>
+
+ <body>
+ <p>
+ The NAT Networks tab in Network Manager lists all NAT networks
+ that are currently in use.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click <b outputclass="bold">Create</b> to add a new
+ NAT network to the list.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Remove</b> to remove a
+ NAT network from the list.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Properties</b> to show or
+ hide settings for the selected NAT network.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To configure a NAT network, select the network name in the
+ <b outputclass="bold">Name</b> field and do the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Use the <b outputclass="bold">General Options</b> tab
+ to configure the network settings used by the NAT network.
+ For example, the network address and mask of the NAT service
+ interface.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the <b outputclass="bold">Port Forwarding</b> tab
+ to configure port forwarding rules used by the NAT network.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network-manager.dita b/doc/manual/en_US/dita/topics/network-manager.dita
new file mode 100644
index 00000000000..086f93d24ce
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network-manager.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network-manager">
+ <title>Network Manager</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">Network Manager</b> tool in
+ VirtualBox Manager enables you to create, delete, and configure the
+ following types of networks used by Oracle VM VirtualBox:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Host-only networks. See
+ <xref href="network-manager-host-only-tab.dita#network-manager-host-only-tab"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ NAT networks. See
+ <xref href="network-manager-nat-network-tab.dita#network-manager-nat-network-tab"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Cloud networks. See
+ <xref href="network-manager-cloud-network-tab.dita#network-manager-cloud-network-tab"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To display the Network Manager, go to the global
+ <b outputclass="bold">Tools</b> menu and click
+ <b outputclass="bold">Network</b>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_bandwidth_limit.dita b/doc/manual/en_US/dita/topics/network_bandwidth_limit.dita
new file mode 100644
index 00000000000..feb411630cf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_bandwidth_limit.dita
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_bandwidth_limit">
+ <title>Limiting Bandwidth for Network Input/Output</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports limiting of the maximum bandwidth used for
+ network transmission. Several network adapters of one VM may share
+ limits through bandwidth groups. It is possible to have more than
+ one such limit.
+ </p>
+ <note>
+ <p>
+ Oracle VM VirtualBox shapes VM traffic only in the transmit direction,
+ delaying the packets being sent by virtual machines. It does not
+ limit the traffic being received by virtual machines.
+ </p>
+ </note>
+ <p>
+ Limits are configured through <userinput>VBoxManage</userinput>. The
+ following example creates a bandwidth group named Limit, sets the
+ limit to 20 Mbps and assigns the group to the first and second
+ adapters of the VM:
+ </p>
+ <pre xml:space="preserve">VBoxManage bandwidthctl "VM name" add Limit --type network --limit 20m
+VBoxManage modifyvm "VM name" --nicbandwidthgroup1 Limit
+VBoxManage modifyvm "VM name" --nicbandwidthgroup2 Limit</pre>
+ <p>
+ All adapters in a group share the bandwidth limit, meaning that in
+ the example above the bandwidth of both adapters combined can
+ never exceed 20 Mbps. However, if one adapter does not require
+ bandwidth the other can use the remaining bandwidth of its group.
+ </p>
+ <p>
+ The limits for each group can be changed while the VM is running,
+ with changes being picked up immediately. The following example
+ changes the limit for the group created in the previous example to
+ 100 Kbps:
+ </p>
+ <pre xml:space="preserve">VBoxManage bandwidthctl "VM name" set Limit --limit 100k</pre>
+ <p>
+ To completely disable shaping for the first adapter of VM use the
+ following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nicbandwidthgroup1 none</pre>
+ <p>
+ It is also possible to disable shaping for all adapters assigned
+ to a bandwidth group while VM is running, by specifying the zero
+ limit for the group. For example, for the bandwidth group named
+ Limit:
+ </p>
+ <pre xml:space="preserve">VBoxManage bandwidthctl "VM name" set Limit --limit 0</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_bridged.dita b/doc/manual/en_US/dita/topics/network_bridged.dita
new file mode 100644
index 00000000000..9adb2e31583
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_bridged.dita
@@ -0,0 +1,116 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_bridged">
+ <title>Bridged Networking</title>
+
+ <body>
+ <p>
+ With bridged networking, Oracle VM VirtualBox uses a device driver on
+ your <i>host</i> system that filters data from your
+ physical network adapter. This driver is therefore called a
+ <i>net filter</i> driver. This enables
+ Oracle VM VirtualBox to intercept data from the physical network and
+ inject data into it, effectively creating a new network interface
+ in software. When a guest is using such a new software interface,
+ it looks to the host system as though the guest were physically
+ connected to the interface using a network cable. The host can
+ send data to the guest through that interface and receive data
+ from it. This means that you can set up routing or bridging
+ between the guest and the rest of your network.
+ </p>
+ <note>
+ <p>
+ Even though TAP interfaces are no longer necessary on Linux for
+ bridged networking, you <i>can</i> still use TAP
+ interfaces for certain advanced setups, since you can connect a
+ VM to any host interface.
+ </p>
+ </note>
+ <p>
+ To enable bridged networking, open the
+ <b outputclass="bold">Settings</b> dialog of a virtual
+ machine, go to the <b outputclass="bold">Network</b> page
+ and select <b outputclass="bold">Bridged Network</b> in the
+ drop-down list for the <b outputclass="bold">Attached
+ To</b> field. Select a host interface from the 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.
+ </p>
+ <note>
+ <p>
+ Bridging to a wireless interface is done differently from
+ bridging to a wired interface, because most wireless adapters do
+ not support promiscuous mode. All traffic has to use the MAC
+ address of the host's wireless adapter, and therefore
+ Oracle VM VirtualBox needs to replace the source MAC address in the
+ Ethernet header of an outgoing packet to make sure the reply
+ will be sent to the host interface. When Oracle VM VirtualBox sees an
+ incoming packet with a destination IP address that belongs to
+ one of the virtual machine adapters it replaces the destination
+ MAC address in the Ethernet header with the VM adapter's MAC
+ address and passes it on. Oracle VM VirtualBox examines ARP and DHCP
+ packets in order to learn the IP addresses of virtual machines.
+ </p>
+ </note>
+ <p>
+ Depending on your host operating system, the following limitations
+ apply:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">macOS hosts.</b> Functionality is
+ limited when using AirPort, the Mac's wireless networking
+ system, for bridged networking. Currently, Oracle VM VirtualBox
+ supports only IPv4 and IPv6 over AirPort. For other protocols,
+ such as IPX, you must choose a wired interface.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Linux hosts.</b> Functionality is
+ limited when using wireless interfaces for bridged networking.
+ Currently, Oracle VM VirtualBox supports only IPv4 and IPv6 over
+ wireless. For other protocols, such as IPX, you must choose a
+ wired interface.
+ </p>
+ <p>
+ Also, setting the MTU to less than 1500 bytes on wired
+ interfaces provided by the sky2 driver on the Marvell Yukon II
+ EC Ultra Ethernet NIC is known to cause packet losses under
+ certain conditions.
+ </p>
+ <p>
+ Some adapters strip VLAN tags in hardware. This does not allow
+ you to use VLAN trunking between VM and the external network
+ with pre-2.6.27 Linux kernels, or with host operating systems
+ other than Linux.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Oracle Solaris hosts.</b> There
+ is no support for using wireless interfaces. Filtering guest
+ traffic using IPFilter is also not completely supported due to
+ technical restrictions of the Oracle Solaris networking
+ subsystem. These issues may be addressed in later releases of
+ Oracle Solaris 11.
+ </p>
+ <p>
+ On Oracle Solaris 11 hosts build 159 and above, it is possible
+ to use Oracle Solaris Crossbow Virtual Network Interfaces
+ (VNICs) directly with Oracle VM VirtualBox without any additional
+ configuration other than each VNIC must be exclusive for every
+ guest network interface.
+ </p>
+ <p>
+ When using VLAN interfaces with Oracle VM VirtualBox, they must be
+ named according to the PPA-hack naming scheme, such as
+ e1000g513001. Otherwise, the guest may receive packets in an
+ unexpected format.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_cloud.dita b/doc/manual/en_US/dita/topics/network_cloud.dita
new file mode 100644
index 00000000000..a7769a06e31
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_cloud.dita
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_cloud">
+ <title>Cloud Networks</title>
+
+ <body>
+ <p>
+ Cloud networks can be used for connections from a local VM to a
+ subnet on a remote Oracle Cloud Infrastructure instance. See
+ <xref href="network-manager-cloud-network-tab.dita#network-manager-cloud-network-tab"/> for details of
+ how to create and configure a cloud network using the Network
+ Manager tool in VirtualBox Manager.
+ </p>
+ <p>
+ To enable a cloud network interface for a virtual machine, do
+ either of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Go to the <b outputclass="bold">Network</b> page in the
+ virtual machine's <b outputclass="bold">Settings</b>
+ dialog and select an <b outputclass="bold">Adapter</b>
+ tab. Ensure that the <b outputclass="bold">Enable Network
+ Adapter</b> check box is selected and choose
+ <b outputclass="bold">Cloud Network</b> for the
+ <b outputclass="bold">Attached To</b> field.
+ </p>
+ </li>
+ <li>
+ <p>
+ On the command line, use <userinput>VBoxManage modifyvm
+ vmname --nic <varname>x</varname> cloud</userinput>. See
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_hostonly.dita b/doc/manual/en_US/dita/topics/network_hostonly.dita
new file mode 100644
index 00000000000..8537886e692
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_hostonly.dita
@@ -0,0 +1,146 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_hostonly">
+ <title>Host-Only Networking</title>
+
+ <body>
+ <p>
+ Host-only networking can be thought of as a hybrid between the
+ bridged and internal networking modes. As with bridged networking,
+ the virtual machines can talk to each other and the host as if
+ they were connected through a physical Ethernet switch. As with
+ internal networking, a physical networking interface need not be
+ present, and the virtual machines cannot talk to the world outside
+ the host since they are not connected to a physical networking
+ interface.
+ </p>
+ <p>
+ When host-only networking is used, Oracle VM 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
+ <i>loopback</i> interface is created on the host.
+ And whereas with internal networking, the traffic between the
+ virtual machines cannot be seen, the traffic on the loopback
+ interface on the host can be intercepted.
+ </p>
+ <note>
+ <p>
+ Hosts running recent macOS versions do not support host-only
+ adapters. These adapters are replaced by host-only networks,
+ which define a network mask and an IP address range, where the
+ host network interface receives the lowest address in the range.
+ </p>
+ <p>
+ The host network interface gets added and removed dynamically by
+ the operating system, whenever a host-only network is used by
+ virtual machines.
+ </p>
+ <p>
+ On macOS hosts, choose the <b outputclass="bold">Host-Only
+ Network</b> option when configuring a network adapter.
+ The <b outputclass="bold">Host-Only Adapter</b> option is
+ provided for legacy support.
+ </p>
+ </note>
+ <p>
+ Host-only networking is particularly useful for preconfigured
+ virtual appliances, where multiple virtual machines are shipped
+ together and designed to cooperate. For example, one virtual
+ machine may contain a web server and a second one a database, and
+ since they are intended to talk to each other, the appliance can
+ instruct Oracle VM VirtualBox to set up a host-only network for the two.
+ A second, bridged, network would then connect the web server to
+ the outside world to serve data to, but the outside world cannot
+ connect to the database.
+ </p>
+ <p>
+ To enable a host-only network interface for a virtual machine, do
+ either of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Go to the <b outputclass="bold">Network</b> page in the
+ virtual machine's <b outputclass="bold">Settings</b>
+ dialog and select an <b outputclass="bold">Adapter</b>
+ tab. Ensure that the <b outputclass="bold">Enable Network
+ Adapter</b> check box is selected and choose
+ <b outputclass="bold">Host-Only Adapter</b> for the
+ <b outputclass="bold">Attached To</b> field.
+ </p>
+ </li>
+ <li>
+ <p>
+ On the command line, use <userinput>VBoxManage modifyvm
+ vmname --nic <varname>x</varname> hostonly</userinput>. See
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For host-only networking, as with internal networking, you may
+ find the DHCP server useful that is built into Oracle VM VirtualBox.
+ This is enabled by default and manages the IP addresses in the
+ host-only network. Without the DHCP server you would need to
+ configure all IP addresses statically.
+ </p>
+ <ul>
+ <li>
+ <p>
+ In VirtualBox Manager you can configure the DHCP server by choosing
+ <b outputclass="bold">File</b>,
+ <b outputclass="bold">Tools</b>,
+ <b outputclass="bold">Network Manager</b>. The Network
+ Manager window lists all host-only networks which are
+ presently in use. Select the network name and then use the
+ <b outputclass="bold">DHCP Server</b> tab to configure
+ DHCP server settings. See <xref href="network-manager.dita#network-manager"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Alternatively, you can use the <userinput>VBoxManage
+ dhcpserver</userinput> command. See
+ <xref href="man_VBoxManage-dhcpserver.dita#vboxmanage-dhcpserver"/>.
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ On Linux and macOS hosts the number of host-only interfaces is
+ limited to 128. There is no such limit for Oracle Solaris and
+ Windows hosts.
+ </p>
+ </note>
+ <p>
+ On Linux, macOS and Solaris Oracle VM VirtualBox will only allow IP
+ addresses in 192.168.56.0/21 range to be assigned to host-only
+ adapters. For IPv6 only link-local addresses are allowed. If other
+ ranges are desired, they can be enabled by creating
+ <filepath>/etc/vbox/networks.conf</filepath> and specifying
+ allowed ranges there. For example, to allow 10.0.0.0/8 and
+ 192.168.0.0/16 IPv4 ranges as well as 2001::/64 range put the
+ following lines into <filepath>/etc/vbox/networks.conf</filepath>:
+ </p>
+ <pre xml:space="preserve"> * 10.0.0.0/8 192.168.0.0/16
+ * 2001::/64
+ </pre>
+ <p>
+ Lines starting with the hash <userinput>#</userinput> are ignored. The
+ following example allows any addresses, effectively disabling
+ range control:
+ </p>
+ <pre xml:space="preserve"> * 0.0.0.0/0 ::/0
+ </pre>
+ <p>
+ If the file exists, but no ranges are specified in it, no
+ addresses will be assigned to host-only adapters. The following
+ example effectively disables all ranges:
+ </p>
+ <pre xml:space="preserve"> # No addresses are allowed for host-only adapters
+ </pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_internal.dita b/doc/manual/en_US/dita/topics/network_internal.dita
new file mode 100644
index 00000000000..747ebeb9d58
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_internal.dita
@@ -0,0 +1,84 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_internal">
+ <title>Internal Networking</title>
+
+ <body>
+ <p>
+ Internal Networking is similar to bridged networking in that the
+ VM can directly communicate with the outside world. However, the
+ outside world is limited to other VMs on the same host which
+ connect to the same internal network.
+ </p>
+ <p>
+ Even though technically, everything that can be done using
+ internal networking can also be done using bridged networking,
+ there are security advantages with internal networking. In bridged
+ networking mode, all traffic goes through a physical interface of
+ the host system. It is therefore possible to attach a packet
+ sniffer such as Wireshark to the host interface and log all
+ traffic that goes over it. If, for 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.
+ </p>
+ <p>
+ Internal networks are created automatically as needed. There is no
+ central configuration. Every internal network is identified simply
+ by its name. Once there is more than one active virtual network
+ card with the same internal network ID, the Oracle VM VirtualBox support
+ driver will automatically <i>wire</i> the cards and
+ act as a network switch. The Oracle VM VirtualBox support driver
+ implements a complete Ethernet switch and supports both
+ broadcast/multicast frames and promiscuous mode.
+ </p>
+ <p>
+ In order to attach a VM's network card to an internal network, set
+ its networking mode to Internal Networking. There are two ways to
+ accomplish this:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Use the VM's <b outputclass="bold">Settings</b> window
+ in VirtualBox Manager. In the <b outputclass="bold">Network</b>
+ category of the Settings window, select
+ <b outputclass="bold">Internal Network</b> from the
+ drop-down list of networking modes. Select the name of an
+ existing internal network from the drop-down list below, or
+ enter a new name into the
+ <b outputclass="bold">Name</b> field.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the command line, for example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nic&lt;x&gt; intnet</pre>
+ <p>
+ Optionally, you can specify a network name with the command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --intnet&lt;x&gt; "network name"</pre>
+ <p>
+ If you do not specify a network name, the network card will be
+ attached to the network <codeph>intnet</codeph> by default.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Unless you configure the virtual network cards in the guest
+ operating systems that are participating in the internal network
+ to use static IP addresses, you may want to use the DHCP server
+ that is built into Oracle VM VirtualBox to manage IP addresses for the
+ internal network. See <xref href="man_VBoxManage-dhcpserver.dita#vboxmanage-dhcpserver"/>.
+ </p>
+ <p>
+ As a security measure, by default, the Linux implementation of
+ internal networking only allows VMs running under the same user ID
+ to establish an internal network. However, it is possible to
+ create a shared internal networking interface, accessible by users
+ with different user IDs.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_nat.dita b/doc/manual/en_US/dita/topics/network_nat.dita
new file mode 100644
index 00000000000..655c376b9bd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_nat.dita
@@ -0,0 +1,64 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_nat">
+ <title>Network Address Translation (NAT)</title>
+
+ <body>
+ <p>
+ 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
+ Oracle VM VirtualBox.
+ </p>
+ <p>
+ A virtual machine with NAT enabled acts much like a real computer
+ that connects to the Internet through a router. The router, in
+ this case, is the Oracle VM VirtualBox networking engine, which maps
+ traffic from and to the virtual machine transparently. In
+ Oracle VM VirtualBox this router is placed between each virtual machine
+ and the host. This separation maximizes security since by default
+ virtual machines cannot talk to each other.
+ </p>
+ <p>
+ The disadvantage of NAT mode is that, much like a private network
+ behind a router, the virtual machine is invisible and unreachable
+ from the outside internet. You cannot run a server this way unless
+ you set up port forwarding. See <xref href="natforward.dita#natforward"/>.
+ </p>
+ <p>
+ The network frames sent out by the guest operating system are
+ received by Oracle VM VirtualBox's NAT engine, which extracts the TCP/IP
+ data and resends it using the host operating system. To an
+ application on the host, or to another computer on the same
+ network as the host, it looks like the data was sent by the
+ Oracle VM VirtualBox application on the host, using an IP address
+ belonging to the host. Oracle VM VirtualBox listens for replies to the
+ packages sent, and repacks and resends them to the guest machine
+ on its private network.
+ </p>
+ <note>
+ <p>
+ Even though the NAT engine separates the VM from the host, the
+ VM has access to the host's loopback interface and the network
+ services running on it. The host's loopback interface is
+ accessible as IP address 10.0.2.2. This access to the host's
+ loopback interface can be extremely useful in some cases, for
+ example when running a web application under development in the
+ VM and the database server on the loopback interface on the
+ host.
+ </p>
+ </note>
+ <p>
+ The virtual machine receives its network address and configuration
+ on the private network from a DHCP server integrated into
+ Oracle VM VirtualBox. The IP address thus assigned to the virtual
+ machine is usually on a completely different network than the
+ host. As more than one card of a virtual machine can be set up to
+ use NAT, the first card is connected to the private network
+ 10.0.2.0, the second card to the network 10.0.3.0 and so on. If
+ you need to change the guest-assigned IP range, see
+ <xref href="changenat.dita">Fine Tuning the Oracle VM VirtualBox NAT Engine</xref>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_nat_service.dita b/doc/manual/en_US/dita/topics/network_nat_service.dita
new file mode 100644
index 00000000000..6a9ec13f1ce
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_nat_service.dita
@@ -0,0 +1,114 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_nat_service">
+ <title>Network Address Translation Service</title>
+
+ <body>
+ <p>
+ The Network Address Translation (NAT) service works in a similar
+ way to a home router, grouping the systems using it into a network
+ and preventing systems outside of this network from directly
+ accessing systems inside it, but letting systems inside
+ communicate with each other and with systems outside using TCP and
+ UDP over IPv4 and IPv6.
+ </p>
+ <p>
+ A NAT service is attached to an internal network. Virtual machines
+ which are to make use of it should be attached to that internal
+ network. The name of internal network is chosen when the NAT
+ service is created and the internal network will be created if it
+ does not already exist. The following is an example command to
+ create a NAT network:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable</pre>
+ <p>
+ Here, natnet1 is the name of the internal network to be used and
+ 192.168.15.0/24 is the network address and mask of the NAT service
+ interface. By default in this static configuration the gateway
+ will be assigned the address 192.168.15.1, the address following
+ the interface address, though this is subject to change. To attach
+ a DHCP server to the internal network, modify the example command
+ as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable --dhcp on</pre>
+ <p>
+ To add a DHCP server to an existing network, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork modify --netname natnet1 --dhcp on</pre>
+ <p>
+ To disable the DHCP server, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork modify --netname natnet1 --dhcp off</pre>
+ <p>
+ A DHCP server provides a list of registered nameservers, but does
+ not map servers from the 127/8 network.
+ </p>
+ <p>
+ To start the NAT service, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork start --netname natnet1</pre>
+ <p>
+ If the network has a DHCP server attached then it will start
+ together with the NAT network service.
+ </p>
+ <p>
+ To stop the NAT network service, together with any DHCP server:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork stop --netname natnet1</pre>
+ <p>
+ To delete the NAT network service:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork remove --netname natnet1</pre>
+ <p>
+ This command does not remove the DHCP server if one is enabled on
+ the internal network.
+ </p>
+ <p>
+ Port-forwarding is supported, using the
+ <codeph>--port-forward-4</codeph> switch for IPv4 and
+ <codeph>--port-forward-6</codeph> for IPv6. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork modify \
+ --netname natnet1 --port-forward-4 "ssh:tcp:[]:1022:[192.168.15.5]:22"</pre>
+ <p>
+ This adds a port-forwarding rule from the host's TCP 1022 port to
+ the port 22 on the guest with IP address 192.168.15.5. Host port,
+ guest port and guest IP are mandatory. To delete the rule, use the
+ following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete ssh</pre>
+ <p>
+ It is possible to bind a NAT service to specified interface. For
+ example:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global "NAT/win-nat-test-0/SourceIp4" 192.168.1.185</pre>
+ <p>
+ To see the list of registered NAT networks, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage list natnetworks</pre>
+ <p>
+ NAT networks can also be created, deleted, and configured using
+ the Network Manager tool in VirtualBox Manager. Click
+ <b outputclass="bold">File</b>, <b outputclass="bold">
+ Tools</b>, <b outputclass="bold">Network
+ Manager</b>. See <xref href="network-manager.dita#network-manager"/>.
+ </p>
+ <note>
+ <p>
+ Even though the NAT service separates the VM from the host, the
+ VM has access to the host's loopback interface and the network
+ services running on it. The host's loopback interface is
+ accessible as IP address 10.0.2.2 (assuming the default
+ configuration, in other configurations it's the respective
+ address in the configured IPv4 or IPv6 network range). This
+ access to the host's loopback interface can be extremely useful
+ in some cases, for example when running a web application under
+ development in the VM and the database server on the loopback
+ interface on the host.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_performance.dita b/doc/manual/en_US/dita/topics/network_performance.dita
new file mode 100644
index 00000000000..898b77347b1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_performance.dita
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_performance">
+ <title>Improving Network Performance</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox provides a variety of virtual network adapters that
+ can be attached to the host's network in a number of ways.
+ Depending on which types of adapters and attachments are used the
+ network performance will be different. Performance-wise the virtio
+ network adapter is preferable over Intel PRO/1000 emulated
+ adapters, which are preferred over the PCNet family of adapters.
+ Both virtio and Intel PRO/1000 adapters enjoy the benefit of
+ segmentation and checksum offloading. Segmentation offloading is
+ essential for high performance as it allows for less context
+ switches, dramatically increasing the sizes of packets that cross
+ the VM/host boundary.
+ </p>
+ <note>
+ <p>
+ Neither virtio nor Intel PRO/1000 drivers for Windows XP support
+ segmentation offloading. Therefore Windows XP guests never reach
+ the same transmission rates as other guest types. Refer to MS
+ Knowledge base article 842264 for additional information.
+ </p>
+ </note>
+ <p>
+ Three attachment types: Internal, Bridged, and Host-Only, have
+ nearly identical performance. The Internal type is a little bit
+ faster and uses less CPU cycles as the packets never reach the
+ host's network stack. The NAT attachment type is the slowest and
+ most secure of all attachment types, as it provides network
+ address translation. The generic driver attachment is special and
+ cannot be considered as an alternative to other attachment types.
+ </p>
+ <p>
+ The number of CPUs assigned to VM does not improve network
+ performance and in some cases may hurt it due to increased
+ concurrency in the guest.
+ </p>
+ <p>
+ Here is a short summary of things to check in order to improve
+ network performance:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Whenever possible use the virtio network adapter. Otherwise,
+ use one of the Intel PRO/1000 adapters.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use a Bridged attachment instead of NAT.
+ </p>
+ </li>
+ <li>
+ <p>
+ Make sure segmentation offloading is enabled in the guest OS.
+ Usually it will be enabled by default. You can check and
+ modify offloading settings using the
+ <userinput>ethtool</userinput> command on Linux guests.
+ </p>
+ </li>
+ <li>
+ <p>
+ Perform a full detailed analysis of network traffic on the
+ VM's network adaptor using a third party tool such as
+ Wireshark. To do this, a promiscuous mode policy needs to be
+ used on the VM's network adaptor. Use of this mode is only
+ possible on the following network types: NAT Network, Bridged
+ Adapter, Internal Network, and Host-Only Adapter.
+ </p>
+ <p>
+ To setup a promiscuous mode policy, either select from the
+ drop down list located in the <b outputclass="bold">Network
+ Settings</b> dialog for the network adaptor or use the
+ command line tool <userinput>VBoxManage</userinput>. See
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ <p>
+ Promiscuous mode policies are as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <codeph>deny</codeph>, which hides any traffic not
+ intended for the VM's network adaptor. This is the default
+ setting.
+ </p>
+ </li>
+ <li>
+ <p>
+ <codeph>allow-vms</codeph>, which hides all host traffic
+ from the VM's network adaptor, but allows it to see
+ traffic from and to other VMs.
+ </p>
+ </li>
+ <li>
+ <p>
+ <codeph>allow-all</codeph>, which removes all
+ restrictions. The VM's network adaptor sees all traffic.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/network_udp_tunnel.dita b/doc/manual/en_US/dita/topics/network_udp_tunnel.dita
new file mode 100644
index 00000000000..2bac240b80b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_udp_tunnel.dita
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_udp_tunnel">
+ <title>UDP Tunnel Networking</title>
+
+ <body>
+ <p>
+ This networking mode enables you to interconnect virtual machines
+ running on different hosts.
+ </p>
+ <p>
+ Technically this is done by encapsulating Ethernet frames sent or
+ received by the guest network card into UDP/IP datagrams, and
+ sending them over any network available to the host.
+ </p>
+ <p>
+ UDP Tunnel mode has the following parameters:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Source UDP port:</b> The port on
+ which the host listens. Datagrams arriving on this port from
+ any source address will be forwarded to the receiving part of
+ the guest network card.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Destination address:</b> IP
+ address of the target host of the transmitted data.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Destination UDP port:</b> Port
+ number to which the transmitted data is sent.
+ </p>
+ </li>
+ </ul>
+ <p>
+ When interconnecting two virtual machines on two different hosts,
+ their IP addresses must be swapped. On a single host, source and
+ destination UDP ports must be swapped.
+ </p>
+ <p>
+ In the following example, host 1 uses the IP address 10.0.0.1 and
+ host 2 uses IP address 10.0.0.2. To configure using the
+ command-line:
+ </p>
+ <pre xml:space="preserve"> VBoxManage modifyvm "VM 01 on host 1" --nic&lt;x&gt; generic
+ VBoxManage modifyvm "VM 01 on host 1" --nic-generic-drv&lt;x&gt; UDPTunnel
+ VBoxManage modifyvm "VM 01 on host 1" --nic-property&lt;x&gt; dest=10.0.0.2
+ VBoxManage modifyvm "VM 01 on host 1" --nic-property&lt;x&gt; sport=10001
+ VBoxManage modifyvm "VM 01 on host 1" --nic-property&lt;x&gt; dport=10002</pre>
+ <pre xml:space="preserve"> VBoxManage modifyvm "VM 02 on host 2" --nic&lt;y&gt; generic
+ VBoxManage modifyvm "VM 02 on host 2" --nic-generic-drv&lt;y&gt; UDPTunnel
+ VBoxManage modifyvm "VM 02 on host 2" --nic-property&lt;y&gt; dest=10.0.0.1
+ VBoxManage modifyvm "VM 02 on host 2" --nic-property&lt;y&gt; sport=10002
+ VBoxManage modifyvm "VM 02 on host 2" --nic-property&lt;y&gt; dport=10001</pre>
+ <p>
+ Of course, you can always interconnect two virtual machines on the
+ same host, by setting the destination address parameter to
+ 127.0.0.1 on both. It will act similarly to an internal network in
+ this case. However, the host can see the network traffic which it
+ could not in the normal internal network case.
+ </p>
+ <note>
+ <p>
+ On UNIX-based hosts, such as Linux, Oracle Solaris, and Mac OS
+ X, it is not possible to bind to ports below 1024 from
+ applications that are not run by <codeph>root</codeph>. As a
+ result, if you try to configure such a source UDP port, the VM
+ will refuse to start.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/network_vde.dita b/doc/manual/en_US/dita/topics/network_vde.dita
new file mode 100644
index 00000000000..02aee861a75
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/network_vde.dita
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="network_vde">
+ <title>VDE Networking</title>
+
+ <body>
+ <p>
+ Virtual Distributed Ethernet (VDE) is a flexible, virtual network
+ infrastructure system, spanning across multiple hosts in a secure
+ way. It enables L2/L3 switching, including spanning-tree protocol,
+ VLANs, and WAN emulation. It is an optional part of Oracle VM VirtualBox
+ which is only included in the source code.
+ </p>
+ <p>
+ VDE is a project developed by Renzo Davoli, Associate Professor at
+ the University of Bologna, Italy.
+ </p>
+ <p>
+ The basic building blocks of the infrastructure are VDE switches,
+ VDE plugs, and VDE wires which interconnect the switches.
+ </p>
+ <p>
+ The Oracle VM VirtualBox VDE driver has a single parameter: VDE network.
+ This is the name of the VDE network switch socket to which the VM
+ will be connected.
+ </p>
+ <p>
+ The following basic example shows how to connect a virtual machine
+ to a VDE switch.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Create a VDE switch:
+ </p>
+ <pre xml:space="preserve">vde_switch -s /tmp/switch1</pre>
+ </li>
+ <li>
+ <p>
+ Configure VMs using the command-line:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nic&lt;x&gt; generic</pre>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nic-generic-drv&lt;x&gt; VDE</pre>
+ <p>
+ To connect to an automatically allocated switch port:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nic-property&lt;x&gt; network=/tmp/switch1</pre>
+ <p>
+ To connect to a specific switch port
+ <varname>n</varname>:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "VM name" --nic-property&lt;x&gt; network=/tmp/switch1[&lt;n&gt;]</pre>
+ <p>
+ This command can be useful for VLANs.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Map between a VDE switch port and a VLAN.
+ </p>
+ <p>
+ Using the switch command line:
+ </p>
+ <pre xml:space="preserve">vde$ vlan/create &lt;VLAN&gt;</pre>
+ <pre xml:space="preserve">vde$ port/setvlan &lt;port&gt; &lt;VLAN&gt;</pre>
+ </li>
+ </ol>
+ <p>
+ VDE is available on Linux and FreeBSD hosts only. It is only
+ available if the VDE software and the VDE plugin library from the
+ VirtualSquare project are installed on the host system.
+ </p>
+ <note>
+ <p>
+ For Linux hosts, the shared library libvdeplug.so must be
+ available in the search path for shared libraries.
+ </p>
+ </note>
+ <p>
+ For more information on setting up VDE networks, please see the
+ documentation accompanying the software. See also
+ <ph>http://wiki.virtualsquare.org</ph>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/networkingdetails.dita b/doc/manual/en_US/dita/topics/networkingdetails.dita
new file mode 100644
index 00000000000..d3f75cfab52
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/networkingdetails.dita
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="networkingdetails">
+ <title>Virtual Networking</title>
+
+ <body>
+ <p>
+ As mentioned in <xref href="settings-network.dita#settings-network"/>, Oracle VM VirtualBox
+ provides up to eight virtual PCI Ethernet cards for each virtual
+ machine. For each such card, you can individually select the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The hardware that will be virtualized.
+ </p>
+ </li>
+ <li>
+ <p>
+ The virtualization mode that the virtual card operates in, with
+ respect to your physical networking hardware on the host.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Four of the network cards can be configured in the
+ <b outputclass="bold">Network</b> section of the
+ <b outputclass="bold">Settings</b> window in VirtualBox Manager. You
+ can configure all eight network cards on the command line using
+ <userinput>VBoxManage modifyvm</userinput>. See
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ <p>
+ This chapter explains the various networking settings in more
+ detail.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/networkingmodes.dita b/doc/manual/en_US/dita/topics/networkingmodes.dita
new file mode 100644
index 00000000000..e6a0a9ff9a9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/networkingmodes.dita
@@ -0,0 +1,314 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="networkingmodes">
+ <title>Introduction to Networking Modes</title>
+
+ <body>
+ <p>
+ Each of the networking adapters can be separately configured to
+ operate in one of the following modes:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Not attached.</b> In this mode,
+ Oracle VM VirtualBox reports to the guest that a network card is
+ present, but that there is no connection. This is as if no
+ Ethernet cable was plugged into the card. Using this mode, it
+ is possible to <i>pull</i> the virtual Ethernet
+ cable and disrupt the connection, which can be useful to
+ inform a guest operating system that no network connection is
+ available and enforce a reconfiguration.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Network Address Translation
+ (NAT)</b>. If all you want is to browse the Web,
+ download files, and view email inside the guest, then this
+ default mode should be sufficient for you, and you can skip
+ the rest of this section. Please note that there are certain
+ limitations when using Windows file sharing. See
+ <xref href="nat-limitations.dita#nat-limitations"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">NAT Network.</b> A NAT network is
+ a type of internal network that allows outbound connections.
+ See <xref href="network_nat_service.dita#network_nat_service"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Bridged networking.</b> This is
+ for more advanced networking needs, such as network
+ simulations and running servers in a guest. When enabled,
+ Oracle VM VirtualBox connects to one of your installed network cards
+ and exchanges network packets directly, circumventing your
+ host operating system's network stack.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Internal networking.</b> This can
+ be used to create a different kind of software-based network
+ which is visible to selected virtual machines, but not to
+ applications running on the host or to the outside world.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Host-only networking.</b> This
+ can be used to create a network containing the host and a set
+ of virtual machines, without the need for the host's physical
+ network interface. Instead, a virtual network interface,
+ similar to a loopback interface, is created on the host,
+ providing connectivity among virtual machines and the host.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Cloud networking.</b> This can be
+ used to connect a local VM to a subnet on a remote cloud
+ service.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold"> Generic networking.</b> Rarely
+ used modes which share the same generic network interface, by
+ allowing the user to select a driver which can be included
+ with Oracle VM VirtualBox or be distributed in an extension pack.
+ </p>
+ <p>
+ The following sub-modes are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">UDP Tunnel:</b> Used to
+ interconnect virtual machines running on different hosts
+ directly, easily, and transparently, over an existing
+ network infrastructure.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">VDE (Virtual Distributed Ethernet)
+ networking:</b> Used to connect to a Virtual
+ Distributed Ethernet switch on a Linux or a FreeBSD host.
+ At the moment this option requires compilation of
+ Oracle VM VirtualBox from sources, as the Oracle packages do not
+ include it.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ The following table provides an overview of the most important
+ networking modes.
+ </p>
+ <table id="table-networking-modes">
+ <title>Overview of Networking Modes</title>
+ <tgroup cols="6">
+ <colspec align="left"/>
+ <colspec align="center"/>
+ <colspec align="center"/>
+ <colspec align="center"/>
+ <colspec align="center"/>
+ <colspec align="center"/>
+ <thead valign="middle">
+ <row>
+ <entry>
+ <b outputclass="bold">Mode</b>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">VM→Host</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">VM←Host</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">VM1↔VM2</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">VM→Net/LAN</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">VM←Net/LAN</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody valign="middle">
+ <row>
+ <entry>
+ <p>
+ Host-only
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry align="center">
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Internal
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Bridged
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ NAT
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <xref href="natforward.dita#natforward">Port forward</xref>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ –
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <xref href="natforward.dita#natforward">Port forward</xref>
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ NATservice
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <xref href="network_nat_service.dita#network_nat_service">Port forward</xref>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">+</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <xref href="network_nat_service.dita#network_nat_service">Port forward</xref>
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <p>
+ The following sections describe the available network modes in
+ more detail.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/nichardware.dita b/doc/manual/en_US/dita/topics/nichardware.dita
new file mode 100644
index 00000000000..236ed2ca4c7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/nichardware.dita
@@ -0,0 +1,107 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="nichardware">
+ <title>Virtual Networking Hardware</title>
+
+ <body>
+ <p>
+ For each card, you can individually select what kind of
+ <i>hardware</i> will be presented to the virtual
+ machine. Oracle VM VirtualBox can virtualize the following types of
+ networking hardware:
+ </p>
+ <ul>
+ <li>
+ <p>
+ AMD PCNet PCI II (Am79C970A)
+ </p>
+ </li>
+ <li>
+ <p>
+ AMD PCNet FAST III (Am79C973), the default setting
+ </p>
+ </li>
+ <li>
+ <p>
+ Intel PRO/1000 MT Desktop (82540EM)
+ </p>
+ </li>
+ <li>
+ <p>
+ Intel PRO/1000 T Server (82543GC)
+ </p>
+ </li>
+ <li>
+ <p>
+ Intel PRO/1000 MT Server (82545EM)
+ </p>
+ </li>
+ <li>
+ <p>
+ Paravirtualized network adapter (virtio-net)
+ </p>
+ </li>
+ </ul>
+ <p>
+ The PCNet FAST III is the default because it is supported by
+ nearly all operating systems, as well as by the GNU GRUB boot
+ manager. As an exception, the Intel PRO/1000 family adapters are
+ chosen for some guest operating system types that no longer ship
+ with drivers for the PCNet card, such as Windows Vista.
+ </p>
+ <p>
+ The Intel PRO/1000 MT Desktop type works with Windows Vista and
+ later versions. The T Server variant of the Intel PRO/1000 card is
+ recognized by Windows XP guests without additional driver
+ installation. The MT Server variant facilitates OVF imports from
+ other platforms.
+ </p>
+ <p>
+ The Paravirtualized network adapter (virtio-net) is special. If
+ you select this adapter, then Oracle VM VirtualBox does
+ <i>not</i> virtualize common networking hardware
+ that is supported by common guest operating systems. Instead,
+ Oracle VM VirtualBox expects a special software interface for
+ virtualized environments to be provided by the guest, thus
+ avoiding the complexity of emulating networking hardware and
+ improving network performance. Oracle VM VirtualBox provides support for
+ the industry-standard <i>virtio</i> networking
+ drivers, which are part of the open source KVM project.
+ </p>
+ <p>
+ The virtio networking drivers are available for the following
+ guest operating systems:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Linux kernels version 2.6.25 or later can be configured to
+ provide virtio support. Some distributions have also
+ back-ported virtio to older kernels.
+ </p>
+ </li>
+ <li>
+ <p>
+ For Windows 2000, XP, and Vista, virtio drivers can be
+ downloaded and installed from the KVM project web page:
+ </p>
+ <p><ph>http://www.linux-kvm.org/page/WindowsGuestDrivers</ph>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Oracle VM VirtualBox also has limited support for <i>jumbo
+ frames</i>. These are networking packets with more than
+ 1500 bytes of data, provided that you use the Intel card
+ virtualization and bridged networking. Jumbo frames are not
+ supported with the AMD networking devices. In those cases, jumbo
+ packets will silently be dropped for both the transmit and the
+ receive direction. Guest operating systems trying to use this
+ feature will observe this as a packet loss, which may lead to
+ unexpected application behavior in the guest. This does not cause
+ problems with guest operating systems in their default
+ configuration, as jumbo frames need to be explicitly enabled.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/otherextpacks.dita b/doc/manual/en_US/dita/topics/otherextpacks.dita
new file mode 100644
index 00000000000..731838a3674
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/otherextpacks.dita
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="otherextpacks">
+ <title>Other Extension Packs</title>
+
+ <body>
+ <p>
+ Another extension pack called VNC is available. This extension
+ pack is open source and replaces the previous integration of the
+ VNC remote access protocol. This is experimental code, and is
+ initially available in the Oracle VM VirtualBox source code package
+ only. It is to a large portion code contributed by users, and is
+ not supported in any way by Oracle.
+ </p>
+ <p>
+ The keyboard handling is severely limited, and only the US
+ keyboard layout works. Other keyboard layouts will have at least
+ some keys which produce the wrong results, often with quite
+ surprising effects, and for layouts which have significant
+ differences to the US keyboard layout it is most likely unusable.
+ </p>
+ <p>
+ It is possible to install both the Oracle VM VirtualBox Extension Pack
+ and VNC, but only one VRDE module can be active at any time. The
+ following command switches to the VNC VRDE module in VNC:
+ </p>
+ <pre xml:space="preserve">VBoxManage setproperty vrdeextpack VNC</pre>
+ <p>
+ Configuring the remote access works very similarly to VRDP, see
+ <xref href="vrde.dita#vrde"/>, with some limitations. VNC does not
+ support specifying several port numbers, and the authentication is
+ done differently. VNC can only deal with password authentication,
+ and there is no option to use password hashes. This leaves no
+ other choice than having a clear-text password in the VM
+ configuration, which can be set with the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM-name</varname> --vrde-property VNCPassword=secret</pre>
+ <p>
+ The user is responsible for keeping this password secret, and it
+ should be removed when a VM configuration is passed to another
+ person, for whatever purpose. Some VNC servers claim to have
+ encrypted passwords in the configuration. This is not true
+ encryption, it is only concealing the passwords, which is only as
+ secure as using clear-text passwords.
+ </p>
+ <p>
+ The following command switches back to VRDP, if installed:
+ </p>
+ <pre xml:space="preserve">VBoxManage setproperty vrdeextpack "Oracle VM VirtualBox Extension Pack"</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ovf-about.dita b/doc/manual/en_US/dita/topics/ovf-about.dita
new file mode 100644
index 00000000000..3db19c857f6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ovf-about.dita
@@ -0,0 +1,70 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ovf-about">
+ <title>About the OVF Format</title>
+
+ <body>
+ <p>
+ OVF is a cross-platform standard supported by many
+ virtualization products which enables the creation of ready-made
+ virtual machines that can then be imported into a hypervisor
+ such as Oracle VM VirtualBox. Oracle VM VirtualBox makes OVF import and
+ export easy to do, using VirtualBox Manager or the command-line
+ interface.
+ </p>
+ <p>
+ Using OVF enables packaging of <i>virtual
+ appliances</i>. These are disk images, together with
+ configuration settings that can be distributed easily. This way
+ one can offer complete ready-to-use software packages, including
+ OSes with applications, that need no configuration or
+ installation except for importing into Oracle VM VirtualBox.
+ </p>
+ <note>
+ <p>
+ The OVF standard is complex, and support in Oracle VM VirtualBox is
+ an ongoing process. In particular, no guarantee is made that
+ Oracle VM VirtualBox supports all appliances created by other
+ virtualization software. For a list of known limitations, see
+ <xref href="KnownIssues.dita">Known Limitations</xref>.
+ </p>
+ </note>
+ <p>
+ Appliances in OVF format can appear in the following variants:
+ </p>
+ <ul>
+ <li>
+ <p>
+ They can come in several files, as one or several disk
+ images, typically in the widely-used VMDK format. See
+ <xref href="vdidetails.dita"/>. They also include a textual
+ description file in an XML dialect with an
+ <filepath>.ovf</filepath> extension. These files must then
+ reside in the same directory for Oracle VM VirtualBox to be able
+ to import them.
+ </p>
+ </li>
+ <li>
+ <p>
+ Alternatively, the above files can be packed together into a
+ single archive file, typically with an
+ <filepath>.ova</filepath> extension. Such archive files use
+ a variant of the TAR archive format and can therefore be
+ unpacked outside of Oracle VM VirtualBox with any utility that can
+ unpack standard TAR files.
+ </p>
+ </li>
+ </ul>
+ <note>
+ <p>
+ OVF cannot describe snapshots that were taken for a virtual
+ machine. As a result, when you export a virtual machine that
+ has snapshots, only the current state of the machine will be
+ exported. The disk images in the export will have a
+ <i>flattened</i> state identical to the current
+ state of the virtual machine.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ovf-export-appliance.dita b/doc/manual/en_US/dita/topics/ovf-export-appliance.dita
new file mode 100644
index 00000000000..297725b4c5d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ovf-export-appliance.dita
@@ -0,0 +1,100 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ovf-export-appliance">
+ <title>Exporting an Appliance in OVF Format</title>
+
+ <body>
+ <p>
+ The following steps show how to export an appliance in OVF
+ format.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Select <b outputclass="bold">File</b>,
+ <b outputclass="bold"> Export Appliance</b> to
+ display the <b outputclass="bold">Export Virtual
+ Appliance</b> wizard.
+ </p>
+ <p>
+ On the initial <b outputclass="bold">Virtual
+ Machines</b> page, you can combine several VMs into
+ an OVF appliance.
+ </p>
+ <p>
+ Select one or more VMs to export, and click
+ <b outputclass="bold">Next</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ The <b outputclass="bold">Format Settings</b> page
+ enables you to configure the following settings:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Format:</b> Selects the
+ <b outputclass="bold">Open Virtualization
+ Format</b> value for the output files.
+ </p>
+ <p>
+ The <b outputclass="bold">Oracle Cloud Infrastructure</b> value exports
+ the appliance to Oracle Cloud Infrastructure. See
+ <xref href="cloud-export-oci.dita#cloud-export-oci"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">File:</b> Selects the
+ location in which to store the exported files.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">MAC Address Policy:</b>
+ Specifies whether to retain or reassign network card MAC
+ addresses on export.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Write Manifest File:</b>
+ Enables you to include a manifest file in the exported
+ archive file.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Include ISO Image
+ Files:</b> Enables you to include ISO image files
+ in the exported archive file.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Next</b> to show the
+ <b outputclass="bold">Appliance Settings</b> page.
+ </p>
+ <p>
+ You can edit settings for the virtual appliance. For
+ example, you can change the name of the virtual appliance or
+ add product information, such as vendor details or license
+ text.
+ </p>
+ <p>
+ Double-click the appropriate field to change its value.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Finish</b> to begin the
+ export process. Note that this operation might take several
+ minutes.
+ </p>
+ </li>
+ </ol>
+ <p>
+ You can use the <userinput>VBoxManage export</userinput> command to
+ export an appliance. See <xref href="man_VBoxManage-export.dita#vboxmanage-export"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ovf-import-appliance.dita b/doc/manual/en_US/dita/topics/ovf-import-appliance.dita
new file mode 100644
index 00000000000..8c486ebe0c2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ovf-import-appliance.dita
@@ -0,0 +1,103 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ovf-import-appliance">
+ <title>Importing an Appliance in OVF Format</title>
+
+ <body>
+ <p>
+ The following steps show how to import an appliance in OVF
+ format.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Double-click on the OVF or OVA file.
+ </p>
+ <p>
+ Oracle VM VirtualBox creates file type associations automatically
+ for any OVF and OVA files on your host OS.
+ </p>
+ <p>
+ The <b outputclass="bold">Appliance Settings</b> page
+ of the <b outputclass="bold">Import Virtual
+ Appliance</b> wizard is shown.
+ </p>
+ <fig id="fig-import-appliance">
+ <title>Import Virtual Appliance Wizard: Appliance Settings</title>
+ <image href="images/ovf-import.png" placement="break"/>
+ </fig>
+ </li>
+ <li>
+ <p>
+ The <b outputclass="bold">Appliance Settings</b> page
+ shows the VMs described in the OVF or OVA file and enables
+ you to change the VM settings.
+ </p>
+ <p>
+ By default, membership of VM groups is preserved on import
+ for VMs that were initially exported from Oracle VM VirtualBox.
+ You can change this behavior by using the
+ <b outputclass="bold">Primary Group</b> setting for
+ the VM.
+ </p>
+ <p>
+ The following global settings apply to all of the VMs that
+ you import:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Base Folder:</b> Specifies
+ the directory on the host in which to store the imported
+ VMs.
+ </p>
+ <p>
+ If an appliance has multiple VMs, you can specify a
+ different directory for each VM by editing the
+ <b outputclass="bold">Base Folder</b> setting for
+ the VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">MAC Address Policy:</b>
+ Reinitializes the MAC addresses of network cards in your
+ VMs prior to import, by default. You can override the
+ default behavior and preserve the MAC addresses on
+ import.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Import Hard Drives as
+ VDI:</b> Imports hard drives in the VDI format
+ rather than in the default VMDK format.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Finish</b> to import the
+ appliance.
+ </p>
+ <p>
+ Oracle VM VirtualBox copies the disk images and creates local VMs
+ with the settings described on the
+ <b outputclass="bold">Appliance Settings</b> page.
+ The imported VMs are shown in the list of VMs in VirtualBox
+ Manager.
+ </p>
+ <p>
+ Because disk images are large, the VMDK images that are
+ included with virtual appliances are shipped in a compressed
+ format that cannot be used directly by VMs. So, the images
+ are first unpacked and copied, which might take several
+ minutes.
+ </p>
+ </li>
+ </ol>
+ <p>
+ You can use the <userinput>VBoxManage import</userinput> command to
+ import an appliance. See <xref href="man_VBoxManage-import.dita#vboxmanage-import"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ovf.dita b/doc/manual/en_US/dita/topics/ovf.dita
new file mode 100644
index 00000000000..30b7921caa0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ovf.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ovf">
+ <title>Importing and Exporting Virtual Machines</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox can import and export virtual machines in the
+ following formats:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Open Virtualization Format
+ (OVF).</b> This is the industry-standard format. See
+ <xref href="ovf-about.dita#ovf-about"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Cloud service formats.</b> Export
+ to and import from cloud services such as Oracle Cloud Infrastructure is supported.
+ See <xref href="cloud-integration.dita#cloud-integration"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/pcspeaker_passthrough.dita b/doc/manual/en_US/dita/topics/pcspeaker_passthrough.dita
new file mode 100644
index 00000000000..bd81c07d0af
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/pcspeaker_passthrough.dita
@@ -0,0 +1,226 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="pcspeaker_passthrough">
+ <title>PC Speaker Passthrough</title>
+
+ <body>
+ <p>
+ As an experimental feature, primarily due to being limited to
+ Linux host only and unknown Linux distribution coverage,
+ Oracle VM 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.
+ </p>
+ <p>
+ The PC speaker passthrough feature in Oracle VM VirtualBox handles beeps
+ only. Advanced PC speaker use by the VM, such as PCM audio, will
+ not work, resulting in undefined host behavior.
+ </p>
+ <p>
+ Producing beeps on Linux is a very complex topic. Oracle VM 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.
+ </p>
+ <table id="table-pcspeaker-config">
+ <title>PC Speaker Configuration Options</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Code</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Device</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Notes</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ 1
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <filepath>/dev/input/by-path/platform-pcspkr-event-spkr</filepath>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Direct host PC speaker use.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ 2
+ </p>
+ </entry>
+ <entry>
+ <filepath>/dev/tty</filepath>
+ </entry>
+ <entry>
+ <p>
+ Uses the terminal association of the VM process. VM
+ needs to be started on a virtual console.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ 3
+ </p>
+ </entry>
+ <entry>
+ <p><filepath>/dev/tty0</filepath> or
+ <filepath>/dev/vc/0</filepath>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Can only be used by user <codeph>root</codeph> or
+ users with <codeph>cap_sys_tty_config</codeph>
+ capability.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ 9
+ </p>
+ </entry>
+ <entry>
+ <p>
+ A user-specified console or evdev device path.
+ </p>
+ </entry>
+ <entry>
+ <p>
+ As for codes 1 to 3, but with a custom device path.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ 70
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <filepath>/dev/tty</filepath>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Standard beep only. Loses frequency and length. See code
+ 2.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ 79
+ </p>
+ </entry>
+ <entry>
+ <p>
+ A user-specified terminal device path.
+ </p>
+ </entry>
+ <entry>
+ <p>
+ As for code 70, but with a custom device path.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ 100
+ </p>
+ </entry>
+ <entry>
+ <p>
+ All of the above.
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Tries all the available codes.
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <p>
+ To enable PC speaker passthrough use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/Devices/i8254/0/Config/PassthroughSpeaker" <varname>N</varname>
+ </pre>
+ <p>
+ Replace <varname>N</varname> 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.
+ </p>
+ <p>
+ The VM log file, <filepath>VBox.log</filepath>, contains lines
+ with the prefix <codeph>PIT: speaker:</codeph> showing the PC
+ speaker passthrough setup activities. It gives hints which device
+ it picked or why it failed.
+ </p>
+ <p>
+ Enabling PC speaker passthrough for the VM is usually the simple
+ part. The real difficulty is making sure that Oracle VM VirtualBox can
+ access the necessary device, because in a typical Linux install
+ most of them can only be accessed by user <codeph>root</codeph>.
+ 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.
+ </p>
+ <p>
+ 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 VM VirtualBox. The table above contains
+ some hints, but in general refer to the Linux documentation.
+ </p>
+ <p>
+ 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.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/pot-insecure.dita b/doc/manual/en_US/dita/topics/pot-insecure.dita
new file mode 100644
index 00000000000..6bb498c543b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/pot-insecure.dita
@@ -0,0 +1,88 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="pot-insecure">
+ <title>Potentially Insecure Operations</title>
+
+ <body>
+ <p>
+ The following features of Oracle VM VirtualBox can present security
+ problems:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Enabling 3D graphics using the Guest Additions exposes the
+ host to additional security risks. See
+ <xref href="guestadd-3d.dita">Hardware 3D Acceleration (OpenGL and Direct3D 8/9)</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ When teleporting a machine, the data stream through which
+ the machine's memory contents are transferred from one host
+ to another is not encrypted. A third party with access to
+ the network through which the data is transferred could
+ therefore intercept that data. An SSH tunnel could be used
+ to secure the connection between the two hosts. But when
+ considering teleporting a VM over an untrusted network the
+ first question to answer is how both VMs can securely access
+ the same virtual disk image with a reasonable performance.
+ </p>
+ <p>
+ If the network is not sufficiently trusted, the password
+ should be changed for each teleportation as a third party
+ could detect the unecrypted password hash when it is
+ transferred between the target and source host machines.
+ </p>
+ </li>
+ <li>
+ <p>
+ When <xref href="guestadd-pagefusion.dita">Page Fusion</xref>,
+ is enabled, it is possible that a side-channel opens up that
+ enables a malicious guest to determine the address space of
+ another VM running on the same host layout. For example,
+ where DLLs are typically loaded. This information leak in
+ itself is harmless, however the malicious guest may use it
+ to optimize attack against that VM through unrelated attack
+ vectors. It is recommended to only enable Page Fusion if you
+ do not think this is a concern in your setup.
+ </p>
+ </li>
+ <li>
+ <p>
+ When using the Oracle VM VirtualBox web service to control an
+ Oracle VM VirtualBox host remotely, connections to the web
+ service, over which the API calls are transferred using SOAP
+ XML, are not encrypted. They use plain HTTP by default. This
+ is a potential security risk. For details about the web
+ service, see <xref href="VirtualBoxAPI.dita#VirtualBoxAPI"/>.
+ </p>
+ <p>
+ The web services are not started by default. See
+ <xref href="vboxwebsrv-daemon.dita#vboxwebsrv-daemon"/> to find out how to start
+ this service and how to enable SSL/TLS support. It has to be
+ started as a regular user and only the VMs of that user can
+ be controlled. By default, the service binds to localhost
+ preventing any remote connection.
+ </p>
+ </li>
+ <li>
+ <p>
+ Traffic sent over a UDP Tunnel network attachment is not
+ encrypted. You can either encrypt it on the host network
+ level, with IPsec, or use encrypted protocols in the guest
+ network, such as SSH. The security properties are similar to
+ bridged Ethernet.
+ </p>
+ </li>
+ <li>
+ <p>
+ Because of shortcomings in older Windows versions, using
+ Oracle VM VirtualBox on Windows versions older than Vista with
+ Service Pack 1 is not recommended.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface-accessibility.dita b/doc/manual/en_US/dita/topics/preface-accessibility.dita
new file mode 100755
index 00000000000..3c30b5e2daa
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface-accessibility.dita
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface-accessibility">
+ <title>Access to Oracle Support for Accessibility</title>
+ <body>
+ <section id="accessibility-body">
+ <p> Oracle customers that have purchased support have access to electronic support through My
+ Oracle Support. For information, visit <xref href="https://www.oracle.com/corporate/accessibility/learning-support.html#support-tab" format="html" scope="external"/>. </p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface-audience.dita b/doc/manual/en_US/dita/topics/preface-audience.dita
new file mode 100644
index 00000000000..2b7a189483d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface-audience.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface-audience">
+ <title>Audience</title>
+
+ <body>
+ <p>
+ This document is intended for administrators with previous
+ experience of using Oracle VM VirtualBox. It is assumed that readers are
+ familiar with Web technologies and have a general understanding of
+ Windows and UNIX platforms.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface-conventions.dita b/doc/manual/en_US/dita/topics/preface-conventions.dita
new file mode 100755
index 00000000000..9216db41f25
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface-conventions.dita
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface-conventions">
+ <title id="conventions-title">Conventions</title>
+ <body>
+ <section id="conventions-body">
+ <p>
+ The following text conventions are used in this document:
+ </p>
+ <table frame="all">
+ <desc>
+ <ph>This table summarizes conventions used in this
+ document.</ph>
+ </desc>
+ <tgroup cols="2">
+ <colspec colnum="1" colwidth="25*"/>
+ <colspec colnum="2" colwidth="75*"/>
+ <thead>
+ <row>
+ <entry outputclass="col">
+ <p>
+ Convention
+ </p>
+ </entry>
+ <entry outputclass="col">
+ <p>
+ Meaning
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry outputclass="row">
+ <p>
+ <b>boldface</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Boldface type indicates graphical user interface
+ elements associated with an action, or terms defined
+ in text or the glossary.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry outputclass="row">
+ <p>
+ <i>italic</i>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Italic type indicates book titles, emphasis, or
+ placeholder variables for which you supply particular
+ values.
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry outputclass="row">
+ <p>
+ <codeph>monospace</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Monospace type indicates commands within a paragraph,
+ URLs, code in examples, text that appears on the
+ screen, or text that you enter.
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface-diversity.dita b/doc/manual/en_US/dita/topics/preface-diversity.dita
new file mode 100755
index 00000000000..0f2f54e0d47
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface-diversity.dita
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface-diversity">
+ <title id="diversity-title">Diversity and Inclusion</title>
+ <body>
+ <section id="diversity-body">
+ <p>Oracle is fully committed to diversity and inclusion. Oracle respects and values having a
+ diverse workforce that increases thought leadership and innovation. As part of our
+ initiative to build a more inclusive culture that positively impacts our employees,
+ customers, and partners, we are working to remove insensitive terms from our products and
+ documentation. We are also mindful of the necessity to maintain compatibility with our
+ customers' existing technologies and the need to ensure continuity of service as Oracle's
+ offerings and industry standards evolve. Because of these technical constraints, our effort
+ to remove insensitive terms is ongoing and will take time and external cooperation.</p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface-doc-accessibility.dita b/doc/manual/en_US/dita/topics/preface-doc-accessibility.dita
new file mode 100755
index 00000000000..93723a48828
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface-doc-accessibility.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface-doc-accessibility">
+ <title id="doc-accessibility-title">Documentation Accessibility</title>
+ <body>
+ <section id="doc-accessibility-body">
+ <p> For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
+ Program website at <xref href="http://www.oracle.com/pls/topic/lookup?ctx=acc&amp;id=docacc" format="html" scope="external"/>. </p>
+ <p>For information about the accessibility of the Oracle Help Center, see the Oracle
+ Accessibility Conformance Report at <xref href="https://www.oracle.com/corporate/accessibility/templates/t2-11535.html" format="html" scope="external"/>.</p>
+ </section>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface-reldocs.dita b/doc/manual/en_US/dita/topics/preface-reldocs.dita
new file mode 100644
index 00000000000..031a2bfb379
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface-reldocs.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface-reldocs">
+ <title>Related Documents</title>
+
+ <body>
+ <p>
+ The documentation for this product is available at:
+ </p>
+ <p>
+ <xref href="https://docs.oracle.com/en/virtualization/virtualbox/index.html" scope="external" format="html"/>
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preface.dita b/doc/manual/en_US/dita/topics/preface.dita
new file mode 100644
index 00000000000..29851230056
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preface.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preface">
+ <title>Preface</title>
+
+ <body>
+ <p>
+ This document provides information on the advanced features
+ of Oracle VM VirtualBox.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/preferences.dita b/doc/manual/en_US/dita/topics/preferences.dita
new file mode 100644
index 00000000000..6fa566bc59b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/preferences.dita
@@ -0,0 +1,83 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="preferences">
+ <title>Preferences</title>
+
+ <body>
+ <p>
+ The Preferences window offers a selection of settings, which apply
+ to all virtual machines of the current user.
+ </p>
+ <p>
+ To display the Preferences window, do either of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Select <b outputclass="bold">File</b>,
+ <b outputclass="bold">Preferences</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Click <b outputclass="bold">Preferences</b> on the
+ Welcome screen in VirtualBox Manager.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The following settings are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">General.</b> Enables you to
+ specify the default folder or directory for VM files, and the
+ VRDP Authentication Library.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Input.</b> Enables you to specify
+ keyboard shortcuts, such as the <b outputclass="bold">Host
+ key</b>. This is the key that toggles whether the
+ cursor is in the focus of the VM or the Host OS windows, see
+ <xref href="keyb_mouse_normal.dita#keyb_mouse_normal"/>. The Host key is also used
+ to trigger certain VM actions, see
+ <xref href="specialcharacters.dita#specialcharacters"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Update.</b> Enables you to
+ specify various settings for Automatic Updates.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Language.</b> Enables you to
+ specify the language used for menus, labels, and text in
+ VirtualBox Manager.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Display.</b> Enables you to
+ specify the screen resolution, and its width and height. A
+ default scale factor can be specified for all guest screens.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Proxy.</b> Enables you to
+ configure an HTTP Proxy Server.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Interface.</b> Enables you to
+ select a color theme for the VirtualBox Manager user interface.
+ </p>
+ <note>
+ <p>
+ This setting is only available on Windows host platforms.
+ </p>
+ </note>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/privacy.dita b/doc/manual/en_US/dita/topics/privacy.dita
new file mode 100644
index 00000000000..a4dfc0a5ee5
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/privacy.dita
@@ -0,0 +1,76 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="privacy">
+ <title>Oracle VM VirtualBox Privacy Information</title>
+
+ <body>
+ <p>
+ Version 5, Dec 13, 2012
+ </p>
+ <p>
+ The Oracle Privacy Policies posted on
+ <ph>https://www.oracle.com/legal/privacy/privacy-policy.html</ph>
+ 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 VM VirtualBox application and
+ Oracle, and which information is collected by the virtualbox.org
+ website.
+ </p>
+ <p><b outputclass="bold">§ 1 virtualbox.org.</b> 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, the website's bug tracking and forum services
+ store the data you choose to reveal upon registration, such as your
+ user name and contact information.
+ </p>
+ <p><b outputclass="bold">§ 2 Cookies.</b> 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 most likely not work without them.
+ </p>
+ <p><b outputclass="bold">§ 3 Oracle VM VirtualBox registration
+ process.</b> The Oracle VM VirtualBox application may ask that the
+ user optionally register with Oracle. If you choose to register,
+ your name, e-mail address, country and company will be submitted to
+ Oracle and stored together with the IP address of the submitter as
+ well as product version and platform being used.
+ </p>
+ <p><b outputclass="bold">§ 4 Update notifications.</b> The
+ Oracle VM VirtualBox application may contact Oracle to find out whether a
+ new version of Oracle VM 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 VM VirtualBox preferences.
+ </p>
+ <p><b outputclass="bold">§ 5 Usage of personal information.</b>
+ 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 VM VirtualBox.
+ </p>
+ <p>
+ 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.
+ </p>
+ <p><b outputclass="bold">§ 6 Updates.</b> Oracle may update the
+ privacy policy at any time by posting a new version at
+ <ph>https://www.oracle.com/legal/privacy/privacy-policy.html</ph>
+ and the privacy information will be kept up to date in the
+ documentation which comes with the Oracle VM VirtualBox application. You
+ should check these places occasionally to ensure you are happy with
+ any changes.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/rawdisk-access-disk-partitions.dita b/doc/manual/en_US/dita/topics/rawdisk-access-disk-partitions.dita
new file mode 100644
index 00000000000..54c63eaeb8a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/rawdisk-access-disk-partitions.dita
@@ -0,0 +1,119 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="rawdisk-access-disk-partitions">
+ <title>Access to Individual Physical Hard Disk Partitions</title>
+
+ <body>
+ <p>
+ This <i>raw partition support</i> is quite
+ similar to the full hard disk access described above. However,
+ in this case, any partitioning information will be stored
+ inside the VMDK image. This means that you can install a
+ different boot loader in the virtual hard disk without
+ affecting the host's partitioning information. While the guest
+ will be able to <i>see</i> all partitions that
+ exist on the physical disk, access will be filtered in that
+ reading from partitions for which no access is allowed the
+ partitions will only yield zeroes, and all writes to them are
+ ignored.
+ </p>
+ <p>
+ To create a special image for raw partition support, which
+ will contain a small amount of data, on a Linux host, use the
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage createmedium disk --filename <varname>path-to-file</varname>.vmdk --format=VMDK
+--variant RawDisk --property RawDrive=/dev/sda --property Partitions=1,5</pre>
+ <p>
+ The command is identical to the one for full hard disk access,
+ except for the additional <codeph>--property</codeph>
+ Partitions=1,5 parameter. This example would create
+ the image
+ <filepath><varname>path-to-file</varname>.vmdk</filepath>,
+ which must be absolute, and partitions 1 and 5 of
+ <filepath>/dev/sda</filepath> would be made accessible to the
+ guest.
+ </p>
+ <p>
+ Oracle VM VirtualBox uses the same partition numbering as your Linux
+ host. As a result, the numbers given in the above example
+ would refer to the first primary partition and the first
+ logical drive in the extended partition, respectively.
+ </p>
+ <p>
+ On a Windows host, instead of the above device specification,
+ use for example <filepath>\\.\PhysicalDrive0</filepath>. On a
+ macOS host, instead of the above device specification use
+ <filepath>/dev/rdisk1</filepath>, for example. Note that on OS
+ X you can only use partitions which are not mounted. Unmount
+ the respective disk first using <i>diskutil unmountDisk
+ <filepath>/dev/diskX</filepath>
+ </i>. Partition numbers
+ are the same on Linux, Windows, and macOS hosts.
+ </p>
+ <p>
+ The numbers for the list of partitions can be taken from the
+ output of the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage list hostdrives</pre>
+ <p>
+ The output lists available drives and their partitions with
+ the partition types and sizes to give the user enough
+ information to identify the partitions necessary for the
+ guest.
+ </p>
+ <p>
+ Images which give access to individual partitions are specific
+ to a particular host disk setup. You cannot transfer these
+ images to another host. Also, whenever the host partitioning
+ changes, the image <i>must be recreated</i>.
+ </p>
+ <p>
+ Creating the image requires read/write access for the given
+ device. Read/write access is also later needed when using the
+ image from a virtual machine. If this is not feasible, there
+ is a special variant for raw partition access, currently only
+ available on Linux hosts, that avoids having to give the
+ current user access to the entire disk. To set up such an
+ image, use:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage createmedium disk --filename <varname>path-to-file</varname>.vmdk --format=VMDK
+--variant RawDisk --property RawDrive=/dev/sda --property Partitions=1,5
+--property Relative=1</pre>
+ <p>
+ When used from a virtual machine, the image will then refer
+ not to the entire disk, but only to the individual partitions.
+ In this example, <filepath>/dev/sda1</filepath> and
+ <filepath>/dev/sda5</filepath>. As a consequence, read/write
+ access is only required for the affected partitions, not for
+ the entire disk. During creation however, read-only access to
+ the entire disk is required to obtain the partitioning
+ information.
+ </p>
+ <p>
+ In some configurations it may be necessary to change the MBR
+ code of the created image. For example, to replace the Linux
+ boot loader that is used on the host by another boot loader.
+ This enables for example the guest to boot directly to
+ Windows, while the host boots Linux from the "same" disk. For
+ this purpose the <codeph>--property-file</codeph>
+ BootSector=<varname>path-to-file-with-boot-sector</varname>
+ parameter is provided. It specifies a file name from which to
+ take the MBR code. The partition table is not modified at all,
+ so a MBR file from a system with totally different
+ partitioning can be used. An example of this is:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage createmedium disk --filename <varname>path-to-file</varname>.vmdk --format=VMDK
+--variant RawDisk --property RawDrive=/dev/sda --property Partitions=1,5
+--property-file BootSector=winxp.mbr</pre>
+ <p>
+ The modified MBR will be stored inside the image, not on the
+ host disk.
+ </p>
+ <p>
+ The created image can be attached to a storage controller in a
+ VM configuration as usual.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/rawdisk-access-entire-physical-disk.dita b/doc/manual/en_US/dita/topics/rawdisk-access-entire-physical-disk.dita
new file mode 100644
index 00000000000..044e18f32a0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/rawdisk-access-entire-physical-disk.dita
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="rawdisk-access-entire-physical-disk">
+ <title>Access to Entire Physical Hard Disk</title>
+
+ <body>
+ <p>
+ While this variant is the simplest to set up, you must be
+ aware that this will give a guest operating system direct and
+ full access to an <i>entire physical disk</i>.
+ If your <i>host</i> operating system is also
+ booted from this disk, please take special care to not access
+ the partition from the guest at all. On the positive side, the
+ physical disk can be repartitioned in arbitrary ways without
+ having to recreate the image file that gives access to the raw
+ disk.
+ </p>
+ <p>
+ On a Linux host, 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, use the
+ following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage createmedium disk --filename <varname>path-to-file</varname>.vmdk --format=VMDK
+ --variant RawDisk --property RawDrive=/dev/sda</pre>
+ <p>
+ This creates the
+ <filepath><varname>path-to-file</varname>.vmdk</filepath>
+ file image that must be an absolute path. All data is read and
+ written from <filepath>/dev/sda</filepath>.
+ </p>
+ <p>
+ On a Windows host, instead of the above device specification,
+ for example use <filepath>\\.\PhysicalDrive0</filepath>. On a
+ macOS host, instead of the above device specification use for
+ example <filepath>/dev/rdisk1</filepath>. Note that on Mac OS
+ X you can only get access to an entire disk if no volume is
+ mounted from it.
+ </p>
+ <p>
+ Creating the image requires read/write access for the given
+ device. Read/write access is also later needed when using the
+ image from a virtual machine. On some host platforms, such as
+ Windows, raw disk access may be restricted and not permitted
+ by the host OS in some situations.
+ </p>
+ <p>
+ Just like with regular disk images, this does not
+ automatically attach the newly created image to a virtual
+ machine. This can be done as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage storageattach WindowsXP --storagectl "IDE Controller" \
+ --port 0 --device 0 --type hdd --medium <varname>path-to-file</varname>.vmdk</pre>
+ <p>
+ When this is done the selected virtual machine will boot from
+ the specified physical disk.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/rawdisk.dita b/doc/manual/en_US/dita/topics/rawdisk.dita
new file mode 100644
index 00000000000..6945e059a4c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/rawdisk.dita
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="rawdisk">
+ <title>Using a Raw Host Hard Disk From a Guest</title>
+
+ <body>
+ <p>
+ As an alternative to using virtual disk images as described in
+ <xref href="storage.dita">Virtual Storage</xref>, Oracle VM VirtualBox can also present
+ either entire physical hard disks or selected partitions as
+ virtual disks to virtual machines.
+ </p>
+ <p>
+ With Oracle VM VirtualBox, this type of access is called <i>raw
+ hard disk access</i>. It enables a guest operating system
+ to access its virtual hard disk without going through the host
+ OS file system. The actual performance difference for image
+ files compared to raw disk varies greatly depending on the
+ overhead of the host file system, whether dynamically growing
+ images are used, and on host OS caching strategies. The caching
+ indirectly also affects other aspects such as failure behavior.
+ For example, whether the virtual disk contains all data written
+ before a host OS crash. Consult your host OS documentation for
+ details on this.
+ </p>
+ <note type="attention">
+ <p>
+ Raw hard disk access is for expert users only. Incorrect use
+ or use of an outdated configuration can lead to
+ <b outputclass="bold">total loss of data</b> on the
+ physical disk. Most importantly, <i>do not</i>
+ attempt to boot the partition with the currently running host
+ operating system in a guest. This will lead to severe data
+ corruption.
+ </p>
+ </note>
+ <p>
+ Raw hard disk access, both for entire disks and individual
+ partitions, is implemented as part of the VMDK image format
+ support. As a result, you will need to create a special VMDK
+ image file which defines where the data will be stored. After
+ creating such a special VMDK image, you can use it like a
+ regular virtual disk image. For example, you can use the Virtual
+ Media Manager, see <xref href="virtual-media-manager.dita">The Virtual Media Manager</xref>, or
+ <userinput>VBoxManage</userinput> to assign the image to a virtual
+ machine.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/rdp-viewers.dita b/doc/manual/en_US/dita/topics/rdp-viewers.dita
new file mode 100644
index 00000000000..31dfc5064fb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/rdp-viewers.dita
@@ -0,0 +1,114 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="rdp-viewers">
+ <title>Common Third-Party RDP Viewers</title>
+
+ <body>
+ <p>
+ Since VRDP is backwards-compatible to RDP, you can use any
+ standard RDP viewer to connect to such a remote virtual machine.
+ For this to work, you must specify the IP address of your
+ <i>host</i> system, not of the virtual machine, as
+ the server address to connect to. You must also specify the port
+ number that the VRDP server is using.
+ </p>
+ <p>
+ The following examples are for the most common RDP viewers:
+ </p>
+ <ul>
+ <li>
+ <p>
+ On Windows, you can use the Microsoft Terminal Services
+ Connector, <userinput>mstsc.exe</userinput>, that is included
+ with Windows. Press the Windows key + R, to display the
+ <b outputclass="bold">Run</b> dialog. Enter
+ <userinput>mstsc</userinput> to start the program. You can also
+ find the program in <b outputclass="bold">Start</b>,
+ <b outputclass="bold">All Programs</b>,
+ <b outputclass="bold">Accessories</b>,
+ <b outputclass="bold">Remote Desktop Connection</b>.
+ If you use the <b outputclass="bold">Run</b> dialog,
+ you can enter options directly. For example:
+ </p>
+ <pre xml:space="preserve">mstsc 1.2.3.4:3389</pre>
+ <p>
+ Replace <codeph>1.2.3.4</codeph> with the host IP address,
+ and <codeph>3389</codeph> with a different port, if
+ necessary.
+ </p>
+ <note>
+ <ul>
+ <li>
+ <p>
+ IPv6 addresses must be enclosed in square brackets to
+ specify a port. For example: <codeph>mstsc
+ [fe80::1:2:3:4]:3389</codeph>
+ </p>
+ </li>
+ <li>
+ <p>
+ When connecting to localhost in order to test the
+ connection, the addresses <codeph>localhost</codeph>
+ and <codeph>127.0.0.1</codeph> might not work using
+ <userinput>mstsc.exe</userinput>. Instead, the address
+ <codeph>127.0.0.2[:3389]</codeph> has to be used.
+ </p>
+ </li>
+ </ul>
+ </note>
+ </li>
+ <li>
+ <p>
+ On other systems, you can use the standard open source
+ <userinput>rdesktop</userinput> program. This ships with most
+ Linux distributions.
+ </p>
+ <p>
+ With <userinput>rdesktop</userinput>, use a command line such as
+ the following:
+ </p>
+ <pre xml:space="preserve">$ rdesktop -a 16 -N 1.2.3.4:3389</pre>
+ <p>
+ Replace <codeph>1.2.3.4</codeph> with the host IP address,
+ and <codeph>3389</codeph> with a different port, if
+ necessary. The <codeph>-a</codeph> 16 option requests a
+ color depth of 16 bits per pixel, which we recommend. For
+ best performance, after installation of the guest operating
+ system, you should set its display color depth to the same
+ value. The <codeph>-N</codeph> option enables use of the
+ NumPad keys.
+ </p>
+ </li>
+ <li>
+ <p>
+ You can use the Remmina remote desktop client with VRDP.
+ This application is included with some Linux distributions,
+ such as Debian and Ubuntu.
+ </p>
+ </li>
+ <li>
+ <p>
+ If you run the KDE desktop, you can use
+ <userinput>krdc</userinput>, the KDE RDP viewer. A typical
+ command line is as follows:
+ </p>
+ <pre xml:space="preserve">$ krdc rdp://1.2.3.4:3389</pre>
+ <p>
+ Replace <codeph>1.2.3.4</codeph> with the host IP address,
+ and <codeph>3389</codeph> with a different port, if
+ necessary. The <codeph>rdp:// </codeph> prefix is required
+ with <userinput>krdc</userinput> to switch it into RDP mode.
+ </p>
+ </li>
+ <li>
+ <p>
+ With Sun Ray thin clients you can use
+ <userinput>uttsc</userinput>, which is part of the Sun Ray
+ Windows Connector package. See the Sun Ray documentation for
+ details.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/remotevm.dita b/doc/manual/en_US/dita/topics/remotevm.dita
new file mode 100644
index 00000000000..9fae1fc0f5d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/remotevm.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="remotevm">
+ <title>Remote Virtual Machines</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/restrict-network-attachments.dita b/doc/manual/en_US/dita/topics/restrict-network-attachments.dita
new file mode 100644
index 00000000000..f5fb1e3cba8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/restrict-network-attachments.dita
@@ -0,0 +1,90 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="restrict-network-attachments">
+ <title>Removing Certain Modes of Networking From the GUI</title>
+
+ <body>
+ <p>
+ It is possible to remove networking modes from Oracle VM VirtualBox
+ GUI. To do this, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/RestrictedNetworkAttachmentTypes <varname>property</varname>[,<varname>property</varname>...]</pre>
+ <p><varname>property</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>NAT</codeph>
+ </dt>
+ <dd>
+ <p>
+ Remove the <b outputclass="bold">NAT</b> option
+ from the GUI.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>NATNetwork</codeph>
+ </dt>
+ <dd>
+ <p>
+ Remove the <b outputclass="bold">NAT network</b>
+ option from the GUI.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>BridgedAdapter</codeph>
+ </dt>
+ <dd>
+ <p>
+ Remove the <b outputclass="bold">Bridged
+ networking</b> option from the GUI.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>InternalNetwork</codeph>
+ </dt>
+ <dd>
+ <p>
+ Remove the <b outputclass="bold">Internal
+ networking</b> option from the GUI.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>HostOnlyAdapter</codeph>
+ </dt>
+ <dd>
+ <p>
+ Remove the <b outputclass="bold">Host Only
+ networking</b> option from the GUI.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>GenericDriver</codeph>
+ </dt>
+ <dd>
+ <p>
+ Remove the <b outputclass="bold">Generic
+ networking</b> option from the GUI.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a global setting. You can specify any combination of
+ properties. To restore the default behavior, use the following
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global GUI/RestrictedNetworkAttachmentTypes</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/seamlesswindows.dita b/doc/manual/en_US/dita/topics/seamlesswindows.dita
new file mode 100644
index 00000000000..1320d2e8bb0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/seamlesswindows.dita
@@ -0,0 +1,48 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="seamlesswindows">
+ <title>Seamless Windows</title>
+
+ <body>
+ <p>
+ With the <i>seamless windows</i> feature of
+ Oracle VM 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:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Windows guests.
+ </p>
+ </li>
+ <li>
+ <p>
+ Supported Linux or Oracle Solaris guests running the X Window
+ System.
+ </p>
+ </li>
+ </ul>
+ <p>
+ After seamless windows are enabled, Oracle VM VirtualBox suppresses the
+ display of the desktop background of your guest, allowing you to
+ run the windows of your guest operating system seamlessly next to
+ the windows of your host.
+ </p>
+ <fig id="fig-seamless-windows">
+ <title>Seamless Windows on a Host Desktop</title>
+ <image href="images/seamless.png" placement="break"/>
+ </fig>
+ <p>
+ To enable seamless mode, after starting the virtual machine, press
+ the <b outputclass="bold">Host key + L</b>. The Host key is
+ normally the right control key. This will enlarge the size of the
+ VM's display to the size of your host screen and mask out the
+ guest operating system's background. To disable seamless windows
+ and go back to the normal VM display, press the Host key + L
+ again.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/sec-rec-cve-2018-12126-et-al.dita b/doc/manual/en_US/dita/topics/sec-rec-cve-2018-12126-et-al.dita
new file mode 100644
index 00000000000..432aa9f6536
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sec-rec-cve-2018-12126-et-al.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sec-rec-cve-2018-12126-et-al">
+ <title>CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091</title>
+
+ <body>
+ <p>
+ These security issues affect a range of Intel CPUs starting with
+ Nehalem. The CVE-2018-12130 also affects some Atom Silvermont,
+ Atom Airmont, and Knights family CPUs, however the scope is so
+ limited that the host OS should deal with it and Oracle VM VirtualBox
+ is therefore not affected. Leaks only happens when entering and
+ leaving C states.
+ </p>
+ <p>
+ The following mitigation option is available.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/sec-rec-cve-2018-3646.dita b/doc/manual/en_US/dita/topics/sec-rec-cve-2018-3646.dita
new file mode 100644
index 00000000000..afd2ae9b45b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sec-rec-cve-2018-3646.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sec-rec-cve-2018-3646">
+ <title>CVE-2018-3646</title>
+
+ <body>
+ <p>
+ This security issue affect a range of Intel CPUs with nested
+ paging. AMD CPUs are expected not to be impacted (pending direct
+ confirmation by AMD). Also the issue does not affect VMs running
+ with hardware virtualization disabled or with nested paging
+ disabled.
+ </p>
+ <p>
+ For more information about nested paging, see
+ <xref href="nestedpaging.dita#nestedpaging"/>.
+ </p>
+ <p>
+ The following mitigation options are available.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/secure-config-vms.dita b/doc/manual/en_US/dita/topics/secure-config-vms.dita
new file mode 100644
index 00000000000..bbe19cb6e02
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/secure-config-vms.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="secure-config-vms">
+ <title>Secure Configuration of Virtual Machines</title>
+
+ <body>
+ <p>
+ Several aspects of a virtual machine configuration are subject
+ to security considerations.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-3d-graphics.dita b/doc/manual/en_US/dita/topics/security-3d-graphics.dita
new file mode 100644
index 00000000000..46beb3c62c4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-3d-graphics.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-3d-graphics">
+ <title>3D Graphics Acceleration</title>
+
+ <body>
+ <p>
+ Enabling 3D graphics using the Guest Additions exposes the
+ host to additional security risks. See
+ <xref href="guestadd-3d.dita">Hardware 3D Acceleration (OpenGL and Direct3D 8/9)</xref>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-cd-dvd-passthrough.dita b/doc/manual/en_US/dita/topics/security-cd-dvd-passthrough.dita
new file mode 100644
index 00000000000..7cd3a68df30
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-cd-dvd-passthrough.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-cd-dvd-passthrough">
+ <title>CD/DVD Passthrough</title>
+
+ <body>
+ <p>
+ Enabling CD/DVD passthrough enables the guest to perform
+ advanced operations on the CD/DVD drive, see
+ <xref href="storage-cds.dita">CD/DVD Support</xref>. This could induce a security
+ risk as a guest could overwrite data on a CD/DVD medium.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-encryption.dita b/doc/manual/en_US/dita/topics/security-encryption.dita
new file mode 100644
index 00000000000..0b5404fa71b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-encryption.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-encryption">
+ <title>Encryption</title>
+
+ <body>
+ <p>
+ The following components of Oracle VM VirtualBox use encryption to
+ protect sensitive data:
+ </p>
+ <ul>
+ <li>
+ <p>
+ When using the Oracle VM VirtualBox Extension Pack provided by
+ Oracle for VRDP remote desktop support, RDP data can
+ optionally be encrypted. See <xref href="vrde-crypt.dita#vrde-crypt"/>.
+ Only the Enhanced RDP Security method (RDP5.2) with TLS
+ protocol provides a secure connection. Standard RDP Security
+ (RDP4 and RDP5.1) is vulnerable to a man-in-the-middle
+ attack.
+ </p>
+ </li>
+ <li>
+ <p>
+ When using the Oracle VM VirtualBox Extension Pack provided by
+ Oracle for disk encryption, the data stored in disk images
+ can optionally be encrypted. See
+ <xref href="diskencryption.dita#diskencryption"/>. This feature covers disk
+ image content only. All other data for a virtual machine is
+ stored unencrypted, including the VM's memory and device
+ state which is stored as part of a saved state, both when
+ created explicitly or part of a snapshot of a running VM.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-features.dita b/doc/manual/en_US/dita/topics/security-features.dita
new file mode 100644
index 00000000000..f850f26e752
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-features.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-features">
+ <title>Security Features</title>
+
+ <body>
+ <p>
+ This section outlines the specific security mechanisms offered by
+ Oracle VM VirtualBox.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-general.dita b/doc/manual/en_US/dita/topics/security-general.dita
new file mode 100644
index 00000000000..a96223858a6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-general.dita
@@ -0,0 +1,66 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-general">
+ <title>General Security Principles</title>
+
+ <body>
+ <p>
+ The following principles are fundamental to using any application
+ securely.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Keep software up to date</b>. One
+ of the principles of good security practise is to keep all
+ software versions and patches up to date. Activate the
+ Oracle VM VirtualBox update notification to get notified when a new
+ Oracle VM VirtualBox release is available. When updating
+ Oracle VM VirtualBox, do not forget to update the Guest Additions.
+ Keep the host operating system as well as the guest operating
+ system up to date.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Restrict network access to critical
+ services.</b> Use proper means, for instance a
+ firewall, to protect your computer and your guests from
+ accesses from the outside. Choosing the proper networking mode
+ for VMs helps to separate host networking from the guest and
+ vice versa.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Follow the principle of least
+ privilege.</b> The principle of least privilege states
+ that users should be given the least amount of privilege
+ necessary to perform their jobs. Always execute Oracle VM VirtualBox
+ as a regular user. We strongly discourage anyone from
+ executing Oracle VM VirtualBox with system privileges.
+ </p>
+ <p>
+ Choose restrictive permissions when creating configuration
+ files, for instance when creating /etc/default/virtualbox, see
+ <xref href="linux_install_opts.dita">Automatic Installation Options</xref>. Mode 0600 is preferred.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Monitor system activity.</b>
+ System security builds on three pillars: good security
+ protocols, proper system configuration and system monitoring.
+ Auditing and reviewing audit records address the third
+ requirement. Each component within a system has some degree of
+ monitoring capability. Follow audit advice in this document
+ and regularly monitor audit records.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Keep up to date on latest security
+ information.</b> Oracle continually improves its
+ software and documentation. Check this note yearly for
+ revisions.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-model.dita b/doc/manual/en_US/dita/topics/security-model.dita
new file mode 100644
index 00000000000..1888837a253
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-model.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-model">
+ <title>The Security Model</title>
+
+ <body>
+ <p>
+ One property of virtual machine monitors (VMMs) like
+ Oracle VM VirtualBox is to encapsulate a guest by executing it in a
+ protected environment, a virtual machine, running as a user
+ process on the host operating system. The guest cannot
+ communicate directly with the hardware or other computers but
+ only through the VMM. The VMM provides emulated physical
+ resources and devices to the guest which are accessed by the
+ guest operating system to perform the required tasks. The VM
+ settings control the resources provided to the guest, for
+ example the amount of guest memory or the number of guest
+ processors and the enabled features for that guest. For example
+ remote control, certain screen settings and others. See
+ <xref href="generalsettings.dita">General Settings</xref>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-networking.dita b/doc/manual/en_US/dita/topics/security-networking.dita
new file mode 100644
index 00000000000..39febf5ef88
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-networking.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-networking">
+ <title>Networking</title>
+
+ <body>
+ <p>
+ The default networking mode for VMs is NAT which means that
+ the VM acts like a computer behind a router, see
+ <xref href="network_nat.dita">Network Address Translation (NAT)</xref>. The guest is part of a private
+ subnet belonging to this VM and the guest IP is not visible
+ from the outside. This networking mode works without any
+ additional setup and is sufficient for many purposes. Keep in
+ mind that NAT allows access to the host operating system's
+ loopback interface.
+ </p>
+ <p>
+ If bridged networking is used, the VM acts like a computer
+ inside the same network as the host, see
+ <xref href="network_bridged.dita">Bridged Networking</xref>. In this case, the guest has
+ the same network access as the host and a firewall might be
+ necessary to protect other computers on the subnet from a
+ potential malicious guest as well as to protect the guest from
+ a direct access from other computers. In some cases it is
+ worth considering using a forwarding rule for a specific port
+ in NAT mode instead of using bridged networking.
+ </p>
+ <p>
+ Some setups do not require a VM to be connected to the public
+ network at all. Internal networking, see
+ <xref href="network_internal.dita">Internal Networking</xref>, or host-only networking,
+ see <xref href="network_hostonly.dita">Host-Only Networking</xref>, are often sufficient
+ to connect VMs among each other or to connect VMs only with
+ the host but not with the public network.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-recommendations.dita b/doc/manual/en_US/dita/topics/security-recommendations.dita
new file mode 100644
index 00000000000..0c4a882b4b4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-recommendations.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-recommendations">
+ <title>Security Recommendations</title>
+
+ <body>
+ <p>
+ This section contains security recommendations for specific
+ issues. By default VirtualBox will configure the VMs to run in a
+ secure manner, however this may not always be possible without
+ additional user actions such as host OS or firmware configuration
+ changes.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-secure-install-overview.dita b/doc/manual/en_US/dita/topics/security-secure-install-overview.dita
new file mode 100644
index 00000000000..f72c3a7f1c7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-secure-install-overview.dita
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-secure-install-overview">
+ <title>Installation Overview</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox base package should be downloaded only from a
+ trusted source, for instance the official website
+ <ph>http://www.virtualbox.org</ph>. The integrity of the
+ package should be verified with the provided SHA256 checksum
+ which can be found on the official website.
+ </p>
+ <p>
+ General Oracle VM VirtualBox installation instructions for the
+ supported hosts can be found in <xref href="installation.dita">Installation Details</xref>.
+ </p>
+ <p>
+ On Windows hosts, the installer can be used to disable USB
+ support, support for bridged networking, support for host-only
+ networking and the Python language binding. See
+ <xref href="installation_windows.dita">Installing on Windows Hosts</xref>. All these features are
+ enabled by default but disabling some of them could be
+ appropriate if the corresponding functionality is not required
+ by any virtual machine. The Python language bindings are only
+ required if the Oracle VM VirtualBox API is to be used by external
+ Python applications. In particular USB support and support for
+ the two networking modes require the installation of Windows
+ kernel drivers on the host. Therefore disabling those selected
+ features can not only be used to restrict the user to certain
+ functionality but also to minimize the surface provided to a
+ potential attacker.
+ </p>
+ <p>
+ The general case is to install the complete Oracle VM VirtualBox
+ package. The installation must be done with system privileges.
+ All Oracle VM VirtualBox binaries should be executed as a regular user
+ and never as a privileged user.
+ </p>
+ <p>
+ The Oracle VM VirtualBox Extension Pack provides additional features
+ and must be downloaded and installed separately, see
+ <xref href="intro-installing.dita">Installing Oracle VM VirtualBox and Extension Packs</xref>. As for the base package, the
+ SHA256 checksum of the extension pack should be verified. As the
+ installation requires system privileges, Oracle VM VirtualBox will ask
+ for the system password during the installation of the extension
+ pack.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-secure-install-postinstall.dita b/doc/manual/en_US/dita/topics/security-secure-install-postinstall.dita
new file mode 100644
index 00000000000..de36a753c21
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-secure-install-postinstall.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-secure-install-postinstall">
+ <title>Post Installation Configuration</title>
+
+ <body>
+ <p>
+ Normally there is no post installation configuration of
+ Oracle VM VirtualBox components required. However, on Oracle Solaris
+ and Linux hosts it is necessary to configure the proper
+ permissions for users executing VMs and who should be able to
+ access certain host resources. For instance, Linux users must be
+ member of the <i>vboxusers</i> group to be able to
+ pass USB devices to a guest. If a serial host interface should
+ be accessed from a VM, the proper permissions must be granted to
+ the user to be able to access that device. The same applies to
+ other resources like raw partitions, DVD/CD drives, and sound
+ devices.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-secure-install.dita b/doc/manual/en_US/dita/topics/security-secure-install.dita
new file mode 100644
index 00000000000..1283b56786a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-secure-install.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-secure-install">
+ <title>Secure Installation and Configuration</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-shared-folders.dita b/doc/manual/en_US/dita/topics/security-shared-folders.dita
new file mode 100644
index 00000000000..b45d983b3dd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-shared-folders.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-shared-folders">
+ <title>Shared Folders</title>
+
+ <body>
+ <p>
+ If any host folder is shared with the guest then a remote user
+ connected to the guest over the network can access these files
+ too as the folder sharing mechanism cannot be selectively
+ disabled for remote users.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-usb-passthrough.dita b/doc/manual/en_US/dita/topics/security-usb-passthrough.dita
new file mode 100644
index 00000000000..b943cf28cb4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-usb-passthrough.dita
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-usb-passthrough">
+ <title>USB Passthrough</title>
+
+ <body>
+ <p>
+ Passing USB devices to the guest provides the guest full
+ access to these devices, see <xref href="settings-usb.dita">USB Settings</xref>.
+ For instance, in addition to reading and writing the content
+ of the partitions of an external USB disk the guest will be
+ also able to read and write the partition table and hardware
+ data of that disk.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security-vrdp-auth.dita b/doc/manual/en_US/dita/topics/security-vrdp-auth.dita
new file mode 100644
index 00000000000..ae8344b9244
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security-vrdp-auth.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security-vrdp-auth">
+ <title>VRDP Remote Desktop Authentication</title>
+
+ <body>
+ <p>
+ When using the Oracle VM VirtualBox Extension Pack provided by
+ Oracle for VRDP remote desktop support, you can optionally use
+ various methods to configure RDP authentication. The "null"
+ method is very insecure and should be avoided in a public
+ network. See <xref href="vbox-auth.dita#vbox-auth"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/security_clipboard.dita b/doc/manual/en_US/dita/topics/security_clipboard.dita
new file mode 100644
index 00000000000..765ad4f76e3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/security_clipboard.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="security_clipboard">
+ <title>Clipboard</title>
+
+ <body>
+ <p>
+ The shared clipboard enables users to share data between the
+ host and the guest. Enabling the clipboard in Bidirectional
+ mode enables the guest to read and write the host clipboard.
+ The Host to Guest mode and the Guest to Host mode limit the
+ access to one direction. If the guest is able to access the
+ host clipboard it can also potentially access sensitive data
+ from the host which is shared over the clipboard.
+ </p>
+ <p>
+ If the guest is able to read from and/or write to the host
+ clipboard then a remote user connecting to the guest over the
+ network will also gain this ability, which may not be
+ desirable. As a consequence, the shared clipboard is disabled
+ for new machines.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/serialports.dita b/doc/manual/en_US/dita/topics/serialports.dita
new file mode 100644
index 00000000000..e0ff5cc818e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/serialports.dita
@@ -0,0 +1,214 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="serialports">
+ <title>Serial Ports</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports the use of virtual serial ports in a
+ virtual machine.
+ </p>
+ <p>
+ 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. Serial ports were commonly used with modems, and
+ some computer mice used to be connected to serial ports before USB
+ became commonplace.
+ </p>
+ <p>
+ While serial ports are no longer as common as they used to be,
+ there are still some important uses left for them. For example,
+ serial ports can be used to set up a primitive network over a
+ null-modem cable, in case Ethernet is not available. Also, serial
+ ports are indispensable for system programmers needing to do
+ kernel debugging, since kernel debugging software usually
+ interacts with developers over a serial port. With virtual serial
+ ports, system programmers can do kernel debugging on a virtual
+ machine instead of needing a real computer to connect to.
+ </p>
+ <p>
+ If a virtual serial port is enabled, the guest OS sees a standard
+ 16550A compatible UART device. Other UART types can be configured
+ using the <userinput>VBoxManage modifyvm</userinput> command. Both
+ receiving and transmitting data is supported. How this virtual
+ serial port is then connected to the host is configurable, and the
+ details depend on your host OS.
+ </p>
+ <p>
+ You can use either the Settings tabs or the
+ <userinput>VBoxManage</userinput> command to set up virtual serial
+ ports. For the latter, see <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>
+ for information on the <codeph>--uart</codeph>,
+ <codeph>--uart-mode</codeph> and <codeph>--uart-type</codeph>
+ options.
+ </p>
+ <p>
+ You can configure up to four virtual serial ports per virtual
+ machine. For each device, you must set the following:
+ </p>
+ <ol>
+ <li>
+ <p><b outputclass="bold">Port Number:</b> This determines
+ the serial port that the virtual machine should see. For best
+ results, use the traditional values as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ COM1: I/O base 0x3F8, IRQ 4
+ </p>
+ </li>
+ <li>
+ <p>
+ COM2: I/O base 0x2F8, IRQ 3
+ </p>
+ </li>
+ <li>
+ <p>
+ COM3: I/O base 0x3E8, IRQ 4
+ </p>
+ </li>
+ <li>
+ <p>
+ COM4: I/O base 0x2E8, IRQ 3
+ </p>
+ </li>
+ </ul>
+ <p>
+ You can also configure a user-defined serial port. Enter an
+ I/O base address and interrupt (IRQ).
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Port Mode:</b> What the virtual
+ port is connected to. For each virtual serial port, you have
+ the following options:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Disconnected:</b> The guest
+ will see the device, but it will behave as if no cable had
+ been connected to it.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Host Device:</b> Connects the
+ virtual serial port to a physical serial port on your
+ host. On a Windows host, this will be a name like
+ <codeph>COM1</codeph>. On Linux or Oracle Solaris hosts,
+ it will be a device node like
+ <filepath>/dev/ttyS0</filepath>. Oracle VM VirtualBox will then
+ simply redirect all data received from and sent to the
+ virtual serial port to the physical device.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Host Pipe:</b> Configure
+ Oracle VM VirtualBox to connect the virtual serial port to a
+ software pipe on the host. This depends on your host OS,
+ as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ On a Windows host, data will be sent and received
+ through a named pipe. The pipe name must be in the
+ format
+ <filepath>\\.\pipe\<varname>name</varname>
+ </filepath>
+ where <varname>name</varname> should identify
+ the virtual machine but may be freely chosen.
+ </p>
+ </li>
+ <li>
+ <p>
+ On a Mac OS, Linux, or Oracle Solaris host, a local
+ domain socket is used instead. The socket filename
+ must be chosen such that the user running
+ Oracle VM VirtualBox has sufficient privileges to create and
+ write to it. The <filepath>/tmp</filepath> directory
+ is often a good candidate.
+ </p>
+ <p>
+ On Linux there are various tools which can connect to
+ a local domain socket or create one in server mode.
+ The most flexible tool is <userinput>socat</userinput> and
+ is available as part of many distributions.
+ </p>
+ </li>
+ </ul>
+ <p>
+ In this case, you can configure whether Oracle VM VirtualBox
+ should create the named pipe, or the local domain socket
+ non-Windows hosts, itself or whether Oracle VM VirtualBox should
+ assume that the pipe or socket exists already. With the
+ <userinput>VBoxManage</userinput> command-line options, this
+ is referred to as server mode or client mode,
+ respectively.
+ </p>
+ <p>
+ For a direct connection between two virtual machines,
+ corresponding to a null-modem cable, simply configure one
+ VM to create a pipe or socket and another to attach to it.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Raw File:</b> Send the
+ virtual serial port output to a file. This option is very
+ useful for capturing diagnostic output from a guest. Any
+ file may be used for this purpose, as long as the user
+ running Oracle VM VirtualBox has sufficient privileges to create
+ and write to the file.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">TCP:</b> Useful for
+ forwarding serial traffic over TCP/IP, acting as a server,
+ or it can act as a TCP client connecting to other servers.
+ This option enables a remote machine to directly connect
+ to the guest's serial port using TCP.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">TCP Server:</b> Deselect
+ the <b outputclass="bold">Connect to Existing
+ Pipe/Socket</b> check box and specify the port
+ number in the
+ <b outputclass="bold">Path/Address</b> field.
+ This is typically 23 or 2023. Note that on UNIX-like
+ systems you will have to use a port a number greater
+ than 1024 for regular users.
+ </p>
+ <p>
+ The client can use software such as
+ <userinput>PuTTY</userinput> or the
+ <userinput>telnet</userinput> command line tool to access
+ the TCP Server.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">TCP Client:</b> To create
+ a virtual null-modem cable over the Internet or LAN,
+ the other side can connect using TCP by specifying
+ <codeph><varname>hostname</varname>:<varname>port</varname></codeph>
+ in the <b outputclass="bold">Path/Address</b>
+ field. The TCP socket will act in client mode if you
+ select the <b outputclass="bold">Connect to Existing
+ Pipe/Socket</b> check box.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ol>
+ <p>
+ Up to four serial ports can be configured per virtual machine, but
+ you can pick any port numbers out of the above. However, serial
+ ports cannot reliably share interrupts. If both ports are to be
+ used at the same time, they must use different interrupt levels,
+ for example COM1 and COM2, but not COM1 and COM3.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-acceleration.dita b/doc/manual/en_US/dita/topics/settings-acceleration.dita
new file mode 100644
index 00000000000..691cf7e0779
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-acceleration.dita
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-acceleration">
+ <title>Acceleration Tab</title>
+
+ <body>
+ <p>
+ On this tab, you can configure Oracle VM VirtualBox to use hardware
+ virtualization extensions that your host CPU supports.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Paravirtualization
+ Interface:</b> Oracle VM VirtualBox provides
+ paravirtualization interfaces to improve time-keeping
+ accuracy and performance of guest OSes. The options
+ available are documented under the
+ <codeph>--paravirt-provider</codeph> option in
+ <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>. For further details
+ on the paravirtualization providers, see
+ <xref href="gimproviders.dita">Paravirtualization Providers</xref>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Hardware Virtualization:</b>
+ You can configure hardware virtualization features for each
+ virtual machine.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Enable Nested Paging:</b>
+ If the host CPU supports the nested paging (AMD-V) or
+ EPT (Intel VT-x) features, then you can expect a
+ significant performance increase by enabling nested
+ paging in addition to hardware virtualization. For
+ technical details, see <xref href="nestedpaging.dita">Nested Paging and VPIDs</xref>.
+ For Intel EPT security recommendations, see
+ <xref href="sec-rec-cve-2018-3646.dita">CVE-2018-3646</xref>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Advanced users may be interested in technical details about
+ hardware virtualization. See <xref href="hwvirt.dita">Hardware Virtualization</xref>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ In most cases, the default settings on the
+ <b outputclass="bold">Acceleration</b> tab will work
+ well. Oracle VM VirtualBox selects sensible defaults, depending on the
+ OS that you selected when you created the virtual machine. In
+ certain situations, however, you may want to change the
+ preconfigured defaults.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-audio.dita b/doc/manual/en_US/dita/topics/settings-audio.dita
new file mode 100644
index 00000000000..d065af22862
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-audio.dita
@@ -0,0 +1,61 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-audio">
+ <title>Audio Settings</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">Audio</b> section in a virtual
+ machine's <b outputclass="bold">Settings</b> window
+ determines whether the VM will detect a connected sound card, and
+ if the audio output should be played on the host system.
+ </p>
+ <p>
+ To enable audio for a guest, select the
+ <b outputclass="bold">Enable Audio</b> check box. The
+ following settings are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Host Audio Driver:</b> The audio
+ driver that Oracle VM VirtualBox uses on the host.
+ </p>
+ <p>
+ The <b outputclass="bold">Default</b> option is enabled
+ by default for all new VMs. This option selects the best audio
+ driver for the host platform automatically. This enables you
+ to move VMs between different platforms without having to
+ change the audio driver.
+ </p>
+ <p>
+ On a Linux host, depending on your host configuration, you can
+ select between the OSS, ALSA, or the PulseAudio subsystem. On
+ newer Linux distributions, the PulseAudio subsystem is
+ preferred.
+ </p>
+ <p>
+ Only OSS is supported on Oracle Solaris hosts. The Oracle
+ Solaris Audio audio backend is no longer supported on Oracle
+ Solaris hosts.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Audio Controller:</b> You can
+ choose between the emulation of an Intel AC'97 controller, an
+ Intel HD Audio controller, or a SoundBlaster 16 card.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable Audio Output:</b> Enables
+ audio output only for the VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable Audio Input:</b> Enables
+ audio input only for the VM.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-basic.dita b/doc/manual/en_US/dita/topics/settings-basic.dita
new file mode 100644
index 00000000000..fe4bce995ac
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-basic.dita
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-basic">
+ <title>Basic Tab</title>
+
+ <body>
+ <p>
+ In the <b outputclass="bold">Basic</b> tab of the
+ <b outputclass="bold">General</b> settings category, you
+ can find these settings:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Name:</b> The name of the the
+ VM, as shown in the list of VMs in the main VirtualBox
+ Manager window. Using this name, Oracle VM VirtualBox also saves
+ the VM's configuration files. If you change the name,
+ Oracle VM VirtualBox renames these files as well. As a result, you
+ can only use characters which are allowed for file names on
+ your host OS.
+ </p>
+ <p>
+ Note that internally, Oracle VM VirtualBox uses unique identifiers
+ (UUIDs) to identify virtual machines. You can display these
+ using the <userinput>VBoxManage</userinput> commands.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Type:</b> The type of the guest
+ OS for the VM. This is the same setting that is specified in
+ the <b outputclass="bold">New Virtual Machine</b>
+ wizard. See <xref href="create-vm-wizard.dita#create-vm-wizard"/>.
+ </p>
+ <p>
+ Whereas the default settings of a newly created VM depend on
+ the selected OS type, changing the type later has no effect
+ on VM settings. This value is purely informational and
+ decorative.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Version:</b> The version of the
+ guest OS for the VM. This is the same setting that is
+ specified in the <b outputclass="bold">New Virtual
+ Machine</b> wizard. See
+ <xref href="create-vm-wizard.dita#create-vm-wizard"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-capture.dita b/doc/manual/en_US/dita/topics/settings-capture.dita
new file mode 100644
index 00000000000..7e44e57bdb0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-capture.dita
@@ -0,0 +1,77 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-capture">
+ <title>Recording Tab</title>
+
+ <body>
+ <p>
+ On the <b outputclass="bold">Recording</b> tab you can
+ enable video and audio recording for a virtual machine and
+ change related settings. Note that these features can be enabled
+ and disabled while a VM is running.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Enable Recording:</b> Select
+ this check box and select a <b outputclass="bold">Recording
+ Mode</b> option.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Recording Mode:</b> You can
+ choose to record video, audio, or both video and audio.
+ </p>
+ <p>
+ Some settings on the
+ <b outputclass="bold">Recording</b> tab may be grayed
+ out, depending on the <b outputclass="bold">Recording
+ Mode</b> setting.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">File Path:</b> The file where
+ the recording is saved.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Frame Size:</b> The video
+ resolution of the recorded video, in pixels. The drop-down
+ list enables you to select from common frame sizes.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Frame Rate:</b> Use the slider
+ to set the maximum number of video frames per second (FPS)
+ to record. Frames that have a higher frequency are skipped.
+ Increasing this value reduces the number of skipped frames
+ and increases the file size.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Video Quality:</b> Use the
+ slider to set the the bit rate of the video in kilobits per
+ second. Increasing this value improves the appearance of the
+ video at the cost of an increased file size.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Audio Quality:</b> Use the
+ slider to set the quality of the audio recording. Increasing
+ this value improves the audio quality at the cost of an
+ increased file size.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Screens:</b> For a multiple
+ monitor display, you can select which screens to record
+ video from.
+ </p>
+ </li>
+ </ul>
+ <p>
+ As you adjust the video and audio recording settings, the
+ approximate output file size for a five minute video is shown.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-description.dita b/doc/manual/en_US/dita/topics/settings-description.dita
new file mode 100644
index 00000000000..8170c196ad3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-description.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-description">
+ <title>Description Tab</title>
+
+ <body>
+ <p>
+ On the <b outputclass="bold">Description</b> tab you can
+ enter a description for your virtual machine. This has no effect
+ on the functionality of the machine, but you may find this space
+ useful to note down things such as the configuration of a
+ virtual machine and the software that has been installed into
+ it.
+ </p>
+ <p>
+ To insert a line break into the
+ <b outputclass="bold">Description</b> text field, press
+ Shift+Enter.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-disk-encryption.dita b/doc/manual/en_US/dita/topics/settings-disk-encryption.dita
new file mode 100644
index 00000000000..fbdf813f70a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-disk-encryption.dita
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-disk-encryption">
+ <title>Disk Encryption Tab</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">Disk Encryption</b> tab enables
+ you to encrypt disks that are attached to the virtual machine.
+ </p>
+ <p>
+ To enable disk encryption, select the
+ <b outputclass="bold">Enable Disk Encryption</b> check
+ box.
+ </p>
+ <p>
+ Settings are available to configure the cipher used for
+ encryption and the encryption password.
+ </p>
+ <note>
+ <p>
+ All files related to the virtual machine except disk images
+ are stored unencrypted. To encrypt these files, use the
+ <userinput>VBoxManage encryptvm</userinput> command as described
+ in <xref href="vmencryption.dita">Encryption of VMs</xref>.
+ </p>
+ </note>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/settings-display.dita b/doc/manual/en_US/dita/topics/settings-display.dita
new file mode 100644
index 00000000000..c52e135fb71
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-display.dita
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-display">
+ <title>Display Settings</title>
+
+ <body>
+ <p>
+ The following tabs are available for configuring the display for a
+ virtual machine.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-general-advanced.dita b/doc/manual/en_US/dita/topics/settings-general-advanced.dita
new file mode 100644
index 00000000000..ef98bbc6c07
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-general-advanced.dita
@@ -0,0 +1,72 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-general-advanced">
+ <title>Advanced Tab</title>
+
+ <body>
+ <p>
+ The following settings are available in the
+ <b outputclass="bold">Advanced</b> tab:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Snapshot Folder:</b> By
+ default, Oracle VM VirtualBox saves snapshot data together with
+ your other Oracle VM VirtualBox configuration data. See
+ <xref href="vboxconfigdata.dita">Where Oracle VM VirtualBox Stores its Files</xref>. With this setting, you
+ can specify any other folder for each VM.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Shared Clipboard:</b> You can
+ select here whether the clipboard of the guest OS should be
+ shared with that of your host. If you select
+ <b outputclass="bold">Bidirectional</b>, then
+ Oracle VM VirtualBox will always make sure that both clipboards
+ contain the same data. If you select
+ <b outputclass="bold">Host to Guest</b> or
+ <b outputclass="bold">Guest to Host</b>, then
+ Oracle VM VirtualBox will only ever copy clipboard data in one
+ direction.
+ </p>
+ <p>
+ Clipboard sharing requires that the Oracle VM VirtualBox Guest
+ Additions be installed. In such a case, this setting has no
+ effect. See <xref href="guestadditions.dita#guestadditions"/>.
+ </p>
+ <p>
+ For security reasons, the shared clipboard is disabled by
+ default. This setting can be changed at any time using the
+ <b outputclass="bold">Shared Clipboard</b> menu item
+ in the <b outputclass="bold">Devices</b> menu of the
+ virtual machine.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Drag and Drop:</b> This setting
+ enables support for drag and drop. Select an object, such as
+ a file, from the host or guest and directly copy or open it
+ on the guest or host. Multiple drag and drop modes for a VM
+ enable restricting of access in either direction.
+ </p>
+ <p>
+ For drag and drop to work the Guest Additions need to be
+ installed on the guest.
+ </p>
+ <note>
+ <p>
+ Drag and drop is disabled by default. This setting can be
+ changed at any time using the <b outputclass="bold">Drag
+ and Drop</b> menu item in the
+ <b outputclass="bold">Devices</b> menu of the
+ virtual machine.
+ </p>
+ </note>
+ <p>
+ See <xref href="guestadd-dnd.dita#guestadd-dnd"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-motherboard.dita b/doc/manual/en_US/dita/topics/settings-motherboard.dita
new file mode 100644
index 00000000000..8c8a1611234
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-motherboard.dita
@@ -0,0 +1,169 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-motherboard">
+ <title>Motherboard Tab</title>
+
+ <body>
+ <p>
+ On the <b outputclass="bold">Motherboard</b> tab, you can
+ configure virtual hardware that would normally be on the
+ motherboard of a real computer.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Base Memory:</b> Sets the
+ amount of RAM that is allocated and given to the VM when it
+ is running. The specified amount of memory will be requested
+ from the host OS, so it must be available or made available
+ as free memory on the host when attempting to start the VM
+ and will not be available to the host while the VM is
+ running. This is the same setting that was specified in the
+ <b outputclass="bold">New Virtual Machine</b> wizard,
+ as described in <xref href="create-vm-wizard.dita#create-vm-wizard"/>.
+ </p>
+ <p>
+ Generally, it is possible to change the memory size after
+ installing the guest OS. But you must not reduce the memory
+ to an amount where the OS would no longer boot.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Boot Order:</b> Determines the
+ order in which the guest OS will attempt to boot from the
+ various virtual boot devices. Analogous to a real PC's BIOS
+ setting, Oracle VM VirtualBox can tell a guest OS to start from
+ the virtual floppy, the virtual CD/DVD drive, the virtual
+ hard drive (each of these as defined by the other VM
+ settings), the network, or none of these.
+ </p>
+ <p>
+ If you select <b outputclass="bold">Network</b>, the
+ VM will attempt to boot from a network using the PXE
+ mechanism. This needs to be configured in detail on the
+ command line. See <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Chipset:</b> You can select
+ which chipset will be presented to the virtual machine.
+ PIIX3 is the default chipset for most guests. For some guest
+ OSes such as Mac OS X, the PIIX3 chipset is not well
+ supported. As a result, Oracle VM VirtualBox supports an emulation
+ of the ICH9 chipset, which supports PCI express, three PCI
+ buses, PCI-to-PCI bridges and Message Signaled Interrupts
+ (MSI). This enables modern OSes to address more PCI devices
+ and no longer requires IRQ sharing. Using the ICH9 chipset
+ it is also possible to configure up to 36 network cards,
+ compared to a maximum of eight network adapters with PIIX3.
+ Note that ICH9 support is experimental and not recommended
+ for guest OSes which do not require it.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">TPM:</b> Enables support for a
+ Trusted Platform Module (TPM) security processor. Choose
+ from the supported TPM versions.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Pointing Device:</b> The
+ default virtual pointing device for some guest OSes is the
+ traditional PS/2 mouse. If set to <b outputclass="bold">USB
+ Tablet</b>, Oracle VM VirtualBox reports to the virtual
+ machine that a USB tablet device is present and communicates
+ mouse events to the virtual machine through this device.
+ Another setting is <b outputclass="bold">USB Multi-Touch
+ Tablet</b>, which is suitable for guests running
+ Windows 8 or later.
+ </p>
+ <p>
+ Using the virtual USB tablet has the advantage that
+ movements are reported in absolute coordinates, instead of
+ as relative position changes. This enables Oracle VM VirtualBox to
+ translate mouse events over the VM window into tablet events
+ without having to "capture" the mouse in the guest as
+ described in <xref href="keyb_mouse_normal.dita#keyb_mouse_normal"/>. This
+ makes using the VM less tedious even if Guest Additions are
+ not installed.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable I/O APIC:</b> Advanced
+ Programmable Interrupt Controllers (APICs) are an x86
+ hardware feature that have replaced Programmable Interrupt
+ Controllers (PICs). With an I/O APIC, OSes can use more than
+ 16 interrupt requests (IRQs) and therefore avoid IRQ sharing
+ for improved reliability.
+ </p>
+ <note>
+ <p>
+ Enabling the I/O APIC is <i>required</i>,
+ especially for 64-bit Windows guest OSes. It is also
+ required if you want to use more than one virtual CPU in a
+ virtual machine.
+ </p>
+ </note>
+ <p>
+ However, software support for I/O APICs has been unreliable
+ with some OSes other than Windows. Also, the use of an I/O
+ APIC slightly increases the overhead of virtualization and
+ therefore slows down the guest OS a little.
+ </p>
+ <note type="attention">
+ <p>
+ All Windows OSes install different kernels, depending on
+ whether an I/O APIC is available. As with ACPI, the I/O
+ APIC therefore <i>must not be turned off after
+ installation</i> of a Windows guest OS. Turning it
+ on after installation will have no effect however.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p><b outputclass="bold">Hardware Clock in UTC Time:</b>
+ If selected, Oracle VM VirtualBox will report the system time in
+ UTC format to the guest instead of the local (host) time.
+ This affects how the virtual real-time clock (RTC) operates
+ and may be useful for UNIX-like guest OSes, which typically
+ expect the hardware clock to be set to UTC.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable EFI:</b> Enables
+ Extensible Firmware Interface (EFI), which replaces the
+ legacy BIOS and may be useful for certain advanced use
+ cases. See <xref href="efi.dita#efi"/>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable Secure Boot:</b> Enables
+ Secure Boot, to provide a secure environment for starting
+ the guest OS.
+ </p>
+ </li>
+ </ul>
+ <p>
+ In addition, you can turn off the <b outputclass="bold">Advanced
+ Configuration and Power Interface (ACPI)</b> which
+ Oracle VM VirtualBox presents to the guest OS by default.
+ </p>
+ <p>
+ ACPI is the current industry standard to allow OSes to recognize
+ hardware, configure motherboards and other devices and manage
+ power. As most computers contain this feature and Windows and
+ Linux support ACPI, it is also enabled by default in
+ Oracle VM VirtualBox. ACPI can only be turned off using the command
+ line. See <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ <note type="attention">
+ <p>
+ All Windows OSes install different kernels, depending on
+ whether ACPI is available. This means that ACPI <i>must
+ not be turned off</i> after installation of a Windows
+ guest OS. However, turning it on after installation will have
+ no effect.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-network.dita b/doc/manual/en_US/dita/topics/settings-network.dita
new file mode 100644
index 00000000000..ab79e727397
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-network.dita
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-network">
+ <title>Network Settings</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">Network</b> section in a virtual
+ machine's <b outputclass="bold">Settings</b> window enables
+ you to configure how Oracle VM VirtualBox presents virtual network cards
+ to your VM, and how they operate.
+ </p>
+ <p>
+ When you first create a virtual machine, Oracle VM VirtualBox by default
+ enables one virtual network card and selects the Network Address
+ Translation (NAT) mode for it. This way the guest can connect to
+ the outside world using the host's networking and the outside
+ world can connect to services on the guest which you choose to
+ make visible outside of the virtual machine.
+ </p>
+ <p>
+ This default setup is good for the majority of Oracle VM VirtualBox
+ users. However, Oracle VM VirtualBox is extremely flexible in how it can
+ virtualize networking. It supports many virtual network cards per
+ virtual machine. The first four virtual network cards can be
+ configured in detail in VirtualBox Manager. Additional network cards can
+ be configured using the <userinput>VBoxManage</userinput> command.
+ </p>
+ <p>
+ Many networking options are available. See
+ <xref href="networkingdetails.dita#networkingdetails"/> for more information.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-processor.dita b/doc/manual/en_US/dita/topics/settings-processor.dita
new file mode 100644
index 00000000000..4bf6fd25e5e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-processor.dita
@@ -0,0 +1,69 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-processor">
+ <title>Processor Tab</title>
+
+ <body>
+ <p>
+ On the <b outputclass="bold">Processor</b> tab, you can
+ configure settings for the CPU used by the virtual machine.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Processor(s):</b> Sets the
+ number of virtual CPU cores the guest OSes can see.
+ Oracle VM VirtualBox supports symmetrical multiprocessing (SMP)
+ and can present up to 32 virtual CPU cores to each virtual
+ machine.
+ </p>
+ <p>
+ You should not configure virtual machines to use more CPU
+ cores than are available physically. This includes real
+ cores, with no hyperthreads.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Execution Cap:</b> Configures
+ the CPU execution cap. This limits the amount of time a host
+ CPU spends to emulate a virtual CPU. The default setting is
+ 100%, meaning that there is no limitation. A setting of 50%
+ implies a single virtual CPU can use up to 50% of a single
+ host CPU. Note that limiting the execution time of the
+ virtual CPUs may cause guest timing problems.
+ </p>
+ <p>
+ A warning is displayed at the bottom of the Processor tab if
+ an Execution Cap setting is made that may affect system
+ performance.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable PAE/NX:</b> Determines
+ whether the PAE and NX capabilities of the host CPU will be
+ exposed to the virtual machine.
+ </p>
+ <p>
+ PAE stands for Physical Address Extension. Normally, if
+ enabled and supported by the OS, 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. Some OSes, such as
+ Ubuntu Server, require PAE support from the CPU and cannot
+ be run in a virtual machine without it.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable Nested VT-x/AMD-V</b>:
+ Enables nested virtualization, with passthrough of hardware
+ virtualization functions to the guest VM.
+ </p>
+ </li>
+ </ul>
+ <p>
+ With virtual machines running modern server OSes, Oracle VM VirtualBox
+ also supports CPU hot-plugging. For details, see
+ <xref href="cpuhotplug.dita">CPU Hot-Plugging</xref>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-remote-display.dita b/doc/manual/en_US/dita/topics/settings-remote-display.dita
new file mode 100644
index 00000000000..295299b02d6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-remote-display.dita
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-remote-display">
+ <title>Remote Display Tab</title>
+
+ <body>
+ <p>
+ On the <b outputclass="bold">Remote Display</b> tab, if
+ the VirtualBox Remote Display Extension (VRDE) is installed, you
+ can enable the VRDP server that is built into Oracle VM VirtualBox.
+ This enables you to connect to the console of the virtual
+ machine remotely with any standard RDP viewer, such as
+ <userinput>mstsc.exe</userinput> that comes with Microsoft Windows.
+ On Linux and Oracle Solaris systems you can use the standard
+ open source <userinput>rdesktop</userinput> program. These features
+ are described in <xref href="vrde.dita">Remote Display (VRDP Support)</xref>.
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Enable Server:</b> Select this
+ check box and configure settings for the remote display
+ connection.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-screen.dita b/doc/manual/en_US/dita/topics/settings-screen.dita
new file mode 100644
index 00000000000..dab51df9daf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-screen.dita
@@ -0,0 +1,125 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-screen">
+ <title>Screen Tab</title>
+
+ <body>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Video Memory:</b> Sets the size
+ of the memory provided by the virtual graphics card
+ available to the guest, in MB. As with the main memory, the
+ specified amount will be allocated from the host's resident
+ memory. Based on the amount of video memory, higher
+ resolutions and color depths may be available.
+ </p>
+ <p>
+ VirtualBox Manager will show a warning if the amount of video memory
+ is too small to be able to switch the VM into full screen
+ mode. The minimum value depends on the number of virtual
+ monitors, the screen resolution and the color depth of the
+ host display as well as on the use of <i>3D
+ acceleration</i> and <i>2D video
+ acceleration</i>. A rough estimate is
+ (<i>color depth</i> / 8) x <i>vertical
+ pixels</i> x <i>horizontal pixels</i> x
+ <i>number of screens</i> = <i>number of
+ bytes</i>. Extra memory may be required if display
+ acceleration is used.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Monitor Count:</b> With this
+ setting, Oracle VM VirtualBox can provide more than one virtual
+ monitor to a virtual machine. If a guest OS supports
+ multiple attached monitors, Oracle VM VirtualBox can pretend that
+ multiple virtual monitors are present. Up to eight such
+ virtual monitors are supported.
+ </p>
+ <p>
+ The output of the multiple monitors are displayed on the
+ host in multiple VM windows which are running side by side.
+ However, in full screen and seamless mode, they use the
+ available physical monitors attached to the host. As a
+ result, for full screen and seamless modes to work with
+ multiple monitors, you will need at least as many physical
+ monitors as you have virtual monitors configured, or
+ Oracle VM VirtualBox will report an error.
+ </p>
+ <p>
+ You can configure the relationship between guest and host
+ monitors using the <b outputclass="bold">View</b>
+ menu by pressing Host key + Home when you are in full screen
+ or seamless mode.
+ </p>
+ <p>
+ See also <xref href="KnownIssues.dita">Known Limitations</xref>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Scale Factor:</b> Enables
+ scaling of the display size. For multiple monitor displays,
+ you can set the scale factor for individual monitors, or
+ globally for all of the monitors. Use the slider to select a
+ scaling factor up to 200%.
+ </p>
+ <p>
+ You can set a default scale factor for all VMs. Use the
+ <b outputclass="bold">Display</b> tab in the
+ Preferences window.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Graphics Controller:</b>
+ Specifies the graphics adapter type used by the guest VM.
+ Note that you must install the Guest Additions on the guest
+ VM to specify the VBoxSVGA or VMSVGA graphics controller.
+ The following options are available:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">VBoxSVGA:</b> The default
+ graphics controller for new VMs that use Windows 7 or
+ later.
+ </p>
+ <p>
+ This graphics controller improves performance and 3D
+ support when compared to the legacy VBoxVGA option.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">VBoxVGA:</b> Use this
+ graphics controller for legacy guest OSes. This is the
+ default graphics controller for Windows versions before
+ Windows 7 and for Oracle Solaris.
+ </p>
+ <p>
+ 3D acceleration is not supported for this graphics
+ controller.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">VMSVGA:</b> Use this
+ graphics controller to emulate a VMware SVGA graphics
+ device. This is the default graphics controller for
+ Linux guests.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">None:</b> Does not emulate
+ a graphics adapter type.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p><b outputclass="bold">Enable 3D Acceleration:</b> If
+ a virtual machine has Guest Additions installed, you can
+ select here whether the guest should support accelerated 3D
+ graphics. See <xref href="guestadd-3d.dita#guestadd-3d"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-storage.dita b/doc/manual/en_US/dita/topics/settings-storage.dita
new file mode 100644
index 00000000000..acf3e935a4f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-storage.dita
@@ -0,0 +1,173 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-storage">
+ <title>Storage Settings</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">Storage</b> category in the VM
+ settings enables you to connect virtual hard disk, CD/DVD, and
+ floppy images and drives to your virtual machine.
+ </p>
+ <p>
+ In a real computer, so-called <i>storage
+ controllers</i> connect physical disk drives to the rest of
+ the computer. Similarly, Oracle VM VirtualBox presents virtual storage
+ controllers to a virtual machine. Under each controller, the
+ virtual devices, such as hard disks, CD/DVD or floppy drives,
+ attached to the controller are shown.
+ </p>
+ <note>
+ <p>
+ This section gives a quick introduction to the Oracle VM VirtualBox
+ storage settings. See <xref href="storage.dita#storage"/> for a full
+ description of the available storage settings in Oracle VM VirtualBox.
+ </p>
+ </note>
+ <p>
+ If you have used the <b outputclass="bold">Create Virtual
+ Machine</b> wizard to create a machine, you will normally
+ see something like the following:
+ </p>
+ <fig id="fig-storage-settings">
+ <title>Storage Settings for a Virtual Machine</title>
+ <image href="images/vm-settings-harddisk.png" placement="break"/>
+ </fig>
+ <p>
+ Depending on the guest OS type that you selected when you created
+ the VM, a new VM includes the following storage devices:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">IDE controller.</b> A virtual
+ CD/DVD drive is attached to device 0 on the secondary channel
+ of the IDE controller.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">SATA controller.</b> This is a
+ modern type of storage controller for higher hard disk data
+ throughput, to which the virtual hard disks are attached.
+ Initially you will normally have one such virtual disk, but as
+ shown in the previous screenshot, you can have more than one.
+ Each is represented by a disk image file, such as a VDI file
+ in this example.
+ </p>
+ </li>
+ </ul>
+ <p>
+ If you created your VM with an older version of Oracle VM VirtualBox,
+ the default storage layout may differ. You might then only have an
+ IDE controller to which both the CD/DVD drive and the hard disks
+ have been attached. This might also apply if you selected an older
+ OS type when you created the VM. Since older OSes do not support
+ SATA without additional drivers, Oracle VM VirtualBox will make sure
+ that no such devices are present initially. See
+ <xref href="harddiskcontrollers.dita#harddiskcontrollers"/>.
+ </p>
+ <p>
+ Oracle VM VirtualBox also provides a <i>floppy
+ controller</i>. You cannot add devices other than floppy
+ drives to this controller. Virtual floppy drives, like virtual
+ CD/DVD drives, can be connected to either a host floppy drive, if
+ you have one, or a disk image, which in this case must be in RAW
+ format.
+ </p>
+ <p>
+ You can modify these media attachments freely. For example, if you
+ wish to copy some files from another virtual disk that you
+ created, you can connect that disk as a second hard disk, as in
+ the above screenshot. You could also add a second virtual CD/DVD
+ drive, or change where these items are attached. The following
+ options are available:
+ </p>
+ <ul>
+ <li>
+ <p>
+ To <b outputclass="bold">add another virtual hard disk, or a
+ CD/DVD or floppy drive</b>, select the storage
+ controller to which it should be added (such as IDE, SATA,
+ SCSI, SAS, floppy controller) and then click the
+ <b outputclass="bold">Add Disk</b> button below the
+ tree. You can then either select <b outputclass="bold">Optical
+ Drive</b> or <b outputclass="bold">Hard
+ Disk</b>. If you clicked on a floppy controller, you
+ can add a floppy drive instead. Alternatively, right-click on
+ the storage controller and select a menu item there.
+ </p>
+ <p>
+ A dialog is displayed, enabling you to select an existing disk
+ image file or to create a new disk image file. Depending on
+ the type of disk image, the dialog is called
+ <b outputclass="bold">Hard Disk Selector</b>,
+ <b outputclass="bold">Optical Disk Selector</b>, or
+ <b outputclass="bold">Floppy Disk Selector</b>.
+ </p>
+ <p>
+ See <xref href="vdidetails.dita#vdidetails"/> for information on the image
+ file types that are supported by Oracle VM VirtualBox.
+ </p>
+ <p>
+ For virtual CD/DVD drives, the image files will typically be
+ in the standard ISO format instead. Most commonly, you will
+ select this option when installing an OS from an ISO file that
+ you have obtained from the Internet. For example, most Linux
+ distributions are available in this way.
+ </p>
+ <p>
+ Depending on the type of disk image, you can set the following
+ <b outputclass="bold">Attributes</b> for the disk image
+ in the right part of the Storage settings page:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The <b outputclass="bold">device slot</b> of the
+ controller that the virtual disk is connected to. IDE
+ controllers have four slots: primary device 0, primary
+ device 1, secondary device 0, and secondary device 1. By
+ contrast, SATA and SCSI controllers offer you up to 30
+ slots for attaching virtual devices.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Solid-state Drive</b>
+ presents a virtual disk to the guest as a solid-state
+ device.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Hot-pluggable</b> presents a
+ virtual disk to the guest as a hot-pluggable device.
+ </p>
+ </li>
+ <li>
+ <p>
+ For virtual CD/DVD drives, you can select
+ <b outputclass="bold">Live CD/DVD</b>. This means
+ that the virtual optical disk is not removed from when the
+ guest system ejects it.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ To <b outputclass="bold">remove an attachment</b>,
+ either select it and click on the
+ <b outputclass="bold">Remove</b> icon at the bottom, or
+ right-click on it and select the menu item.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Removable media, such as CD/DVDs and floppies, can be changed
+ while the guest is running. Since the
+ <b outputclass="bold">Settings</b> window is not available
+ at that time, you can also access these settings from the
+ <b outputclass="bold">Devices</b> menu of your virtual
+ machine window.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/settings-system.dita b/doc/manual/en_US/dita/topics/settings-system.dita
new file mode 100644
index 00000000000..a3545a93921
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-system.dita
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-system">
+ <title>System Settings</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">System</b> category groups
+ various settings that are related to the basic hardware that is
+ presented to the virtual machine.
+ </p>
+ <note>
+ <p>
+ As the activation mechanism of Microsoft Windows is sensitive to
+ hardware changes, if you are changing hardware settings for a
+ Windows guest, some of these changes may trigger a request for
+ another activation with Microsoft.
+ </p>
+ </note>
+ <p>
+ The following tabs are available.
+ </p>
+ </body>
+
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/settings-usb.dita b/doc/manual/en_US/dita/topics/settings-usb.dita
new file mode 100644
index 00000000000..c61116be74a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/settings-usb.dita
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="settings-usb">
+ <title>USB Settings</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">USB</b> section in a virtual
+ machine's <b outputclass="bold">Settings</b> window
+ enables you to configure Oracle VM VirtualBox's sophisticated USB
+ support.
+ </p>
+ <p>
+ Oracle VM VirtualBox can enable virtual machines to access the USB
+ devices on your host directly. To achieve this, Oracle VM VirtualBox
+ presents the guest OS with a virtual USB controller. As soon as
+ the guest system starts using a USB device, it will appear as
+ unavailable on the host.
+ </p>
+ <note>
+ <ul>
+ <li>
+ <p>
+ 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.
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle Solaris hosts have a few known limitations
+ regarding USB support. See <xref href="KnownIssues.dita">Known Limitations</xref>.
+ </p>
+ </li>
+ </ul>
+ </note>
+ <p>
+ In addition to allowing a guest access to your local USB
+ devices, Oracle VM VirtualBox even enables your guests to connect to
+ remote USB devices by use of the VirtualBox Remote Desktop
+ Extension (VRDE). See <xref href="usb-over-rdp.dita">Remote USB</xref>.
+ </p>
+ <p>
+ To enable USB for a VM, select the <b outputclass="bold">Enable
+ USB Controller</b> check box. The following settings are
+ available:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">USB Controller:</b> Selects a
+ controller with the specified level of USB support, as
+ follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ OHCI for USB 1.1
+ </p>
+ </li>
+ <li>
+ <p>
+ EHCI for USB 2.0. This also enables OHCI.
+ </p>
+ </li>
+ <li>
+ <p>
+ xHCI for USB 3.0. This supports all USB speeds.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">USB Device Filters:</b> When
+ USB support is enabled for a VM, you can determine in detail
+ which devices will be automatically attached to the guest.
+ For this, you can create filters by specifying certain
+ properties of the USB device. USB devices with a matching
+ filter will be automatically passed to the guest once they
+ are attached to the host. USB devices without a matching
+ filter can be passed manually to the guest, for example by
+ using the <b outputclass="bold">Devices</b>,
+ <b outputclass="bold">USB</b> menu.
+ </p>
+ <p>
+ Clicking on the <b outputclass="bold">+</b> button to
+ the right of the <b outputclass="bold">USB Device
+ Filters</b> window creates a new filter. You can give
+ the filter a name, for later reference, and specify the
+ filter criteria. The more criteria you specify, the more
+ precisely devices will be selected. For instance, if you
+ specify only a vendor ID of 046d, all devices produced by
+ Logitech will be available to the guest. If you fill in all
+ fields, on the other hand, the filter will only apply to a
+ particular device model from a particular vendor, and not
+ even to other devices of the same type with a different
+ revision and serial number.
+ </p>
+ <p>
+ In detail, the following criteria are available:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Vendor and Product ID.</b>
+ With USB, each vendor of USB products carries an
+ identification number that is unique world-wide, called
+ the <i>vendor ID</i>. Similarly, each line
+ of products is assigned a <i>product
+ ID</i> number. Both numbers are commonly written
+ in hexadecimal, and a colon separates the vendor from
+ the product ID. For example,
+ <codeph>046d:c016</codeph> stands for Logitech as a
+ vendor, and the M-UV69a Optical Wheel Mouse product.
+ </p>
+ <p>
+ Alternatively, you can also specify
+ <b outputclass="bold">Manufacturer</b> and
+ <b outputclass="bold">Product</b> by name.
+ </p>
+ <p>
+ To list all the USB devices that are connected to your
+ host machine with their respective vendor IDs and
+ product IDs, use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage list usbhost</pre>
+ <p>
+ On Windows, you can also see all USB devices that are
+ attached to your system in the Device Manager. On Linux,
+ you can use the <userinput>lsusb</userinput> command.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Serial Number.</b> While
+ vendor ID and product ID are quite specific to identify
+ USB devices, if you have two identical devices of the
+ same brand and product line, you will also need their
+ serial numbers to filter them out correctly.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Remote.</b> This setting
+ specifies whether the device will be local only, remote
+ only, such as over VRDP, or either.
+ </p>
+ </li>
+ </ul>
+ <p>
+ On a Windows host, you will need to unplug and reconnect a
+ USB device to use it after creating a filter for it.
+ </p>
+ <p>
+ As an example, you could create a new USB filter and specify
+ a vendor ID of 046d for Logitech, Inc, a manufacturer index
+ of 1, and "not remote". Then any USB devices on the host
+ system produced by Logitech, Inc with a manufacturer index
+ of 1 will be visible to the guest system.
+ </p>
+ <p>
+ Several filters can select a single device. For example, a
+ filter which selects all Logitech devices, and one which
+ selects a particular webcam.
+ </p>
+ <p>
+ You can deactivate filters without deleting them by
+ deselecting the check box next to the filter name.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/sf_mount_auto.dita b/doc/manual/en_US/dita/topics/sf_mount_auto.dita
new file mode 100644
index 00000000000..c994a17cc56
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sf_mount_auto.dita
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sf_mount_auto">
+ <title>Automatic Mounting</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox provides the option to mount shared folders
+ automatically. When automatic mounting is enabled for a shared
+ folder, the Guest Additions service will mount it for you
+ automatically. For Windows or OS/2, a preferred drive letter can
+ also be specified. For Linux or Oracle Solaris, a mount point
+ directory can also be specified.
+ </p>
+ <p>
+ If a drive letter or mount point is not specified, or is in use
+ already, an alternative location is found by the Guest Additions
+ service. The service searches for an alternative location
+ depending on the guest OS, as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Windows and OS/2 guests.</b>
+ Search for a free drive letter, starting at
+ <filepath>Z:</filepath>. If all drive letters are assigned,
+ the folder is not mounted.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Linux and Oracle Solaris
+ guests.</b> Folders are mounted under the
+ <filepath>/media</filepath> directory. The folder name is
+ normalized (no spaces, slashes or colons) and is prefixed
+ with <filepath>sf_</filepath>.
+ </p>
+ <p>
+ For example, if you have a shared folder called
+ <filepath>myfiles</filepath>, it will appear as
+ <filepath>/media/sf_myfiles</filepath> in the guest.
+ </p>
+ <p>
+ The guest properties
+ <codeph>/VirtualBox/GuestAdd/SharedFolders/MountDir</codeph>
+ and the more generic
+ <codeph>/VirtualBox/GuestAdd/SharedFolders/MountPrefix</codeph>
+ can be used to override the automatic mount directory and
+ prefix. See <xref href="guestadd-guestprops.dita#guestadd-guestprops"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Access to an automatically mounted shared folder is granted to
+ everyone in a Windows guest, including the guest user. For Linux
+ and Oracle Solaris guests, access is restricted to members of
+ the group <codeph>vboxsf</codeph> and the
+ <codeph>root</codeph> user.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/sf_mount_manual.dita b/doc/manual/en_US/dita/topics/sf_mount_manual.dita
new file mode 100644
index 00000000000..ac9cd193f61
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sf_mount_manual.dita
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sf_mount_manual">
+ <title>Manual Mounting</title>
+
+ <body>
+ <p>
+ You can mount the shared folder from inside a VM, in the same
+ way as you would mount an ordinary network share:
+ </p>
+ <ul>
+ <li>
+ <p>
+ In a Windows guest, shared folders are browseable and
+ therefore visible in Windows Explorer. To attach the host's
+ shared folder to your Windows guest, open Windows Explorer
+ and look for the folder in <b outputclass="bold">My
+ Networking Places</b>, <b outputclass="bold">Entire
+ Network</b>, <b outputclass="bold">Oracle VM VirtualBox
+ Shared Folders</b>. By right-clicking on a shared
+ folder and selecting <b outputclass="bold">Map Network
+ Drive</b> from the menu that pops up, you can assign
+ a drive letter to that shared folder.
+ </p>
+ <p>
+ Alternatively, on the Windows command line, use the
+ following command:
+ </p>
+ <pre xml:space="preserve">net use x: \\vboxsvr\sharename</pre>
+ <p>
+ While <codeph>vboxsvr</codeph> is a fixed name, note that
+ <codeph>vboxsrv</codeph> would also work, replace
+ <varname>x:</varname> with the drive letter that you
+ want to use for the share, and
+ <varname>sharename</varname> with the share name
+ specified with <userinput>VBoxManage</userinput>.
+ </p>
+ </li>
+ <li>
+ <p>
+ In a Linux guest, use the following command:
+ </p>
+ <pre xml:space="preserve">mount -t vboxsf [-o OPTIONS] sharename mountpoint</pre>
+ <p>
+ To mount a shared folder during boot, add the following
+ entry to <filepath>/etc/fstab</filepath>:
+ </p>
+ <pre xml:space="preserve">sharename mountpoint vboxsf defaults 0 0</pre>
+ </li>
+ <li>
+ <p>
+ In a Oracle Solaris guest, use the following command:
+ </p>
+ <pre xml:space="preserve">mount -F vboxfs [-o OPTIONS] sharename mountpoint</pre>
+ <p>
+ Replace <varname>sharename</varname>, use a
+ lowercase string, with the share name specified with
+ <userinput>VBoxManage</userinput> or VirtualBox Manager. Replace
+ <varname>mountpoint</varname> with the path where
+ you want the share to be mounted on the guest, such as
+ <filepath>/mnt/share</filepath>. The usual mount rules
+ apply. For example, create this directory first if it does
+ not exist yet.
+ </p>
+ <p>
+ Here is an example of mounting the shared folder for the
+ user jack on Oracle Solaris:
+ </p>
+ <pre xml:space="preserve">$ id
+uid=5000(jack) gid=1(other)
+$ mkdir /export/home/jack/mount
+$ pfexec mount -F vboxfs -o uid=5000,gid=1 jackshare /export/home/jack/mount
+$ cd ~/mount
+$ ls
+sharedfile1.mp3 sharedfile2.txt
+$</pre>
+ <p>
+ Beyond the standard options supplied by the
+ <userinput>mount</userinput> command, the following are
+ available:
+ </p>
+ <pre xml:space="preserve">iocharset CHARSET</pre>
+ <p>
+ This option sets the character set used for I/O operations.
+ Note that on Linux guests, if the
+ <codeph>iocharset</codeph> option is not specified, then
+ the Guest Additions driver will attempt to use the character
+ set specified by the CONFIG_NLS_DEFAULT kernel option. If
+ this option is not set either, then UTF-8 is used.
+ </p>
+ <pre xml:space="preserve">convertcp CHARSET</pre>
+ <p>
+ This option specifies the character set used for the shared
+ folder name. This is UTF-8 by default.
+ </p>
+ <p>
+ The generic mount options, documented in the
+ <userinput>mount</userinput> manual page, apply also. Especially
+ useful are the options <codeph>uid</codeph>,
+ <codeph>gid</codeph> and <codeph>mode</codeph>, as they
+ can allow access by normal users in read/write mode,
+ depending on the settings, even if root has mounted the
+ filesystem.
+ </p>
+ </li>
+ <li>
+ <p>
+ In an OS/2 guest, use the <userinput>VBoxControl</userinput>
+ command to manage shared folders. For example:
+ </p>
+ <pre xml:space="preserve">VBoxControl sharedfolder use D: MyShareName
+VBoxControl sharedfolder unuse D:
+VBoxControl sharedfolder list</pre>
+ <p>
+ As with Windows guests, shared folders can also be accessed
+ via UNC using <filepath>\\VBoxSF\</filepath>,
+ <filepath>\\VBoxSvr\</filepath> or
+ <filepath>\\VBoxSrv\</filepath> as the server name and the
+ shared folder name as <varname>sharename</varname>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/shared-folders.dita b/doc/manual/en_US/dita/topics/shared-folders.dita
new file mode 100644
index 00000000000..110187ee4e3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/shared-folders.dita
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="shared-folders">
+ <title>Shared Folders</title>
+
+ <body>
+ <p>
+ Shared folders enable you to easily exchange data between a
+ virtual machine and your host. This feature requires that the
+ Oracle VM VirtualBox Guest Additions be installed in a virtual machine
+ and is described in detail in <xref href="sharedfolders.dita#sharedfolders"/>.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/sharedfolders.dita b/doc/manual/en_US/dita/topics/sharedfolders.dita
new file mode 100644
index 00000000000..d4ec9194f4f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sharedfolders.dita
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sharedfolders">
+ <title>Shared Folders</title>
+
+ <body>
+ <p>
+ With the <i>shared folders</i> feature of
+ Oracle VM VirtualBox, you can access files of your host system from
+ within the guest system. This is similar to how you would use
+ network shares in Windows networks, except that shared folders do
+ not require networking, only the Guest Additions. Shared folders
+ are supported with Windows 2000 or later, Linux, and Oracle
+ Solaris guests. Oracle VM VirtualBox includes experimental support for
+ Mac OS X and OS/2 guests.
+ </p>
+ <p>
+ Shared folders physically reside on the <i>host</i>
+ and are then shared with the guest, which uses a special file
+ system driver in the Guest Additions to talk to the host. For
+ Windows guests, shared folders are implemented as a pseudo-network
+ redirector. For Linux and Oracle Solaris guests, the Guest
+ Additions provide a virtual file system.
+ </p>
+ <p>
+ To share a host folder with a virtual machine in Oracle VM VirtualBox,
+ you must specify the path of the folder and choose a
+ <i>share name</i> that the guest can use to access
+ the shared folder. This happens on the host. In the guest you can
+ then use the share name to connect to it and access files.
+ </p>
+ <p>
+ There are several ways in which shared folders can be set up for a
+ virtual machine:
+ </p>
+ <ul>
+ <li>
+ <p>
+ In the window of a running VM, you select
+ <b outputclass="bold">Shared Folders</b> from the
+ <b outputclass="bold">Devices</b> menu, or click on the
+ folder icon on the status bar in the bottom right corner.
+ </p>
+ </li>
+ <li>
+ <p>
+ If a VM is not currently running, you can configure shared
+ folders in the virtual machine's
+ <b outputclass="bold">Settings</b> window.
+ </p>
+ </li>
+ <li>
+ <p>
+ From the command line, you can create shared folders using
+ <userinput>VBoxManage</userinput>, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"</pre>
+ <p>
+ See <xref href="man_VBoxManage-sharedfolder.dita#vboxmanage-sharedfolder"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ There are two types of shares:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Permanent shares, that are saved with the VM settings.
+ </p>
+ </li>
+ <li>
+ <p>
+ Transient shares, that are added at runtime and disappear when
+ the VM is powered off. These can be created using a check box
+ in VirtualBox Manager, or by using the <codeph>--transient</codeph>
+ option of the <userinput>VBoxManage sharedfolder add</userinput>
+ command.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Shared folders can either be read-write or read-only. This means
+ that the guest is either allowed to both read and write, or just
+ read files on the host. By default, shared folders are read-write.
+ Read-only folders can be created using a check box in the
+ VirtualBox Manager, or with the <codeph>--readonly option</codeph> of the
+ <userinput>VBoxManage sharedfolder add</userinput> command.
+ </p>
+ <p>
+ Oracle VM VirtualBox shared folders also support symbolic links, also
+ called <i>symlinks</i>, under the following
+ conditions:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The host operating system must support symlinks. For example,
+ a macOS, Linux, or Oracle Solaris host is required.
+ </p>
+ </li>
+ <li>
+ <p>
+ Currently only Linux and Oracle Solaris Guest Additions
+ support symlinks.
+ </p>
+ </li>
+ <li>
+ <p>
+ For security reasons the guest OS is not allowed to create
+ symlinks by default. If you trust the guest OS to not abuse
+ the functionality, you can enable creation of symlinks for a
+ shared folder as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "VM name" VBoxInternal2/SharedFoldersEnableSymlinksCreate/<varname>sharename</varname> 1</pre>
+ </li>
+ </ul>
+ </body>
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/snapshots-contents.dita b/doc/manual/en_US/dita/topics/snapshots-contents.dita
new file mode 100644
index 00000000000..8cd2ca88f50
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/snapshots-contents.dita
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="snapshots-contents">
+ <title>Snapshot Contents</title>
+
+ <body>
+ <p>
+ Think of a snapshot as a point in time that you have preserved.
+ More formally, a snapshot consists of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The snapshot contains a complete copy of the VM settings,
+ including the hardware configuration, so that when you
+ restore a snapshot, the VM settings are restored as well.
+ For example, if you changed the hard disk configuration or
+ the VM's system settings, that change is undone when you
+ restore the snapshot.
+ </p>
+ <p>
+ The copy of the settings is stored in the machine
+ configuration, an XML text file, and thus occupies very
+ little space.
+ </p>
+ </li>
+ <li>
+ <p>
+ The complete state of all the virtual disks attached to the
+ machine is preserved. Going back to a snapshot means that
+ all changes that had been made to the machine's disks, file
+ by file and bit by bit, will be undone as well. Files that
+ were since created will disappear, files that were deleted
+ will be restored, changes to files will be reverted.
+ </p>
+ <p>
+ Strictly speaking, this is only true for virtual hard disks
+ in "normal" mode. You can configure disks to behave
+ differently with snapshots, see
+ <xref href="hdimagewrites.dita#hdimagewrites"/>. In technical terms, it is
+ not the virtual disk itself that is restored when a snapshot
+ is restored. Instead, when a snapshot is taken,
+ Oracle VM VirtualBox creates differencing images which contain
+ only the changes since the snapshot were taken. When the
+ snapshot is restored, Oracle VM VirtualBox throws away that
+ differencing image, thus going back to the previous state.
+ This is both faster and uses less disk space. For the
+ details, which can be complex, see
+ <xref href="diffimages.dita#diffimages"/>.
+ </p>
+ <p>
+ Creating the differencing image as such does not occupy much
+ space on the host disk initially, since the differencing
+ image will initially be empty and grow dynamically later
+ with each write operation to the disk. The longer you use
+ the machine after having created the snapshot, however, the
+ more the differencing image will grow in size.
+ </p>
+ </li>
+ <li>
+ <p>
+ If you took a snapshot while the machine was running, the
+ memory state of the machine is also saved in the snapshot.
+ This is in the same way that memory can be saved when you
+ close a VM window. When you restore such a snapshot,
+ execution resumes at exactly the point when the snapshot was
+ taken.
+ </p>
+ <p>
+ The memory state file can be as large as the memory size of
+ the VM and will therefore occupy considerable disk space.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/snapshots-take-restore-delete.dita b/doc/manual/en_US/dita/topics/snapshots-take-restore-delete.dita
new file mode 100644
index 00000000000..efe2048a5eb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/snapshots-take-restore-delete.dita
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="snapshots-take-restore-delete">
+ <title>Taking, Restoring, and Deleting Snapshots</title>
+
+ <body>
+ <p>
+ There are three operations related to snapshots, as follows:
+ </p>
+ <ol>
+ <li>
+ <p>
+ <b outputclass="bold">Take a snapshot.</b> This makes
+ a copy of the machine's current state, to which you can go
+ back at any given time later.
+ </p>
+ <ul>
+ <li>
+ <p>
+ If your VM is running:
+ </p>
+ <p>
+ Select <b outputclass="bold">Take Snapshot</b>
+ from the <b outputclass="bold">Machine</b> menu
+ in the VM window.
+ </p>
+ <p>
+ The VM is paused while the snapshot is being created.
+ After snapshot creation, the VM continues to run as
+ normal.
+ </p>
+ </li>
+ <li>
+ <p>
+ If your VM is in either the Saved or the Powered Off
+ state, as displayed next to the VM name in the machine
+ list:
+ </p>
+ <p>
+ Display the Snapshots window and do one of the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click <b outputclass="bold">Take</b> in the
+ Snapshots window toolbar.
+ </p>
+ </li>
+ <li>
+ <p>
+ Right-click on the <b outputclass="bold">Current
+ State </b>item in the list and select
+ <b outputclass="bold">Take</b>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ A dialog is displayed, prompting you for a snapshot name.
+ This name is purely for reference purposes, to help you
+ remember the state of the snapshot. For example, a useful
+ name would be "Fresh installation from scratch, no Guest
+ Additions", or "Service Pack 3 just installed". You can also
+ add a longer text description in the
+ <b outputclass="bold">Snapshot Description</b> field.
+ </p>
+ <p>
+ Your new snapshot will then appear in the snapshots list.
+ Underneath your new snapshot, you will see an item called
+ <b outputclass="bold">Current State</b>, signifying
+ that the 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 are displayed in sequence,
+ and that each subsequent snapshot is derived from an earlier
+ one.
+ </p>
+ <fig id="fig-snapshots-list">
+ <title>Snapshots List For a Virtual Machine</title>
+ <image href="images/snapshots-2.png" placement="break"/>
+ </fig>
+ <p>
+ Oracle VM VirtualBox imposes no limits on the number of snapshots
+ you can take. The only practical limitation is disk space on
+ your host. Each snapshot stores the state of the virtual
+ machine and thus occupies some disk space. See
+ <xref href="snapshots-contents.dita#snapshots-contents"/> for details on what is
+ stored in a snapshot.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Restore a snapshot.</b> In the
+ Snapshots window, select the snapshot you have taken and
+ click <b outputclass="bold">Restore</b> in the
+ toolbar. By restoring a snapshot, you go back or forward in
+ time. The current state of the machine is lost, and the
+ machine is restored to the exact state it was in when the
+ snapshot was taken.
+ </p>
+ <note>
+ <p>
+ Restoring a snapshot will affect the virtual hard drives
+ that are connected to your VM, as the entire state of the
+ virtual hard drive will be reverted as well. This means
+ also that all files that have been created since the
+ snapshot and all other file changes <i>will be
+ lost. </i>In order to prevent such data loss while
+ still making use of the snapshot feature, it is possible
+ to add a second hard drive in
+ <i>write-through</i> mode using the
+ <userinput>VBoxManage</userinput> interface and use it to
+ store your data. As write-through hard drives are
+ <i>not</i> included in snapshots, they
+ remain unaltered when a machine is reverted. See
+ <xref href="hdimagewrites.dita#hdimagewrites"/>.
+ </p>
+ </note>
+ <p>
+ To avoid losing the current state when restoring a snapshot,
+ you can create a new snapshot before the restore operation.
+ </p>
+ <p>
+ 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.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Delete a snapshot.</b> This
+ does not affect the state of the virtual machine, but only
+ releases the files on disk that Oracle VM VirtualBox used to store
+ the snapshot data, thus freeing disk space. To delete a
+ snapshot, select the snapshot name in the Snapshots window
+ and click <b outputclass="bold">Delete</b> in the
+ toolbar. Snapshots can be deleted even while a machine is
+ running.
+ </p>
+ <note>
+ <p>
+ Whereas taking and restoring snapshots are fairly quick
+ operations, deleting a snapshot can take a considerable
+ amount of time since large amounts of data may need to be
+ copied between several disk image files. Temporary disk
+ files may also need large amounts of disk space while the
+ operation is in progress.
+ </p>
+ </note>
+ <p>
+ There are some situations which cannot be handled while a VM
+ is running, and you will get an appropriate message that you
+ need to perform this snapshot deletion when the VM is shut
+ down.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/snapshots.dita b/doc/manual/en_US/dita/topics/snapshots.dita
new file mode 100644
index 00000000000..406021f5dd3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/snapshots.dita
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="snapshots">
+ <title>Snapshots</title>
+
+ <body>
+ <p>
+ With snapshots, you can save a particular state of a virtual
+ machine for later use. At any later time, you can revert to that
+ state, even though you may have changed the VM considerably since
+ then. A snapshot of a virtual machine is thus similar to a machine
+ in Saved state, but there can be many of them, and these saved
+ states are preserved.
+ </p>
+ <p>
+ To see the snapshots of a virtual machine, click on the machine
+ name in VirtualBox Manager. In the machine tools menu for the VM, click
+ <b outputclass="bold">Snapshots</b>. The Snapshots tool is
+ displayed.
+ </p>
+ <fig id="fig-snapshots-tool">
+ <title>Snapshots Tool, Showing Snapshot Properties</title>
+ <image href="images/snapshots-1.png" placement="break"/>
+ </fig>
+ <p>
+ If you select multiple VMs in the machine list, all snapshots are
+ listed for each VM.
+ </p>
+ <p>
+ Until you take a snapshot of the virtual machine, the list of
+ snapshots will be empty, except for the
+ <b outputclass="bold">Current State</b> item. This item
+ represents the current point in the lifetime of the virtual
+ machine.
+ </p>
+ <p>
+ The Snapshots window includes a toolbar, enabling you to perform
+ the following snapshot operations:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Take.</b> Takes a snapshot of the
+ selected VM. See
+ <xref href="snapshots-take-restore-delete.dita#snapshots-take-restore-delete"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Delete.</b> Removes a snapshot
+ from the list of snapshots. See
+ <xref href="snapshots-take-restore-delete.dita#snapshots-take-restore-delete"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Restore.</b> Restores the VM
+ state to be the same as the selected snapshot. See
+ <xref href="snapshots-take-restore-delete.dita#snapshots-take-restore-delete"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Properties.</b> Displays the
+ properties for the selected snapshot. The
+ <b outputclass="bold">Attributes</b> tab is used to
+ specify a Name and Description for the snapshot. The
+ <b outputclass="bold">Information</b> tab shows VM
+ settings for the snapshot.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Clone.</b> Displays the
+ <b outputclass="bold">Clone Virtual Machine</b> wizard.
+ This enables you to create a clone of the VM, based on the
+ selected snapshot.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Settings.</b> Available for the
+ Current State snapshot only. Displays the
+ <b outputclass="bold">Settings</b> window for the VM,
+ enabling you to make configuration changes.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Discard.</b> For a running VM,
+ discards the saved state for the VM and closes it down.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Start.</b> Start the VM. This
+ operation is available for the <b outputclass="bold">Current
+ State</b> item.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/soft-keyb-custom.dita b/doc/manual/en_US/dita/topics/soft-keyb-custom.dita
new file mode 100644
index 00000000000..1aa9685283a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/soft-keyb-custom.dita
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="soft-keyb-custom">
+ <title>Creating a Custom Keyboard Layout</title>
+
+ <body>
+ <p>
+ You can use one of the supplied default keyboard layouts as the
+ starting point to create a custom keyboard layout.
+ </p>
+ <note>
+ <p>
+ To permananently save a custom keyboard layout, you must save
+ it to a file. Otherwise, any changes you make are discarded
+ when you close down the <b outputclass="bold">Soft
+ Keyboard</b> window.
+ </p>
+ <p>
+ Custom keyboard layouts that you save are stored as an XML
+ file on the host, in the <filepath>keyboardLayouts</filepath>
+ folder in the global configuration data directory. For
+ example, in
+ <filepath>$HOME/.config/VirtualBox/keyboardLayouts</filepath>
+ on a Linux host.
+ </p>
+ </note>
+ <ol>
+ <li>
+ <p>
+ Display the <b outputclass="bold">Layout List</b>.
+ </p>
+ <p>
+ Click the <b outputclass="bold">Layout List</b> icon
+ in the toolbar of the soft keyboard window.
+ </p>
+ </li>
+ <li>
+ <p>
+ Make a copy of an existing keyboard layout.
+ </p>
+ <p>
+ Highlight the required layout and click the
+ <b outputclass="bold">Copy the Selected Layout</b>
+ icon.
+ </p>
+ <p>
+ A new layout entry with a name suffix of
+ <codeph>-Copy</codeph> is created.
+ </p>
+ </li>
+ <li>
+ <p>
+ Edit the new keyboard layout.
+ </p>
+ <p>
+ Highlight the new layout in the <b outputclass="bold">Layout
+ List</b> and click the <b outputclass="bold">Edit the
+ Selected Layout</b> icon.
+ </p>
+ <p>
+ Enter a new name for the layout.
+ </p>
+ <p>
+ Edit keys in the new layout. Click on the key that you want
+ to edit and enter new key captions in the
+ <b outputclass="bold">Captions</b> fields.
+ </p>
+ <p>
+ The keyboard graphic is updated with the new captions.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Save the layout to a file. This means that your
+ custom keyboard layout will be available for future use.
+ </p>
+ <p>
+ Highlight the new layout in the <b outputclass="bold">Layout
+ List</b> and click the <b outputclass="bold">Save the
+ Selected Layout into File</b> icon.
+ </p>
+ <p>
+ Any custom layouts that you create can later be removed from
+ the Layout List, by highlighting and clicking the
+ <b outputclass="bold">Delete the Selected Layout</b>
+ icon.
+ </p>
+ </li>
+ </ol>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/soft-keyb-using.dita b/doc/manual/en_US/dita/topics/soft-keyb-using.dita
new file mode 100644
index 00000000000..0bb00e9adfa
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/soft-keyb-using.dita
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="soft-keyb-using">
+ <title>Using the Soft Keyboard</title>
+
+ <body>
+ <ol>
+ <li>
+ <p>
+ Display the soft keyboard.
+ </p>
+ <p>
+ In the guest VM window, select
+ <b outputclass="bold">Input</b>,
+ <b outputclass="bold">Keyboard</b>,
+ <b outputclass="bold">Soft Keyboard</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Select the required keyboard layout.
+ </p>
+ <p>
+ The name of the current keyboard layout is displayed in the
+ toolbar of the soft keyboard window. This is the previous
+ keyboard layout that was used.
+ </p>
+ <p>
+ Click the <b outputclass="bold">Layout List</b> icon
+ in the toolbar of the soft keyboard window. The
+ <b outputclass="bold">Layout List</b> window is
+ displayed.
+ </p>
+ <p>
+ Select the required keyboard layout from the entries in the
+ <b outputclass="bold">Layout List</b> window.
+ </p>
+ <p>
+ The keyboard display graphic is updated to show the
+ available input keys.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the soft keyboard to enter keyboard characters on the
+ guest.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Modifier keys such as Shift, Ctrl, and Alt are available
+ on the soft keyboard. Click once to select the modifier
+ key, click twice to lock the modifier key.
+ </p>
+ <p>
+ The <b outputclass="bold">Reset the Keyboard and Release
+ All Keys</b> icon can be used to release all
+ pressed modifier keys, both on the host and the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ To change the look of the soft keyboard, click the
+ <b outputclass="bold">Settings</b> icon in the
+ toolbar. You can change colors used in the keyboard
+ graphic, and can hide or show sections of the keyboard,
+ such as the NumPad or multimedia keys.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ol>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/soft-keyb.dita b/doc/manual/en_US/dita/topics/soft-keyb.dita
new file mode 100644
index 00000000000..584416d082d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/soft-keyb.dita
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="soft-keyb">
+ <title>Soft Keyboard</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox provides a <i>soft keyboard</i> that
+ enables you to input keyboard characters on the guest. A soft
+ keyboard is an on-screen keyboard that can be used as an
+ alternative to a physical keyboard. See
+ <xref href="soft-keyb-using.dita#soft-keyb-using"/> for details of how to use the
+ soft keyboard.
+ </p>
+ <note type="caution">
+ <p>
+ For best results, ensure that the keyboard layout configured on
+ the guest OS matches the keyboard layout used by the soft
+ keyboard. Oracle VM VirtualBox does not do this automatically.
+ </p>
+ </note>
+ <fig id="fig-soft-keyb">
+ <title>Soft Keyboard in a Guest Virtual Machine</title>
+ <image href="images/softkeybd.png" placement="break"/>
+ </fig>
+ <p>
+ The soft keyboard can be used in the following scenarios:
+ </p>
+ <ul>
+ <li>
+ <p>
+ When the physical keyboard on the host is not the same as the
+ keyboard layout configured on the guest. For example, if the
+ guest is configured to use an international keyboard, but the
+ host keyboard is US English.
+ </p>
+ </li>
+ <li>
+ <p>
+ To send special key combinations to the guest. Note that some
+ common key combinations are also available in the
+ <b outputclass="bold">Input</b>,
+ <b outputclass="bold">Keyboard</b> menu of the guest VM
+ window. See <xref href="specialcharacters.dita#specialcharacters"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ For guests in kiosk mode, where a physical keyboard is not
+ present.
+ </p>
+ </li>
+ <li>
+ <p>
+ When using nested virtualization, the soft keyboard provides a
+ method of sending key presses to a guest.
+ </p>
+ </li>
+ </ul>
+ <p>
+ By default, the soft keyboard includes some common international
+ keyboard layouts. You can copy and modify these to meet your own
+ requirements. See <xref href="soft-keyb-custom.dita#soft-keyb-custom"/>.
+ </p>
+ </body>
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/solaris-zones.dita b/doc/manual/en_US/dita/topics/solaris-zones.dita
new file mode 100644
index 00000000000..5b326738173
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/solaris-zones.dita
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="solaris-zones">
+ <title>Configuring a Zone for Running Oracle VM VirtualBox</title>
+
+ <body>
+ <p>
+ Assuming that Oracle VM VirtualBox has already been installed into
+ your zone, you need to give the zone access to Oracle VM VirtualBox's
+ device node. This is done by performing the following steps.
+ Start a root terminal and run the following command:
+ </p>
+ <pre xml:space="preserve">zonecfg -z <varname>vboxzone</varname>
+ </pre>
+ <p>
+ Replace <varname>vboxzone</varname> with the name of the
+ zone where you intend to run Oracle VM VirtualBox.
+ </p>
+ <p>
+ Use <userinput>zonecfg</userinput> to add the
+ <codeph>device</codeph> resource and <codeph>match</codeph>
+ properties to the zone, as follows:
+ </p>
+ <pre xml:space="preserve">zonecfg:vboxzone&gt;add device
+zonecfg:vboxzone:device&gt;set match=/dev/vboxdrv
+zonecfg:vboxzone:device&gt;end
+zonecfg:vboxzone&gt;add device
+zonecfg:vboxzone:device&gt;set match=/dev/vboxdrvu
+zonecfg:vboxzone:device&gt;end
+zonecfg:vboxzone&gt;exit</pre>
+ <p>
+ On Oracle Solaris 11 or later, you may also add a device for
+ <filepath>/dev/vboxusbmon</filepath>, similar to that shown
+ above.
+ </p>
+ <p>
+ If you are not using sparse root zones, you will need to
+ loopback mount <filepath>/opt/VirtualBox</filepath> from the
+ global zone into the non-global zone at the same path. This is
+ specified below using the <codeph>dir</codeph> attribute and
+ the <codeph>special</codeph> attribute. For example:
+ </p>
+ <pre xml:space="preserve">zonecfg:vboxzone&gt;add fs
+zonecfg:vboxzone:device&gt;set dir=/opt/VirtualBox
+zonecfg:vboxzone:device&gt;set special=/opt/VirtualBox
+zonecfg:vboxzone:device&gt;set type=lofs
+zonecfg:vboxzone:device&gt;end
+zonecfg:vboxzone&gt;exit</pre>
+ <p>
+ Reboot the zone using <userinput>zoneadm</userinput> and you should
+ be able to run Oracle VM VirtualBox from within the configured zone.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/solariscodedumper.dita b/doc/manual/en_US/dita/topics/solariscodedumper.dita
new file mode 100644
index 00000000000..e786baf0056
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/solariscodedumper.dita
@@ -0,0 +1,66 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="solariscodedumper">
+ <title>Configuring the Oracle VM VirtualBox CoreDumper on Oracle Solaris Hosts</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox is capable of producing its own core files for
+ extensive debugging when things go wrong. Currently this is only
+ available on Oracle Solaris hosts.
+ </p>
+ <p>
+ The Oracle VM VirtualBox CoreDumper can be enabled using the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> VBoxInternal2/CoreDumpEnabled 1</pre>
+ <p>
+ You can specify which directory to use for core dumps with this
+ command, as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> VBoxInternal2/CoreDumpDir <varname>path-to-directory</varname>
+ </pre>
+ <p>
+ Make sure the directory you specify is on a volume with sufficient
+ free space and that the Oracle VM VirtualBox process has sufficient
+ permissions to write files to this directory. If you skip this
+ command and do not specify any core dump directory, the current
+ directory of the Oracle VM VirtualBox executable will be used. This
+ would most likely fail when writing cores as they are protected
+ with root permissions. It is recommended you explicitly set a core
+ dump directory.
+ </p>
+ <p>
+ You must specify when the Oracle VM VirtualBox CoreDumper should be
+ triggered. This is done using the following commands:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> VBoxInternal2/CoreDumpReplaceSystemDump 1
+$ VBoxManage setextradata <varname>VM-name</varname> VBoxInternal2/CoreDumpLive 1</pre>
+ <p>
+ At least one of the above two commands will have to be provided if
+ you have enabled the Oracle VM VirtualBox CoreDumper.
+ </p>
+ <p>
+ Setting <codeph>CoreDumpReplaceSystemDump</codeph> sets up the
+ VM to override the host's core dumping mechanism and in the event
+ of any crash only the Oracle VM VirtualBox CoreDumper would produce the
+ core file.
+ </p>
+ <p>
+ Setting <codeph>CoreDumpLive</codeph> sets up the VM to produce
+ cores whenever the VM process receives a
+ <codeph>SIGUSR2</codeph> signal. After producing the core file,
+ the VM will not be terminated and will continue to run. You can
+ thus take cores of the VM process using the following command:
+ </p>
+ <pre xml:space="preserve">$ kill -s SIGUSR2 <varname>VM-process-id</varname>
+ </pre>
+ <p>
+ The Oracle VM VirtualBox CoreDumper creates core files of the form
+ <filepath>core.vb.<varname>process-name</varname>.<varname>process-ID</varname>
+ </filepath>
+ such as <filepath>core.vb.VBoxHeadless.11321</filepath>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/specialcharacters.dita b/doc/manual/en_US/dita/topics/specialcharacters.dita
new file mode 100644
index 00000000000..1c5f7125873
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/specialcharacters.dita
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="specialcharacters">
+ <title>Typing Special Characters</title>
+
+ <body>
+ <p>
+ Some OSes expect certain key combinations to initiate certain
+ procedures. The key combinations that you type into a VM might
+ target the host OS, the Oracle VM VirtualBox software, or the guest
+ OS. The recipient of these keypresses depends on a number of
+ factors, including the key combination itself.
+ </p>
+ <ul>
+ <li>
+ <p>
+ Host OSes reserve certain key combinations for themselves.
+ For example, you cannot use the
+ <b outputclass="bold">Ctrl+Alt+Delete</b> combination
+ to reboot the guest OS in your VM, because this key
+ combination is reserved by the host OS. Even though both
+ Windows and Linux OSes can intercept this key combination,
+ the host OS is rebooted automatically.
+ </p>
+ <p>
+ On Linux and Oracle Solaris hosts, which use the X Window
+ System, the key combination
+ <b outputclass="bold">Ctrl+Alt+Backspace</b> normally
+ resets the X server and restarts the entire graphical user
+ interface. As the X server intercepts this combination,
+ pressing it will usually restart your
+ <i>host</i> graphical user interface and kill
+ all running programs, including Oracle VM VirtualBox, in the
+ process.
+ </p>
+ <p>
+ On Linux hosts supporting virtual terminals, the key
+ combination <b outputclass="bold">Ctrl+Alt+Fx</b>,
+ where Fx is one of the function keys from F1 to F12,
+ normally enables you to switch between virtual terminals. As
+ with <b outputclass="bold">Ctrl+Alt+Delete</b>, these
+ combinations are intercepted by the host OS and therefore
+ always switch terminals on the <i>host</i>.
+ </p>
+ <p>
+ If, instead, you want to send these key combinations to the
+ <i>guest</i> OS in the virtual machine, you
+ will need to use one of the following methods:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Use the items in the
+ <b outputclass="bold">Input</b>,
+ <b outputclass="bold">Keyboard</b> menu of the
+ virtual machine window. This menu includes the settings
+ <b outputclass="bold">Insert Ctrl+Alt+Delete</b>
+ and <b outputclass="bold">Insert
+ Ctrl+Alt+Backspace</b>. However, the latter
+ setting affects only Linux guests or Oracle Solaris
+ guests.
+ </p>
+ <p>
+ This menu also includes an option for inserting the Host
+ key combination.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use special key combinations with the Host key, which is
+ normally the right Control key. Oracle VM VirtualBox then
+ translates the following key combinations for the VM:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Host key + Del</b>
+ sends <b outputclass="bold">Ctrl+Alt+Del</b>
+ to reboot the guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Host key +
+ Backspace</b> sends
+ <b outputclass="bold">Ctrl+Alt+Backspace</b>
+ to restart the graphical user interface of a Linux
+ or Oracle Solaris guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Host key + Function
+ key</b>. For example, use this key
+ combination to simulate
+ <b outputclass="bold">Ctrl+Alt+Fx</b> to
+ switch between virtual terminals in a Linux guest.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ For some other keyboard combinations such as
+ <b outputclass="bold">Alt+Tab</b> to switch between
+ open windows, Oracle VM VirtualBox enables you to configure
+ whether these combinations will affect the host or the
+ guest, if a virtual machine currently has the focus. This is
+ a global setting for all virtual machines and can be found
+ under <b outputclass="bold">File</b>,
+ <b outputclass="bold">Preferences</b>,
+ <b outputclass="bold">Input</b>.
+ </p>
+ </li>
+ <li>
+ <p>
+ A soft keyboard can be used to input key combinations in the
+ guest. See <xref href="soft-keyb.dita#soft-keyb"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/sse412passthrough.dita b/doc/manual/en_US/dita/topics/sse412passthrough.dita
new file mode 100644
index 00000000000..e3999aadfdb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sse412passthrough.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sse412passthrough">
+ <title>Passing Through SSE4.1/SSE4.2 Instructions</title>
+
+ <body>
+ <p>
+ To provide SSE 4.1/SSE 4.2 support to guests, the host CPU has to
+ implement these instruction sets. The instruction sets are exposed
+ to guests by default, but it is possible to disable the
+ instructions for certain guests by using the following commands:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/CPUM/IsaExts/SSE4.1 0
+$ VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/CPUM/IsaExts/SSE4.2 0</pre>
+ <p>
+ These are per-VM settings which are enabled by default.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/startingvboxonlinux.dita b/doc/manual/en_US/dita/topics/startingvboxonlinux.dita
new file mode 100644
index 00000000000..b2b9467eabf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/startingvboxonlinux.dita
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="startingvboxonlinux">
+ <title>Starting Oracle VM VirtualBox on Linux</title>
+
+ <body>
+ <p>
+ The easiest way to start an Oracle VM VirtualBox program is by running
+ the program of your choice (<userinput>VirtualBox</userinput>,
+ <userinput>VBoxManage</userinput>, or
+ <userinput>VBoxHeadless</userinput>) from a terminal. These are
+ symbolic links to <userinput>VBox.sh</userinput> that start the
+ required program for you.
+ </p>
+ <p>
+ The following detailed instructions should only be of interest
+ if you wish to execute Oracle VM VirtualBox without installing it
+ first. You should start by compiling the
+ <userinput>vboxdrv</userinput> kernel module and inserting it into
+ the Linux kernel. Oracle VM VirtualBox consists of a service daemon,
+ <userinput>VBoxSVC</userinput>, and several application programs.
+ The daemon is automatically started if necessary. All
+ Oracle VM VirtualBox applications will communicate with the daemon
+ through UNIX local domain sockets. There can be multiple daemon
+ instances under different user accounts and applications can
+ only communicate with the daemon running under the user account
+ as the application. The local domain socket resides in a
+ subdirectory of your system's directory for temporary files
+ called <filepath>.vbox-&lt;username&gt;-ipc</filepath>. In case
+ of communication problems or server startup problems, you may
+ try to remove this directory.
+ </p>
+ <p>
+ All Oracle VM VirtualBox applications (<userinput>VirtualBox</userinput>,
+ <userinput>VBoxManage</userinput>, and
+ <userinput>VBoxHeadless</userinput>) require the Oracle VM VirtualBox
+ directory to be in the library path, as follows:
+ </p>
+ <pre xml:space="preserve">LD_LIBRARY_PATH=. ./VBoxManage showvminfo "Windows XP"</pre>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/storage-bandwidth-limit.dita b/doc/manual/en_US/dita/topics/storage-bandwidth-limit.dita
new file mode 100644
index 00000000000..90adf7def13
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/storage-bandwidth-limit.dita
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="storage-bandwidth-limit">
+ <title>Limiting Bandwidth for Disk Images</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports limiting of the maximum bandwidth used for
+ asynchronous I/O. Additionally it supports sharing limits through
+ bandwidth groups for several images. It is possible to have more
+ than one such limit.
+ </p>
+ <p>
+ Limits are configured using <userinput>VBoxManage</userinput>. The
+ example below creates a bandwidth group named Limit, sets the
+ limit to 20 MB per second, and assigns the group to the attached
+ disks of the VM:
+ </p>
+ <pre xml:space="preserve">VBoxManage bandwidthctl "VM name" add Limit --type disk --limit 20M
+VBoxManage storageattach "VM name" --storagectl "SATA" --port 0 --device 0 --type hdd
+ --medium disk1.vdi --bandwidthgroup Limit
+VBoxManage storageattach "VM name" --storagectl "SATA" --port 1 --device 0 --type hdd
+ --medium disk2.vdi --bandwidthgroup Limit</pre>
+ <p>
+ All disks in a group share the bandwidth limit, meaning that in
+ the example above the bandwidth of both images combined can never
+ exceed 20 MBps. However, if one disk does not require bandwidth
+ the other can use the remaining bandwidth of its group.
+ </p>
+ <p>
+ The limits for each group can be changed while the VM is running,
+ with changes being picked up immediately. The example below
+ changes the limit for the group created in the example above to 10
+ MBps:
+ </p>
+ <pre xml:space="preserve">VBoxManage bandwidthctl "VM name" set Limit --limit 10M</pre>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/storage-cds.dita b/doc/manual/en_US/dita/topics/storage-cds.dita
new file mode 100644
index 00000000000..b02d011394c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/storage-cds.dita
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="storage-cds">
+ <title>CD/DVD Support</title>
+
+ <body>
+ <p>
+ Virtual CD/DVD drives by default support only reading. The medium
+ configuration is changeable at runtime. You can select between the
+ following options to provide the medium data:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Host Drive</b> defines that the
+ guest can read from the medium in the host drive.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Image file</b> gives the guest
+ read-only access to the data in the image. This is typically
+ an ISO file.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Empty</b> means a drive without
+ an inserted medium.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Changing between the above, or changing a medium in the host drive
+ that is accessed by a machine, or changing an image file will
+ signal a medium change to the guest OS. The guest OS can then
+ react to the change, for example by starting an installation
+ program.
+ </p>
+ <p>
+ Medium changes can be prevented by the guest, and Oracle VM VirtualBox
+ reflects that by locking the host drive if appropriate. You can
+ force a medium removal in such situations by using the VirtualBox
+ Manager or the <userinput>VBoxManage</userinput> command line tool.
+ Effectively this is the equivalent of the emergency eject which
+ many CD/DVD drives provide, with all associated side effects. The
+ guest OS can issue error messages, just like on real hardware, and
+ guest applications may misbehave. Use this with caution.
+ </p>
+ <note>
+ <p>
+ The identification string of the drive provided to the guest,
+ displayed by configuration tools such as the Windows Device
+ Manager, is always VBOX CD-ROM, irrespective of the current
+ configuration of the virtual drive. This is to prevent hardware
+ detection from being triggered in the guest OS every time the
+ configuration is changed.
+ </p>
+ </note>
+ <p>
+ 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 <i>passthrough</i>
+ mode. Depending on the host hardware, this may potentially enable
+ the following things to work:
+ </p>
+ <ul>
+ <li>
+ <p>
+ CD/DVD writing from within the guest, if the host DVD drive is
+ a CD/DVD writer
+ </p>
+ </li>
+ <li>
+ <p>
+ Playing audio CDs
+ </p>
+ </li>
+ <li>
+ <p>
+ Playing encrypted DVDs
+ </p>
+ </li>
+ </ul>
+ <p>
+ To enable host drive passthrough you can use the
+ <codeph>--passthrough</codeph> option of the <userinput>VBoxManage
+ storageattach</userinput> command. See
+ <xref href="man_VBoxManage-storageattach.dita#vboxmanage-storageattach"/>.
+ </p>
+ <p>
+ 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.
+ </p>
+ <p>
+ On Oracle Solaris hosts, passthrough requires running
+ Oracle VM VirtualBox with real root permissions due to security measures
+ enforced by the host.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/storage-iscsi.dita b/doc/manual/en_US/dita/topics/storage-iscsi.dita
new file mode 100644
index 00000000000..ca0ef687fc3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/storage-iscsi.dita
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="storage-iscsi">
+ <title>iSCSI Servers</title>
+
+ <body>
+ <p>
+ iSCSI stands for <i>Internet SCSI</i> and is a
+ standard that supports use of 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
+ <i>iSCSI target</i>, while the client connecting to
+ the server and accessing its resources is called an
+ <i>iSCSI initiator</i>.
+ </p>
+ <p>
+ Oracle VM VirtualBox can transparently present iSCSI remote storage to a
+ virtual machine as a virtual hard disk. The guest OS will not see
+ any difference between a virtual disk image (VDI file) and an
+ iSCSI target. To achieve this, Oracle VM VirtualBox has an integrated
+ iSCSI initiator.
+ </p>
+ <p>
+ Oracle VM VirtualBox's iSCSI support has been developed according to the
+ iSCSI standard and should work with all standard-conforming iSCSI
+ targets. To use an iSCSI target with Oracle VM VirtualBox, you must use
+ the command line. See <xref href="man_VBoxManage-storageattach.dita#vboxmanage-storageattach"/>.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/storage.dita b/doc/manual/en_US/dita/topics/storage.dita
new file mode 100644
index 00000000000..48ddf6c4d8e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/storage.dita
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="storage">
+ <title>Virtual Storage</title>
+
+ <body>
+ <p>
+ As the virtual machine will most probably expect to see a hard disk
+ built into its virtual computer, Oracle VM VirtualBox must be able to
+ present real storage to the guest as a virtual hard disk. There are
+ presently three methods by which to achieve this:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Oracle VM VirtualBox can use large image files on a real hard disk and
+ present them to a guest as a virtual hard disk. This is the most
+ common method, described in <xref href="vdidetails.dita#vdidetails"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ iSCSI storage servers can be attached to Oracle VM VirtualBox. This is
+ described in <xref href="storage-iscsi.dita#storage-iscsi"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ You can allow a virtual machine to access one of your host disks
+ directly. This is an advanced feature, described in
+ <xref href="rawdisk.dita">Using a Raw Host Hard Disk From a Guest</xref>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Each such virtual storage device, such as an image file, iSCSI
+ target, or physical hard disk, needs to be connected to the virtual
+ hard disk controller that Oracle VM VirtualBox presents to a virtual
+ machine. This is explained in the next section.
+ </p>
+ </body>
+
+
+
+
+
+
+
+
+
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/sysprep.dita b/doc/manual/en_US/dita/topics/sysprep.dita
new file mode 100644
index 00000000000..6cc0508f1c9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/sysprep.dita
@@ -0,0 +1,54 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="sysprep">
+ <title>Automated Windows System Preparation</title>
+
+ <body>
+ <p>
+ Microsoft offers a system preparation tool called Sysprep, to
+ prepare a Windows system for deployment or redistribution. Some
+ Windows releases include Sysprep on the installation medium, but
+ the tool is also available for download from the Microsoft web
+ site. In a standard For most Windows versions, Sysprep is
+ included in a default installation. Sysprep mainly consists of
+ an executable called <userinput>sysprep.exe</userinput> which is
+ invoked by the user to put the Windows installation into
+ preparation mode.
+ </p>
+ <p>
+ The Guest Additions offer a way to launch a system preparation
+ on the guest operating system in an automated way, controlled
+ from the host system. See
+ <xref href="guestadd-guestcontrol.dita">Guest Control of Applications</xref> for details of how to
+ use this feature with the special identifier
+ <codeph>sysprep</codeph> as the program to execute, along with
+ the user name <codeph>sysprep</codeph> and password
+ <codeph>sysprep</codeph> for the credentials. Sysprep is then
+ started with the required system rights.
+ </p>
+ <note>
+ <p>
+ Specifying the location of <userinput>sysprep.exe</userinput> is
+ <b outputclass="bold">not possible</b>. Instead the
+ following paths are used, based on the Windows release:
+ </p>
+ <ul>
+ <li>
+ <p><filepath>C:\sysprep\sysprep.exe</filepath> for Windows XP
+ and earlier
+ </p>
+ </li>
+ <li>
+ <p><filepath>%WINDIR%\System32\sysprep\sysprep.exe</filepath>
+ for Windows Vista and later
+ </p>
+ </li>
+ </ul>
+ <p>
+ The Guest Additions will automatically use the appropriate
+ path to execute the system preparation tool.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/technical-components.dita b/doc/manual/en_US/dita/topics/technical-components.dita
new file mode 100644
index 00000000000..b6da44d6c6d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/technical-components.dita
@@ -0,0 +1,227 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="technical-components">
+ <title>Oracle VM VirtualBox Executables and Components</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox was designed to be modular and flexible. When the
+ Oracle VM VirtualBox graphical user interface (GUI) is opened and a VM
+ is started, at least the following three processes are running:
+ </p>
+ <ul>
+ <li>
+ <p><userinput>VBoxSVC</userinput>, the Oracle VM VirtualBox service process
+ which always runs in the background. This process is started
+ automatically by the first Oracle VM VirtualBox client process and
+ exits a short time after the last client exits. The first
+ Oracle VM VirtualBox service can be VirtualBox Manager,
+ <userinput>VBoxManage</userinput>,
+ <userinput>VBoxHeadless</userinput>, the web service amongst
+ others. The service is responsible for bookkeeping,
+ maintaining the state of all VMs, and for providing
+ communication between Oracle VM VirtualBox components. This
+ communication is implemented using COM/XPCOM.
+ </p>
+ <note>
+ <p>
+ When we refer to <i>clients</i> here, we mean
+ the local clients of a particular <userinput>VBoxSVC</userinput>
+ server process, not clients in a network. Oracle VM VirtualBox
+ employs its own client/server design to allow its processes
+ to cooperate, but all these processes run under the same
+ user account on the host operating system, and this is
+ totally transparent to the user.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ The GUI process, <userinput>VirtualBoxVM</userinput>, a client
+ application based on the cross-platform Qt library. When
+ started without the <codeph>--startvm</codeph> option, this
+ application acts as VirtualBox Manager, displaying the VMs and their
+ settings. It then communicates settings and state changes to
+ <userinput>VBoxSVC</userinput> and also reflects changes effected
+ through other means, such as the <userinput>VBoxManage</userinput>
+ command.
+ </p>
+ </li>
+ <li>
+ <p>
+ If the <userinput>VirtualBoxVM</userinput> client application is
+ started with the <codeph>--startvm</codeph> argument, it loads
+ the VMM library which includes the actual hypervisor and then
+ runs a virtual machine and provides the input and output for
+ the guest.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Any Oracle VM VirtualBox front-end, or client, will communicate with the
+ service process and can both control and reflect the current
+ state. For example, either the VM selector or the VM window or
+ VBoxManage can be used to pause the running VM, and other
+ components will always reflect the changed state.
+ </p>
+ <p>
+ The Oracle VM VirtualBox GUI application, called VirtualBox Manager, is only one
+ of several available front ends, or clients. The complete list
+ shipped with Oracle VM VirtualBox is as follows:
+ </p>
+ <ul>
+ <li>
+ <p><userinput>VirtualBoxVM</userinput>: The Qt front end implementing
+ VirtualBox Manager and running VMs.
+ </p>
+ </li>
+ <li>
+ <p><userinput>VBoxManage</userinput>: A less user-friendly but more
+ powerful alternative. See <xref href="vboxmanage.dita">VBoxManage</xref>.
+ </p>
+ </li>
+ <li>
+ <p><userinput>VBoxHeadless</userinput>: A VM front end which does not
+ directly provide any video output and keyboard or mouse input,
+ but enables redirection through the VirtualBox Remote Desktop
+ Extension. See <xref href="vboxheadless.dita"/>.
+ </p>
+ </li>
+ <li>
+ <p><userinput>vboxwebsrv</userinput>: The Oracle VM VirtualBox web service
+ process which enables control of an Oracle VM VirtualBox host
+ remotely. This is described in detail in the Oracle VM VirtualBox
+ Software Development Kit (SDK) reference. See
+ <xref href="VirtualBoxAPI.dita"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ The Oracle VM VirtualBox Python shell: A Python alternative to
+ <userinput>VBoxManage</userinput>. This is also described in the
+ SDK reference.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Internally, Oracle VM VirtualBox consists of many more or less separate
+ components. You may encounter these when analyzing Oracle VM VirtualBox
+ internal error messages or log files. These include the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ IPRT: A portable runtime library which abstracts file access,
+ threading, and string manipulation. Whenever Oracle VM VirtualBox
+ accesses host operating features, it does so through this
+ library for cross-platform portability.
+ </p>
+ </li>
+ <li>
+ <p>
+ VMM (Virtual Machine Monitor): The heart of the hypervisor.
+ </p>
+ </li>
+ <li>
+ <p>
+ EM (Execution Manager): Controls execution of guest code.
+ </p>
+ </li>
+ <li>
+ <p>
+ TRPM (Trap Manager): Intercepts and processes guest traps and
+ exceptions.
+ </p>
+ </li>
+ <li>
+ <p>
+ HM (Hardware Acceleration Manager): Provides support for VT-x
+ and AMD-V.
+ </p>
+ </li>
+ <li>
+ <p>
+ GIM (Guest Interface Manager): Provides support for various
+ paravirtualization interfaces to the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ PDM (Pluggable Device Manager): An abstract interface between
+ the VMM and emulated devices which separates device
+ implementations from VMM internals and makes it easy to add
+ new emulated devices. Through PDM, third-party developers can
+ add new virtual devices to Oracle VM VirtualBox without having to
+ change Oracle VM VirtualBox itself.
+ </p>
+ </li>
+ <li>
+ <p>
+ PGM (Page Manager): A component that controls guest paging.
+ </p>
+ </li>
+ <li>
+ <p>
+ TM (Time Manager): Handles timers and all aspects of time
+ inside guests.
+ </p>
+ </li>
+ <li>
+ <p>
+ CFGM (Configuration Manager): Provides a tree structure which
+ holds configuration settings for the VM and all emulated
+ devices.
+ </p>
+ </li>
+ <li>
+ <p>
+ SSM (Saved State Manager): Saves and loads VM state.
+ </p>
+ </li>
+ <li>
+ <p>
+ VUSB (Virtual USB): A USB layer which separates emulated USB
+ controllers from the controllers on the host and from USB
+ devices. This component also enables remote USB.
+ </p>
+ </li>
+ <li>
+ <p>
+ DBGF (Debug Facility): A built-in VM debugger.
+ </p>
+ </li>
+ <li>
+ <p>
+ Oracle VM VirtualBox emulates a number of devices to provide the
+ hardware environment that various guests need. Most of these
+ are standard devices found in many PC compatible machines and
+ widely supported by guest operating systems. For network and
+ storage devices in particular, there are several options for
+ the emulated devices to access the underlying hardware. These
+ devices are managed by PDM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Guest Additions for various guest operating systems. This is
+ code that is installed from within a virtual machine. See
+ <xref href="guestadditions.dita">Guest Additions</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ The "Main" component is special. It ties all the above bits
+ together and is the only public API that Oracle VM VirtualBox
+ provides. All the client processes listed above use only this
+ API and never access the hypervisor components directly. As a
+ result, third-party applications that use the Oracle VM VirtualBox
+ Main API can rely on the fact that it is always well-tested
+ and that all capabilities of Oracle VM VirtualBox are fully exposed.
+ It is this API that is described in the Oracle VM VirtualBox SDK.
+ See <xref href="VirtualBoxAPI.dita#VirtualBoxAPI"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/teleporting.dita b/doc/manual/en_US/dita/topics/teleporting.dita
new file mode 100644
index 00000000000..ab056f7e84d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/teleporting.dita
@@ -0,0 +1,130 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="teleporting">
+ <title>Teleporting</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports <i>teleporting</i>.
+ Teleporting is moving a virtual machine over a network from one
+ Oracle VM VirtualBox host to another, while the virtual machine is
+ running. This works regardless of the host operating system that
+ is running on the hosts. You can teleport virtual machines between
+ Oracle Solaris and macOS hosts, for example.
+ </p>
+ <p>
+ Teleporting requires that a machine be currently running on one
+ host, which is called the <i>source</i>. The host to
+ which the virtual machine will be teleported is called the
+ <i>target</i>. The machine on the target is then
+ configured to wait for the source to contact the target. The
+ machine's running state will then be transferred from the source
+ to the target with minimal downtime.
+ </p>
+ <p>
+ Teleporting happens over any TCP/IP network. The source and the
+ target only need to agree on a TCP/IP port which is specified in
+ the teleporting settings.
+ </p>
+ <p>
+ At this time, there are a few prerequisites for this to work, as
+ follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ On the target host, you must configure a virtual machine in
+ Oracle VM VirtualBox with exactly the same hardware settings as the
+ machine on the source that you want to teleport. This does not
+ apply to settings which are merely descriptive, such as the VM
+ name, but obviously for teleporting to work, the target
+ machine must have the same amount of memory and other hardware
+ settings. Otherwise teleporting will fail with an error
+ message.
+ </p>
+ </li>
+ <li>
+ <p>
+ The two virtual machines on the source and the target must
+ share the same storage, hard disks as well as floppy disks and
+ CD/DVD images. This means that they either use the same iSCSI
+ targets or that the storage resides somewhere on the network
+ and both hosts have access to it using NFS or SMB/CIFS.
+ </p>
+ <p>
+ This also means that neither the source nor the target machine
+ can have any snapshots.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To configure teleporting, perform the following steps:
+ </p>
+ <ol>
+ <li>
+ <p>
+ On the <i>target</i> host, configure the virtual
+ machine to wait for a teleport request to arrive when it is
+ started, instead of actually attempting to start the machine.
+ This is done with the following <userinput>VBoxManage</userinput>
+ command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>targetvmname</varname> --teleporter on --teleporter-port <varname>port</varname>
+ </pre>
+ <p><varname>targetvmname</varname> is the name of the
+ virtual machine on the target host and
+ <varname>port</varname> is a TCP/IP port number to be
+ used on both the source and the target hosts. For example, use
+ 6000. See <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
+ </p>
+ </li>
+ <li>
+ <p>
+ Start the VM on the target host. Instead of running, the VM
+ shows a progress dialog, indicating that it is waiting for a
+ teleport request to arrive.
+ </p>
+ </li>
+ <li>
+ <p>
+ Start the VM on the <i>source</i> host as usual.
+ When it is running and you want it to be teleported, issue the
+ following command on the source host:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm <varname>sourcevmname</varname> teleport --host <varname>targethost</varname> --port <varname>port</varname>
+ </pre>
+ <p>
+ where <varname>sourcevmname</varname> is the name of
+ the virtual machine on the source host, which is the machine
+ that is currently running.
+ <varname>targethost</varname> is the host or IP name
+ of the target host on which the machine is waiting for the
+ teleport request, and <varname>port</varname> must be
+ the same number as specified in the command on the target
+ host. See <xref href="man_VBoxManage-controlvm.dita">VBoxManage controlvm</xref>.
+ </p>
+ </li>
+ </ol>
+ <p>
+ For testing, you can also teleport machines on the same host. In
+ that case, use localhost as the hostname on both the source and
+ the target host.
+ </p>
+ <note>
+ <p>
+ In rare cases, if the CPUs of the source and the target are very
+ different, teleporting can fail with an error message, or the
+ target may hang. This may happen especially if the VM is running
+ application software that is highly optimized to run on a
+ particular CPU without correctly checking that certain CPU
+ features are actually present. Oracle VM VirtualBox filters what CPU
+ capabilities are presented to the guest operating system.
+ Advanced users can attempt to restrict these virtual CPU
+ capabilities with the <userinput>VBoxManage modifyvm
+ --cpuid-portability-level</userinput> command. See
+ <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/terminate-vm-action.dita b/doc/manual/en_US/dita/topics/terminate-vm-action.dita
new file mode 100644
index 00000000000..2b59dace490
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/terminate-vm-action.dita
@@ -0,0 +1,77 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="terminate-vm-action">
+ <title>Action when Terminating the VM</title>
+
+ <body>
+ <p>
+ You can disallow certain actions when terminating a VM. To
+ disallow specific actions, use the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> GUI/RestrictedCloseActions <varname>property</varname>[,<varname>property</varname>...]</pre>
+ <p><varname>property</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>SaveState</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow the user to save the VM state when
+ terminating the VM.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Shutdown</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow the user to shutdown the VM by sending the
+ ACPI power-off event to the guest.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>PowerOff</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow the user to power off the VM.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>PowerOffRestoringSnapshot</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow the user to return to the last snapshot when
+ powering off the VM.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Detach</codeph>
+ </dt>
+ <dd>
+ <p>
+ Do not allow the user to detach from the VM process if the
+ VM was started in separate mode.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM setting. You can specify any combination of
+ properties. If all properties are specified, the VM cannot be
+ shut down.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/terminate-vm-default-action.dita b/doc/manual/en_US/dita/topics/terminate-vm-default-action.dita
new file mode 100644
index 00000000000..23830a799d8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/terminate-vm-default-action.dita
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="terminate-vm-default-action">
+ <title>Default Action when Terminating the VM</title>
+
+ <body>
+ <p>
+ You can define a specific action for terminating a VM. In
+ contrast to the setting decribed in the previous section, this
+ setting allows only one action when the user terminates the VM.
+ No exit menu is shown. Use the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> GUI/DefaultCloseAction <varname>action</varname>
+ </pre>
+ <p><varname>action</varname> is one of the following:
+ </p>
+ <dl>
+ <dlentry>
+ <dt>
+ <codeph>SaveState</codeph>
+ </dt>
+ <dd>
+ <p>
+ Save the VM state before terminating the VM process.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Shutdown</codeph>
+ </dt>
+ <dd>
+ <p>
+ The VM is shut down by sending the ACPI power-off event to
+ the guest.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>PowerOff</codeph>
+ </dt>
+ <dd>
+ <p>
+ The VM is powered off.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>PowerOffRestoringSnapshot</codeph>
+ </dt>
+ <dd>
+ <p>
+ The VM is powered off and the saved state returns to the
+ last snapshot.
+ </p>
+ </dd>
+ </dlentry>
+ <dlentry>
+ <dt>
+ <codeph>Detach</codeph>
+ </dt>
+ <dd>
+ <p>
+ Terminate the frontend but leave the VM process running.
+ </p>
+ </dd>
+ </dlentry>
+ </dl>
+ <p>
+ This is a per-VM setting. You can specify any combination of
+ properties. If all properties are specified, the VM cannot be
+ shut down.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_categorize-isolate.dita b/doc/manual/en_US/dita/topics/ts_categorize-isolate.dita
new file mode 100644
index 00000000000..bacbbc49cfb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_categorize-isolate.dita
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_categorize-isolate">
+ <title>Categorizing and Isolating Problems</title>
+
+ <body>
+ <p>
+ More often than not, a virtualized guest behaves like a physical
+ system. Any problems that a physical machine would encounter, a
+ virtual machine will encounter as well. If, for example,
+ Internet connectivity is lost due to external issues, virtual
+ machines will be affected just as much as physical ones.
+ </p>
+ <p>
+ If a true Oracle VM VirtualBox problem is encountered, it helps to
+ categorize and isolate the problem first. Here are some of the
+ questions that should be answered before reporting a problem:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Is the problem specific to a certain guest OS? Or a specific
+ release of a guest OS? Especially with Linux guest related
+ problems, the issue may be specific to a certain
+ distribution and version of Linux.
+ </p>
+ </li>
+ <li>
+ <p>
+ Is the problem specific to a certain host OS? Problems are
+ usually not host OS specific, because most of the
+ Oracle VM VirtualBox code base is shared across all supported
+ platforms, but especially in the areas of networking and USB
+ support, there are significant differences between host
+ platforms. Some GUI related issues are also host specific.
+ </p>
+ </li>
+ <li>
+ <p>
+ Is the problem specific to certain host hardware? This
+ category of issues is typically related to the host CPU.
+ Because of significant differences between VT-x and AMD-V,
+ problems may be specific to one or the other technology. The
+ exact CPU model may also make a difference because different
+ CPUs support different features, which may affect certain
+ aspects of guest CPU operation.
+ </p>
+ </li>
+ <li>
+ <p>
+ Is the problem specific to guest SMP? That is, is it related
+ to the number of virtual CPUs (VCPUs) in the guest? Using
+ more than one CPU usually significantly affects the internal
+ operation of a guest OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ Is the problem specific to the Guest Additions? In some
+ cases, this is obvious, such as a shared folders problem. In
+ other cases such as display problems, it may be less
+ obvious. If the problem is Guest Additions specific, is it
+ also specific to a certain version of the Guest Additions?
+ </p>
+ </li>
+ <li>
+ <p>
+ Is the problem specific to a certain environment? Some
+ problems are related to a particular environment external to
+ the VM. This usually involves network setup. Certain
+ configurations of external servers such as DHCP or PXE may
+ expose problems which do not occur with other, similar
+ servers.
+ </p>
+ </li>
+ <li>
+ <p>
+ Is the problem a regression? Knowing that an issue is a
+ regression usually makes it significantly easier to find the
+ solution. In this case, it is crucial to know which version
+ is affected and which is not.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_config-periodic-flush.dita b/doc/manual/en_US/dita/topics/ts_config-periodic-flush.dita
new file mode 100644
index 00000000000..460a2648e60
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_config-periodic-flush.dita
@@ -0,0 +1,79 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_config-periodic-flush">
+ <title>Guest Shows IDE/SATA Errors for File-Based Images on Slow Host File
+ System</title>
+
+ <body>
+ <p>
+ Occasionally, some host file systems provide very poor writing
+ performance and as a consequence cause the guest to time out
+ IDE/SATA commands. This is normal behavior and should normally
+ cause no real problems, as the guest should repeat commands that
+ have timed out. However, guests such as some Linux versions have
+ severe problems if a write to an image file takes longer than
+ about 15 seconds. Some file systems however require more than a
+ minute to complete a single write, if the host cache contains a
+ large amount of data that needs to be written.
+ </p>
+ <p>
+ The symptom for this problem is that the guest can no longer
+ access its files during large write or copying operations,
+ usually leading to an immediate hang of the guest.
+ </p>
+ <p>
+ In order to work around this problem, the true fix is to use a
+ faster file system that does not 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.
+ </p>
+ <p>
+ For IDE disks use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname>
+"VBoxInternal/Devices/piix3ide/0/LUN#[<varname>x</varname>]/Config/FlushInterval" [<varname>b</varname>]</pre>
+ <p>
+ For SATA disks use the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname>
+"VBoxInternal/Devices/ahci/0/LUN#[<varname>x</varname>]/Config/FlushInterval" [<varname>b</varname>]</pre>
+ <p><codeph>[<varname>x</varname>]</codeph> specifies the
+ disk. For IDE, <codeph>0</codeph> represents device 0 on the
+ primary channel, <codeph>1</codeph> represents device 1 on the
+ primary channel, <codeph>2</codeph> represents device 0 on the
+ secondary channel, and <codeph>3</codeph> represents device 1
+ on the secondary channel. For SATA, use values between
+ <codeph>0</codeph> and <codeph>29</codeph>. This
+ configuration option applies to disks only. Do not use this
+ option for CD or DVD drives.
+ </p>
+ <p>
+ The unit of the interval
+ (<codeph>[<varname>b</varname>]</codeph>) is the
+ number of bytes written since the last flush. The value for it
+ must be selected so that the occasional long write delays do not
+ occur. Since the proper flush interval depends on the
+ performance of the host and the host filesystem, finding the
+ optimal value that makes the problem disappear requires some
+ experimentation. Values between 1000000 and 10000000 (1 to 10
+ megabytes) are a good starting point. Decreasing the interval
+ both decreases the probability of the problem and the write
+ performance of the guest. Setting the value unnecessarily low
+ will cost performance without providing any benefits. An
+ interval of 1 will cause a flush for each write operation and
+ should solve the problem in any case, but has a severe write
+ performance penalty.
+ </p>
+ <p>
+ Providing a value of <codeph>0</codeph> for
+ <codeph>[<varname>b</varname>]</codeph> is treated as
+ an infinite flush interval, effectively disabling this
+ workaround. Removing the extra data key by specifying no value
+ for <codeph>[<varname>b</varname>]</codeph> has the
+ same effect.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_debugger.dita b/doc/manual/en_US/dita/topics/ts_debugger.dita
new file mode 100644
index 00000000000..f094f587199
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_debugger.dita
@@ -0,0 +1,269 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_debugger">
+ <title>The Built-In VM Debugger</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox includes a built-in VM debugger, which advanced
+ users may find useful. This debugger enables you to examine and,
+ to some extent, control the VM state.
+ </p>
+ <note type="attention">
+ <p>
+ Use the VM debugger at your own risk. There is no support for
+ it, and the following documentation is only made available for
+ advanced users with a very high level of familiarity with the
+ x86/AMD64 machine instruction set, as well as detailed
+ knowledge of the PC architecture. A degree of familiarity with
+ the internals of the guest OS in question may also be very
+ helpful.
+ </p>
+ </note>
+ <p>
+ The VM debugger is available in all regular production versions
+ of Oracle VM VirtualBox, but it is disabled by default because the
+ average user will have little use for it. There are two ways to
+ access the debugger:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Using a debugger console window displayed alongside the VM
+ </p>
+ </li>
+ <li>
+ <p>
+ Using the <userinput>telnet</userinput> protocol on port 5000
+ </p>
+ </li>
+ </ul>
+ <p>
+ The debugger can be enabled in the following ways:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Start the VM directly using <userinput>VirtualBoxVM
+ --startvm</userinput>, with an additional
+ <codeph>--dbg</codeph>, <codeph>--debug</codeph>, or
+ <codeph>--debug-command-line</codeph> argument. See the
+ <userinput>VirtualBoxVM --help</userinput> command usage help
+ for details.
+ </p>
+ </li>
+ <li>
+ <p>
+ Set the <codeph>VBOX_GUI_DBG_ENABLED</codeph> or
+ <codeph>VBOX_GUI_DBG_AUTO_SHOW</codeph> environment
+ variable to <codeph>true</codeph> before launching the
+ Oracle VM VirtualBox process. Setting these variables, only their
+ presence is checked, is effective even when the first
+ Oracle VM VirtualBox process is the VM selector window. VMs
+ subsequently launched from the selector will have the
+ debugger enabled.
+ </p>
+ </li>
+ <li>
+ <p>
+ Set the <codeph>GUI/Dbg/Enabled</codeph> extra data item
+ to <codeph>true</codeph> before launching the VM. This can
+ be set globally or on a per VM basis.
+ </p>
+ </li>
+ </ul>
+ <p>
+ A new <b outputclass="bold">Debug</b> menu entry is added
+ to the Oracle VM VirtualBox application. This menu enables the user to
+ open the debugger console.
+ </p>
+ <p>
+ The VM debugger command syntax is loosely modeled on Microsoft
+ and IBM debuggers used on DOS, OS/2, and Windows. Users familiar
+ with symdeb, CodeView, or the OS/2 kernel debugger will find the
+ Oracle VM VirtualBox VM debugger familiar.
+ </p>
+ <p>
+ The most important command is <userinput>help</userinput>. This will
+ print brief usage help for all debugger commands. The set of
+ commands supported by the VM debugger changes frequently and the
+ <userinput>help</userinput> command is always up-to-date.
+ </p>
+ <p>
+ A brief summary of frequently used commands is as follows:
+ </p>
+ <ul>
+ <li>
+ <p><userinput>stop</userinput>: Stops the VM execution and enables
+ single stepping
+ </p>
+ </li>
+ <li>
+ <p><userinput>g</userinput>: Continue VM execution
+ </p>
+ </li>
+ <li>
+ <p><userinput>t</userinput>: Single step an instruction
+ </p>
+ </li>
+ <li>
+ <p><userinput>rg</userinput>, <userinput>rh</userinput>, and
+ <userinput>r</userinput>: Print the guest, hypervisor, and
+ current registers
+ </p>
+ </li>
+ <li>
+ <p><userinput>kg</userinput>, <userinput>kh</userinput>, and
+ <userinput>k</userinput>: Print the guest, hypervisor, and
+ current call stack
+ </p>
+ </li>
+ <li>
+ <p><userinput>da</userinput>, <userinput>db</userinput>,
+ <userinput>dw</userinput>, <userinput>dd</userinput>,
+ <userinput>dq</userinput>: Print memory contents as ASCII,
+ bytes, words, dwords, and qwords
+ </p>
+ </li>
+ <li>
+ <p><userinput>u</userinput>: Unassemble memory
+ </p>
+ </li>
+ <li>
+ <p><userinput>dg</userinput>: Print the guest's GDT
+ </p>
+ </li>
+ <li>
+ <p><userinput>di</userinput>: Print the guest's IDT
+ </p>
+ </li>
+ <li>
+ <p><userinput>dl</userinput>: Print the guest's LDT
+ </p>
+ </li>
+ <li>
+ <p><userinput>dt</userinput>: Print the guest's TSS
+ </p>
+ </li>
+ <li>
+ <p><userinput>dp*</userinput>: Print the guest's page table
+ structures
+ </p>
+ </li>
+ <li>
+ <p><userinput>bp</userinput> and <userinput>br</userinput>: Set a
+ normal and recompiler breakpoint
+ </p>
+ </li>
+ <li>
+ <p><userinput>bl</userinput>: List breakpoints
+ </p>
+ </li>
+ <li>
+ <p><userinput>bc</userinput>: Clear a breakpoint
+ </p>
+ </li>
+ <li>
+ <p><userinput>writecore</userinput>: Write a VM core file to disk.
+ See <xref href="ts_guest-core-format.dita#ts_guest-core-format"/></p>
+ </li>
+ </ul>
+ <p>
+ See the built-in <userinput>help</userinput> for other available
+ commands.
+ </p>
+ <p>
+ The VM debugger supports symbolic debugging, although symbols
+ for guest code are often not available. For Oracle Solaris
+ guests, the <userinput>detect</userinput> command automatically
+ determines the guest OS version and locates kernel symbols in
+ guest's memory. Symbolic debugging is then available. For Linux
+ guests, the <userinput>detect</userinput> commands also determines
+ the guest OS version, but there are no symbols in the guest's
+ memory. Kernel symbols are available in the file
+ <filepath>/proc/kallsyms</filepath> on Linux guests. This file
+ must be copied to the host, for example using
+ <userinput>scp</userinput>. The <userinput>loadmap</userinput> debugger
+ command can be used to make the symbol information available to
+ the VM debugger. Note that the <filepath>kallsyms</filepath>
+ file contains the symbols for the currently loaded modules. If
+ the guest's configuration changes, the symbols will change as
+ well and must be updated.
+ </p>
+ <p>
+ For all guests, a simple way to verify that the correct symbols
+ are loaded is the <userinput>k</userinput> command. The guest is
+ normally idling and it should be clear from the symbolic
+ information that the guest operating system's idle loop is being
+ executed.
+ </p>
+ <p>
+ Another group of debugger commands is the set of
+ <userinput>info</userinput> commands. Running <userinput>info
+ help</userinput> provides complete usage information. The
+ information commands provide ad-hoc data pertinent to various
+ emulated devices and aspects of the VMM. There is no general
+ guideline for using the <userinput>info</userinput> commands, the
+ right command to use depends entirely on the problem being
+ investigated. Some of the <userinput>info</userinput> commands are
+ as follows:
+ </p>
+ <ul>
+ <li>
+ <p><userinput>cfgm</userinput>: Print a branch of the configuration
+ tree
+ </p>
+ </li>
+ <li>
+ <p><userinput>cpuid</userinput>: Display the guest CPUID leaves
+ </p>
+ </li>
+ <li>
+ <p><userinput>ioport</userinput>: Print registered I/O port ranges
+ </p>
+ </li>
+ <li>
+ <p><userinput>mmio</userinput>: Print registered MMIO ranges
+ </p>
+ </li>
+ <li>
+ <p><userinput>mode</userinput>: Print the current paging mode
+ </p>
+ </li>
+ <li>
+ <p><userinput>pit</userinput>: Print the i8254 PIT state
+ </p>
+ </li>
+ <li>
+ <p><userinput>pic</userinput>: Print the i8259A PIC state
+ </p>
+ </li>
+ <li>
+ <p><userinput>ohci</userinput>, <userinput>ehci</userinput>,
+ <userinput>xhci</userinput>: Print a subset of the OHCI, EHCI,
+ and xHCI USB controller state
+ </p>
+ </li>
+ <li>
+ <p><userinput>pcnet0</userinput>: Print the PCnet state
+ </p>
+ </li>
+ <li>
+ <p><userinput>vgatext</userinput>: Print the contents of the VGA
+ framebuffer formatted as standard text mode
+ </p>
+ </li>
+ <li>
+ <p><userinput>timers</userinput>: Print all VM timers
+ </p>
+ </li>
+ </ul>
+ <p>
+ The output of the <userinput>info</userinput> commands generally
+ requires in-depth knowledge of the emulated device or
+ Oracle VM VirtualBox VMM internals. However, when used properly, the
+ information provided can be invaluable.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_general.dita b/doc/manual/en_US/dita/topics/ts_general.dita
new file mode 100644
index 00000000000..932ec2e958c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_general.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_general">
+ <title>General Troubleshooting</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_guest-core-format.dita b/doc/manual/en_US/dita/topics/ts_guest-core-format.dita
new file mode 100644
index 00000000000..4d3ee71647b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_guest-core-format.dita
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_guest-core-format">
+ <title>VM Core Format</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox uses the 64-bit ELF format for its VM core files
+ created by <userinput>VBoxManage debugvm</userinput>, see
+ <xref href="man_VBoxManage-debugvm.dita">VBoxManage debugvm</xref>. The VM core file contain
+ the memory and CPU dumps of the VM and can be useful for
+ debugging your guest OS. The 64-bit ELF object format
+ specification can be obtained at:
+ </p>
+ <p><ph>http://downloads.openwatcom.org/ftp/devel/docs/elf-64-gen.pdf</ph>.
+ </p>
+ <p>
+ The overall layout of the VM core format is as follows:
+ </p>
+ <pre xml:space="preserve">[ ELF 64 Header]
+[ Program Header, type PT_NOTE ]
+ → offset to COREDESCRIPTOR
+[ Program Header, type PT_LOAD ] - one for each contiguous physical memory range
+ → Memory offset of range
+ → File offset
+[ Note Header, type NT_VBOXCORE ]
+[ COREDESCRIPTOR ]
+ → Magic
+ → VM core file version
+ → VBox version
+ → Number of vCPUs etc.
+[ Note Header, type NT_VBOXCPU ] - one for each vCPU
+[ vCPU 1 Note Header ]
+ [ DBGFCORECPU - vCPU 1 dump ]
+[ Additional Notes + Data ] - currently unused
+[ Memory dump ]</pre>
+ <p>
+ The memory descriptors contain physical addresses relative to
+ the guest and not virtual addresses. Regions of memory such as
+ MMIO regions are not included in the core file.
+ </p>
+ <p>
+ The relevant data structures and definitions can be found in the
+ Oracle VM VirtualBox sources under the following header files:
+ <filepath>include/VBox/dbgfcorefmt.h</filepath>,
+ <filepath>include/iprt/x86.h</filepath> and
+ <filepath>src/VBox/Runtime/include/internal/ldrELFCommon.h</filepath>.
+ </p>
+ <p>
+ The VM core file can be inspected using
+ <userinput>elfdump</userinput> and GNU <userinput>readelf</userinput> or
+ other similar utilities.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_gui-2d-grayed-out.dita b/doc/manual/en_US/dita/topics/ts_gui-2d-grayed-out.dita
new file mode 100644
index 00000000000..aa93c5d115b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_gui-2d-grayed-out.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_gui-2d-grayed-out">
+ <title>GUI: 2D Video Acceleration Option is Grayed Out</title>
+
+ <body>
+ <p>
+ To use 2D Video Acceleration within Oracle VM VirtualBox, your host's
+ video card should support certain OpenGL extensions. On startup,
+ Oracle VM VirtualBox checks for those extensions, and, if the test
+ fails, this option is silently grayed out.
+ </p>
+ <p>
+ To find out why it has failed, you can manually execute the
+ following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxTestOGL --log "log_file_name" --test 2D</pre>
+ <p>
+ It will list the required OpenGL extensions one by one and will
+ show you which one failed the test. This usually means that you
+ are running an outdated or misconfigured OpenGL driver on your
+ host. It can also mean that your video chip is lacking required
+ functionality.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_host-freq-boost.dita b/doc/manual/en_US/dita/topics/ts_host-freq-boost.dita
new file mode 100644
index 00000000000..4ebbbb9dbb8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_host-freq-boost.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_host-freq-boost">
+ <title>Performance Variation with Frequency Boosting</title>
+
+ <body>
+ <p>
+ Many multicore processors support some form of frequency
+ boosting, which means that if only one core is utilized, it can
+ run possibly 50% faster or even more than the rated CPU
+ frequency. This causes measured performance to vary somewhat as
+ a function of the momentary overall system load. The exact
+ behavior depends strongly on the specific processor model.
+ </p>
+ <p>
+ As a consequence, benchmarking on systems which utilize
+ frequency boosting may produce unstable and non-repeatable
+ results. This is especially true if benchmark runs are short, of
+ the order of seconds. To obtain stable results, benchmarks must
+ be run over longer periods of time and with a constant system
+ load apart from the VM being tested.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_host-freq-scaling.dita b/doc/manual/en_US/dita/topics/ts_host-freq-scaling.dita
new file mode 100644
index 00000000000..90f46029cb4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_host-freq-scaling.dita
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_host-freq-scaling">
+ <title>Frequency Scaling Effect on CPU Usage</title>
+
+ <body>
+ <p>
+ On some hardware platforms and operating systems, CPU frequency
+ scaling may cause CPU usage reporting to be highly misleading.
+ This happens in situations when the host CPU load is significant
+ but not heavy, such as between 15% to 30% of the maximum.
+ </p>
+ <p>
+ Most operating systems determine CPU usage in terms of time
+ spent, measuring for example how many nanoseconds the systems or
+ a process was active within one second. However, in order to
+ save energy, systems can significantly scale down CPU speed when
+ the system is not fully loaded. When the CPU is running at for
+ example one half of its maximum speed, the same number of
+ instructions will take roughly twice as long to execute compared
+ to running at full speed.
+ </p>
+ <p>
+ Depending on the specific hardware and host OS, this effect can
+ very significantly skew the CPU usage reported by the OS. The
+ reported CPU usage can be several times higher than what it
+ would have been had the CPU been running at full speed. The
+ effect can be observed both on the host OS and in a guest OS.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_host-powermgmt.dita b/doc/manual/en_US/dita/topics/ts_host-powermgmt.dita
new file mode 100644
index 00000000000..523094e3dae
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_host-powermgmt.dita
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_host-powermgmt">
+ <title>Poor Performance Caused by Host Power Management</title>
+
+ <body>
+ <p>
+ On some hardware platforms and operating systems, virtualization
+ performance is negatively affected by host CPU power management.
+ The symptoms may be choppy audio in the guest or erratic guest
+ clock behavior.
+ </p>
+ <p>
+ Some of the problems may be caused by firmware and/or host
+ operating system bugs. Therefore, updating the firmware and
+ applying operating systems fixes is recommended.
+ </p>
+ <p>
+ For optimal virtualization performance, the C1E power state
+ support in the system's BIOS should be disabled, if such a
+ setting is available. Not all systems support the C1E power
+ state. On Intel systems, the <codeph>Intel C State</codeph>
+ setting should be disabled. Disabling other power management
+ settings may also improve performance. However, a balance
+ between performance and power consumption must always be
+ considered.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_ide-sata-flush.dita b/doc/manual/en_US/dita/topics/ts_ide-sata-flush.dita
new file mode 100644
index 00000000000..c21f2b81776
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_ide-sata-flush.dita
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_ide-sata-flush">
+ <title>Responding to Guest IDE/SATA Flush Requests</title>
+
+ <body>
+ <p>
+ If desired, the virtual disk images can be flushed when the
+ guest issues the IDE FLUSH CACHE command. Normally these
+ requests are ignored for improved performance. The parameters
+ below are only accepted for disk drives. They must not be set
+ for DVD drives.
+ </p>
+ <p>
+ To enable flushing for IDE disks, issue the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/Devices/piix3ide/0/LUN#[<varname>x</varname>]/Config/IgnoreFlush" 0</pre>
+ <p><codeph>[<varname>x</varname>]</codeph> specifies the
+ disk. Enter <codeph>0</codeph> for device 0 on the primary
+ channel, <codeph>1</codeph> for device 1 on the primary
+ channel, <codeph>2</codeph> for device 0 on the secondary
+ channel, or <codeph>3</codeph> for device 1 on the secondary
+ channel.
+ </p>
+ <p>
+ To enable flushing for SATA disks, issue the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/Devices/ahci/0/LUN#[x]/Config/IgnoreFlush" 0</pre>
+ <p>
+ The value [x] that selects the disk can be a value between 0 and
+ 29.
+ </p>
+ <p>
+ Note that this does not affect the flushes performed according
+ to the configuration described in
+ <xref href="ts_config-periodic-flush.dita#ts_config-periodic-flush"/>. Restoring the
+ default of ignoring flush commands is possible by setting the
+ value to 1 or by removing the key.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_lin-hosts.dita b/doc/manual/en_US/dita/topics/ts_lin-hosts.dita
new file mode 100644
index 00000000000..2b1581c16a8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_lin-hosts.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_lin-hosts">
+ <title>Linux Hosts</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_lin-x11-guests.dita b/doc/manual/en_US/dita/topics/ts_lin-x11-guests.dita
new file mode 100644
index 00000000000..040d7f6a7e0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_lin-x11-guests.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_lin-x11-guests">
+ <title>Linux and X11 Guests</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-buggy.dita b/doc/manual/en_US/dita/topics/ts_linux-buggy.dita
new file mode 100644
index 00000000000..9703114fbf6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-buggy.dita
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-buggy">
+ <title>Buggy Linux 2.6 Kernel Versions</title>
+
+ <body>
+ <p>
+ The following bugs in Linux kernels prevent them from executing
+ correctly in Oracle VM VirtualBox, causing VM boot crashes:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The Linux kernel version 2.6.18, and some 2.6.17 versions,
+ introduced a race condition that can cause boot crashes in
+ Oracle VM VirtualBox. Please use a kernel version 2.6.19 or later.
+ </p>
+ </li>
+ <li>
+ <p>
+ With hardware virtualization and the I/O APIC enabled,
+ kernels before 2.6.24-rc6 may panic on boot with the
+ following message:
+ </p>
+ <pre xml:space="preserve">Kernel panic - not syncing: IO-APIC + timer doesn't work! Boot with
+apic=debug and send a report. Then try booting with the 'noapic' option</pre>
+ <p>
+ If you see this message, either disable hardware
+ virtualization or the I/O APIC as described in
+ <xref href="settings-system.dita">System Settings</xref>, or upgrade the guest to
+ a newer kernel.
+ </p>
+ <p>
+ See
+ <ph>http://www.mail-archive.com/git-commits-head@vger.kernel.org/msg30813.html</ph>
+ for details about the kernel fix.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-guest-high-cpu.dita b/doc/manual/en_US/dita/topics/ts_linux-guest-high-cpu.dita
new file mode 100644
index 00000000000..16f73cbd36e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-guest-high-cpu.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-guest-high-cpu">
+ <title>Linux Guests May Cause a High CPU load</title>
+
+ <body>
+ <p>
+ 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.
+ </p>
+ <p>
+ Linux kernels shipped with Red Hat Enterprise Linux, as well as
+ kernels of related Linux distributions, such as CentOS and
+ Oracle Linux, support a kernel parameter
+ <i>divider=N</i>. Hence, such kernels support a
+ lower timer frequency without recompilation. We suggest you add
+ the kernel parameter <i>divider=10</i> to select a
+ guest kernel timer frequency of 100Hz.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-guest-x11-services.dita b/doc/manual/en_US/dita/topics/ts_linux-guest-x11-services.dita
new file mode 100644
index 00000000000..f7f39a4ce73
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-guest-x11-services.dita
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-guest-x11-services">
+ <title>Shared Clipboard, Auto-Resizing, and Seamless Desktop in X11 Guests</title>
+
+ <body>
+ <p>
+ Guest desktop services in guests running the X11 window system
+ such as Oracle Solaris and Linux, are provided by a guest
+ service called <userinput>VBoxClient</userinput>, which runs under
+ the ID of the user who started the desktop session and is
+ automatically started using the following command lines when
+ your X11 user session is started if you are using a common
+ desktop environment such as Gnome or KDE.
+ </p>
+ <pre xml:space="preserve">$ VBoxClient --clipboard
+$ VBoxClient --display
+$ VBoxClient --seamless</pre>
+ <p>
+ If a particular desktop service is not working correctly, it is
+ worth checking whether the process which should provide it is
+ running.
+ </p>
+ <p>
+ The <userinput>VBoxClient</userinput> processes create files in the
+ user's home directory with names of the form
+ <filepath>.vboxclient-*.pid</filepath> when they are running in
+ order to prevent a given service from being started twice. It
+ can happen due to misconfiguration that these files are created
+ owned by root and not deleted when the services are stopped,
+ which will prevent them from being started in future sessions.
+ If the services cannot be started, you may wish to check whether
+ these files still exist.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-host-cd-dvd-not-found.dita b/doc/manual/en_US/dita/topics/ts_linux-host-cd-dvd-not-found.dita
new file mode 100644
index 00000000000..64beb2aa6e9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-host-cd-dvd-not-found.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-host-cd-dvd-not-found">
+ <title>Linux Host CD/DVD or Floppy Disk Drive Not Found</title>
+
+ <body>
+ <p>
+ If you have configured a virtual machine to use the host's CD or
+ DVD drive or floppy disk drive, but this does not appear to
+ work, make sure that the current user has permission to access
+ the corresponding Linux device file. For example, for a CD or
+ DVD drive this may be <filepath>/dev/hdc</filepath>,
+ <filepath>/dev/scd0</filepath>, <filepath>/dev/cdrom</filepath>
+ or similar. On most distributions, the user must be added to a
+ corresponding group, usually called <userinput>cdrom</userinput> or
+ <userinput>cdrw</userinput> or <userinput>floppy</userinput>.
+ </p>
+ <p>
+ On supported Linux distributions, Oracle VM VirtualBox uses
+ <userinput>udev</userinput> to locate hardware such as CD/DVD drives
+ and floppy disk drives.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-host-grsec.dita b/doc/manual/en_US/dita/topics/ts_linux-host-grsec.dita
new file mode 100644
index 00000000000..dfd63f86018
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-host-grsec.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-host-grsec">
+ <title>PAX/grsec Kernels</title>
+
+ <body>
+ <p>
+ Linux kernels including the grsec patch, see
+ <ph>http://www.grsecurity.net/</ph>, and derivates have
+ to disable PAX_MPROTECT for the <userinput>VBox</userinput> binaries
+ to be able to start a VM. The reason is that Oracle VM VirtualBox has
+ to create executable code on anonymous memory.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-host-ide-messages.dita b/doc/manual/en_US/dita/topics/ts_linux-host-ide-messages.dita
new file mode 100644
index 00000000000..6052015f926
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-host-ide-messages.dita
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-host-ide-messages">
+ <title>Strange Guest IDE Error Messages When Writing to CD or DVD</title>
+
+ <body>
+ <p>
+ If the experimental CD or DVD writer support is enabled with an
+ incorrect host or guest configuration, it is possible that any
+ attempt to access the CD or DVD writer fails and simply results
+ in guest kernel error messages for Linux guests or application
+ error messages for Windows guests. Oracle VM VirtualBox performs the
+ usual consistency checks when a VM is powered up. In particular,
+ it aborts with an error message if the device for the CD or DVD
+ writer is not writable by the user starting the VM. But
+ Oracle VM VirtualBox cannot detect all misconfigurations. The
+ necessary host and guest OS configuration is not specific for
+ Oracle VM VirtualBox, but a few frequent problems are listed here
+ which occurred in connection with Oracle VM VirtualBox.
+ </p>
+ <p>
+ Special care must be taken to use the correct device. The
+ configured host CD or DVD device file name, in most cases
+ <filepath>/dev/cdrom</filepath>, must point to the device that
+ allows writing to the CD or DVD unit. For CD or DVD writer units
+ connected to a SCSI controller or to a IDE controller that
+ interfaces to the Linux SCSI subsystem, common for some SATA
+ controllers, this must refer to the SCSI device node, such as
+ <filepath>/dev/scd0</filepath>. Even for IDE CD or DVD writer
+ units this must refer to the appropriate SCSI CD-ROM device
+ node, such as <filepath>/dev/scd0</filepath>, if the
+ <userinput>ide-scsi</userinput> kernel module is loaded. This module
+ is required for CD or DVD writer support with some early 2.6
+ kernels. Many Linux distributions load this module whenever a CD
+ or DVD writer is detected in the system, even if the kernel
+ would support CD or DVD writers without the module.
+ Oracle VM VirtualBox supports the use of IDE device files, such as
+ <filepath>/dev/hdc</filepath>, provided the kernel supports this
+ and the <userinput>ide-scsi</userinput> module is not loaded.
+ </p>
+ <p>
+ Similar rules, except that within the guest the CD or DVD writer
+ is always an IDE device, apply to the guest configuration. Since
+ this setup is very common, it is likely that the default
+ configuration of the guest works as expected.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-host-malloc.dita b/doc/manual/en_US/dita/topics/ts_linux-host-malloc.dita
new file mode 100644
index 00000000000..386c7701e38
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-host-malloc.dita
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-host-malloc">
+ <title>Linux Kernel vmalloc Pool Exhausted</title>
+
+ <body>
+ <p>
+ When running a large number of VMs with a lot of RAM on a Linux
+ system, say 20 VMs with 1 GB of RAM each, additional VMs might
+ fail to start with a kernel error saying that the vmalloc pool
+ is exhausted and should be extended. The error message also
+ tells you to specify <codeph>vmalloc=256MB</codeph> in your
+ kernel parameter list. If adding this parameter to your GRUB or
+ LILO configuration makes the kernel fail to boot, with an error
+ message such as <codeph>failed to mount the root
+ partition</codeph>, then you have probably run into a memory
+ conflict of your kernel and initial RAM disk. This can be solved
+ by adding the following parameter to your GRUB configuration:
+ </p>
+ <pre xml:space="preserve">uppermem 524288</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-host-vboxsvc.dita b/doc/manual/en_US/dita/topics/ts_linux-host-vboxsvc.dita
new file mode 100644
index 00000000000..8362f60cc54
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-host-vboxsvc.dita
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-host-vboxsvc">
+ <title>VBoxSVC IPC Issues</title>
+
+ <body>
+ <p>
+ On Linux, Oracle VM VirtualBox makes use of a custom version of
+ Mozilla XPCOM (cross platform component object model) for
+ interprocess and intraprocess communication (IPC). The process
+ <userinput>VBoxSVC</userinput> serves as a communication hub between
+ different Oracle VM VirtualBox processes and maintains the global
+ configuration, such as the XML database. When starting an
+ Oracle VM VirtualBox component, the processes
+ <userinput>VBoxSVC</userinput> and <userinput>VBoxXPCOMIPCD</userinput>
+ are started automatically. They are only accessible from the
+ user account they are running under. <userinput>VBoxSVC</userinput>
+ owns the Oracle VM VirtualBox configuration database which normally
+ resides in <filepath>~/.config/VirtualBox</filepath>, or the
+ appropriate configuration directory for your operating system.
+ While it is running, the configuration files are locked.
+ Communication between the various Oracle VM VirtualBox components and
+ <userinput>VBoxSVC</userinput> is performed through a local domain
+ socket residing in
+ <filepath>/tmp/.vbox-<varname>username</varname>-ipc</filepath>.
+ In case there are communication problems, such as an
+ Oracle VM VirtualBox application cannot communicate with
+ <userinput>VBoxSVC</userinput>, terminate the daemons and remove the
+ local domain socket directory.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_linux-kernelmodule-fails-to-load.dita b/doc/manual/en_US/dita/topics/ts_linux-kernelmodule-fails-to-load.dita
new file mode 100644
index 00000000000..836b61fd724
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_linux-kernelmodule-fails-to-load.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_linux-kernelmodule-fails-to-load">
+ <title>Linux Kernel Module Refuses to Load</title>
+
+ <body>
+ <p>
+ If the Oracle VM VirtualBox kernel module, <userinput>vboxdrv</userinput>,
+ refuses to load you may see an <codeph>Error inserting vboxdrv:
+ Invalid argument</codeph> message. As root, check the output of
+ the <userinput>dmesg</userinput> command to find out why the load
+ failed. Most probably the kernel disagrees with the version of
+ <userinput>gcc</userinput> used to compile the module. Make sure
+ that you use the same compiler that was used to build the
+ kernel.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_procs-tools.dita b/doc/manual/en_US/dita/topics/ts_procs-tools.dita
new file mode 100644
index 00000000000..2ed2d88f119
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_procs-tools.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_procs-tools">
+ <title>Procedures and Tools</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_sol-guests.dita b/doc/manual/en_US/dita/topics/ts_sol-guests.dita
new file mode 100644
index 00000000000..3b085922f5a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_sol-guests.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_sol-guests">
+ <title>Oracle Solaris Guests</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_sol-host-zfs.dita b/doc/manual/en_US/dita/topics/ts_sol-host-zfs.dita
new file mode 100644
index 00000000000..88a87884668
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_sol-host-zfs.dita
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_sol-host-zfs">
+ <title>Cannot Start VM, Not Enough Contiguous Memory</title>
+
+ <body>
+ <p>
+ The ZFS file system is known to use nearly all available RAM as
+ cache if the default system settings are not changed. This may
+ lead to a heavy fragmentation of the host memory preventing
+ Oracle VM VirtualBox VMs from being started. We recommend to limit the
+ ZFS cache by adding the following line to
+ <filepath>/etc/system</filepath>, where
+ <varname>xxxx</varname> bytes is the amount of memory
+ usable for the ZFS cache.
+ </p>
+ <pre xml:space="preserve">set zfs:zfs_arc_max = xxxx</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_sol-hosts.dita b/doc/manual/en_US/dita/topics/ts_sol-hosts.dita
new file mode 100644
index 00000000000..cea8f6019cf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_sol-hosts.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_sol-hosts">
+ <title>Oracle Solaris Hosts</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_solaris-10-guest-slow-boot-smp.dita b/doc/manual/en_US/dita/topics/ts_solaris-10-guest-slow-boot-smp.dita
new file mode 100644
index 00000000000..514186ecf6c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_solaris-10-guest-slow-boot-smp.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_solaris-10-guest-slow-boot-smp">
+ <title>Certain Oracle Solaris 10 Releases May Take a Long Time to Boot with SMP</title>
+
+ <body>
+ <p>
+ When using more than one CPU, Oracle Solaris 10 10/08, and
+ Oracle Solaris 10 5/09 may take a long time to boot and may
+ print warnings on the system console regarding failures to read
+ from disk. This is a bug in Oracle Solaris 10 which affects
+ specific physical and virtual configurations. It is caused by
+ trying to read microcode updates from the boot disk when the
+ disk interrupt is reassigned to a not yet fully initialized
+ secondary CPU. Disk reads will time out and fail, triggering
+ delays of about 45 seconds and warnings.
+ </p>
+ <p>
+ The recommended solution is upgrading to at least Oracle Solaris
+ 10 10/09 which includes a fix for this problem. Alternative
+ solutions include restricting the number of virtual CPUs to one
+ or possibly using a different storage controller.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_usb-linux.dita b/doc/manual/en_US/dita/topics/ts_usb-linux.dita
new file mode 100644
index 00000000000..f4dffd3fefd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_usb-linux.dita
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_usb-linux">
+ <title>USB Not Working</title>
+
+ <body>
+ <p>
+ If USB is not working on your Linux host, make sure that the
+ current user is a member of the <codeph>vboxusers</codeph>
+ group. Please keep in mind that group membership does not take
+ effect immediately but rather at the next login. If available,
+ the <userinput>newgrp</userinput> command may avoid the need for a
+ logout and login.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_vboxbugreport.dita b/doc/manual/en_US/dita/topics/ts_vboxbugreport.dita
new file mode 100644
index 00000000000..25592ce16a6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_vboxbugreport.dita
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_vboxbugreport">
+ <title>Using the VBoxBugReport Command to Collect Debug Information
+ Automatically</title>
+
+ <body>
+ <p>
+ The <userinput>VBoxBugReport</userinput> command is used to collect
+ debug information automatically for an Oracle VM VirtualBox
+ installation. This command can be useful when you need to gather
+ information to send to Oracle Support.
+ </p>
+ <p>
+ The following examples show how to use
+ <userinput>VBoxBugReport</userinput>.
+ </p>
+ <p>
+ By default, the command collects <userinput>VBoxSVC</userinput>
+ process logs, device settings, and global configuration data for
+ an Oracle VM VirtualBox host.
+ </p>
+ <pre xml:space="preserve">$ VBoxBugReport
+ ...
+ 0% - collecting VBoxSVC.log.10...
+ 7% - collecting VBoxSVC.log.9...
+ ...
+ 64% - collecting VBoxSVC.log.1...
+ 71% - collecting VBoxSVC.log...
+ 78% - collecting VirtualBox.xml...
+ 85% - collecting HostUsbDevices...
+ 92% - collecting HostUsbFilters...
+100% - compressing...
+
+Report was written to '2019-03-26-13-32-02-bugreport.tgz'</pre>
+ <p>
+ The results are saved as a compressed tar file archive in the
+ same directory where the command is run.
+ </p>
+ <p>
+ To specify a different output file location:
+ </p>
+ <pre xml:space="preserve">$ VBoxBugReport --output ~/debug/bug004.tgz</pre>
+ <p>
+ To output all debug information to a single text file, rather
+ than a <filepath>tgz</filepath> file:
+ </p>
+ <pre xml:space="preserve">$ VBoxBugReport --text</pre>
+ <p>
+ To collect information for a specific VM, called
+ <codeph>Windows_10</codeph>:
+ </p>
+ <pre xml:space="preserve">$ VBoxBugReport Windows_10</pre>
+ <p>
+ This command collects machine settings, guest properties, and
+ log files for the specified VM. Global configuration information
+ for the host is also included.
+ </p>
+ <p>
+ To collect information for several VMs, called
+ <codeph>Windows_7</codeph>, <codeph>Windows_8</codeph>, and
+ <codeph>Windows_10</codeph>:
+ </p>
+ <pre xml:space="preserve">$ VBoxBugReport Windows_7 Windows_8 Windows_10</pre>
+ <p>
+ To collect information for all VMs:
+ </p>
+ <pre xml:space="preserve">$ VBoxBugReport --all</pre>
+ <p>
+ To show a full list of the available command options, run
+ <userinput>VBoxBugReport --help</userinput>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-cpu-usage-rept.dita b/doc/manual/en_US/dita/topics/ts_win-cpu-usage-rept.dita
new file mode 100644
index 00000000000..a9998abae98
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-cpu-usage-rept.dita
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-cpu-usage-rept">
+ <title>Inaccurate Windows CPU Usage Reporting</title>
+
+ <body>
+ <p>
+ CPU usage reporting tools which come with Windows, such as Task
+ Manager or Resource Monitor, do not take the time spent
+ processing hardware interrupts into account. If the interrupt
+ load is heavy, with thousands of interrupts per second, CPU
+ usage may be significantly underreported.
+ </p>
+ <p>
+ This problem affects Windows as both host and guest OS.
+ Sysinternals tools, such as Process Explorer, do not suffer from
+ this problem.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-dnd-uipi.dita b/doc/manual/en_US/dita/topics/ts_win-dnd-uipi.dita
new file mode 100644
index 00000000000..49f52f3c154
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-dnd-uipi.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-dnd-uipi">
+ <title>Drag'n Drop not Working</title>
+
+ <body>
+ <p>
+ Microsoft Windows uses technologies like UAC (User Account Control) and
+ UIPI (User Interface Privilege Isolation) to prevent and/or mitigate
+ security issues. By default, UAC and UIPI are enabled.
+ </p>
+ <p>
+ When an Oracle VM VirtualBox VM process is running with a higher so-called
+ privilege level than another process that wants to interact with the
+ VM process via drag'n drop (or system clipboard), Windows prevents this
+ by default due to security reasons. This results in Oracle VM VirtualBox not
+ being able to receive any Windows messages for drag'n drop. To make this work,
+ the Oracle VM VirtualBox VM process must be running with
+ the same (or lower) privilege level as the process it is interacting with
+ using drag'n drop.</p>
+
+ <p>Disabling UAC and/or UIPI is not recommended.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guest-active-dir-domain.dita b/doc/manual/en_US/dita/topics/ts_win-guest-active-dir-domain.dita
new file mode 100644
index 00000000000..8681fd59a91
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guest-active-dir-domain.dita
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guest-active-dir-domain">
+ <title>Windows Guests are Removed From an Active Directory Domain After
+ Restoring a Snapshot</title>
+
+ <body>
+ <p>
+ If a Windows guest is a member of an Active Directory domain and
+ the snapshot feature of Oracle VM VirtualBox is used, it could be
+ removed from the Active Direcory domain after you restore an
+ older snapshot.
+ </p>
+ <p>
+ This is caused by automatic machine password changes performed
+ by Windows at regular intervals for security purposes. You can
+ disable this feature as shown in the following article from
+ Microsoft:
+ <ph>http://support.microsoft.com/kb/154501</ph>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-record-info.dita b/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-record-info.dita
new file mode 100644
index 00000000000..612e16d9989
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-record-info.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guest-bluescreen-record-info">
+ <title>How to Record Bluescreen Information from Windows Guests</title>
+
+ <body>
+ <p>
+ When Windows guests run into a kernel crash, they display a
+ bluescreen error. Depending on how Windows is configured, the
+ information will remain on the screen until the machine is
+ restarted or it will reboot automatically. During installation,
+ Windows is usually configured to reboot automatically. With
+ automatic reboots, there is no chance to record the bluescreen
+ information which might be important for problem determination.
+ </p>
+ <p>
+ Oracle VM VirtualBox provides a method of halting a guest when it
+ wants to perform a reset. In order to enable this feature, use
+ the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/PDM/HaltOnReset" 1</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-smp.dita b/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-smp.dita
new file mode 100644
index 00000000000..9f54766c328
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen-smp.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guest-bluescreen-smp">
+ <title>Windows 0x101 Bluescreens with SMP Enabled (IPI Timeout)</title>
+
+ <body>
+ <p>
+ If a VM is configured to have more than one processor
+ (symmetrical multiprocessing, SMP), some configurations of
+ Windows guests crash with an 0x101 error message, indicating a
+ timeout for interprocessor interrupts (IPIs). These interrupts
+ synchronize memory management between processors.
+ </p>
+ <p>
+ According to Microsoft, this is due to a race condition in
+ Windows. A hotfix is available from Microsoft.
+ </p>
+ <p>
+ If this does not help, please reduce the number of virtual
+ processors to 1.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen.dita b/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen.dita
new file mode 100644
index 00000000000..e0aab96574a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guest-bluescreen.dita
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guest-bluescreen">
+ <title>Windows Bluescreens After Changing VM Configuration</title>
+
+ <body>
+ <p>
+ Changing certain virtual machine settings can cause Windows
+ guests to fail during start up with a bluescreen. This may
+ happen if you change VM settings after installing Windows, or if
+ you copy a disk image with an already installed Windows to a
+ newly created VM which has settings that differ from the
+ original machine.
+ </p>
+ <p>
+ This applies in particular to the following settings:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The ACPI and I/O APIC settings should never be changed after
+ installing Windows. Depending on the presence of these
+ hardware features, the Windows installation program chooses
+ special kernel and device driver versions and will fail to
+ startup should these hardware features be removed. Enabling
+ them for a Windows VM which was installed without them does
+ not cause any harm. However, Windows will not use these
+ features in this case.
+ </p>
+ </li>
+ <li>
+ <p>
+ Changing the storage controller hardware will cause bootup
+ failures as well. This might also apply to you if you copy a
+ disk image from an older version of Oracle VM VirtualBox to a new
+ virtual machine. The default subtype of IDE controller
+ hardware used by Oracle VM VirtualBox is PIIX4. Make sure that the
+ storage controller settings are identical.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guest-high-cpu.dita b/doc/manual/en_US/dita/topics/ts_win-guest-high-cpu.dita
new file mode 100644
index 00000000000..84fb714fd72
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guest-high-cpu.dita
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guest-high-cpu">
+ <title>Windows Guests may Cause a High CPU Load</title>
+
+ <body>
+ <p>
+ Several background applications of Windows guests, especially
+ virus scanners, are known to increase the CPU load notably even
+ if the guest appears to be idle. We recommend to deactivate
+ virus scanners within virtualized guests if possible.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guest-shared-folders-access-delay.dita b/doc/manual/en_US/dita/topics/ts_win-guest-shared-folders-access-delay.dita
new file mode 100644
index 00000000000..d6b544d310f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guest-shared-folders-access-delay.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guest-shared-folders-access-delay">
+ <title>Long Delays When Accessing Shared Folders</title>
+
+ <body>
+ <p>
+ The performance for accesses to shared folders from a Windows
+ guest might be decreased due to delays during the resolution of
+ the Oracle VM VirtualBox shared folders name service. To fix these
+ delays, add the following entries to the file
+ <filepath>\windows\system32\drivers\etc\lmhosts</filepath> of
+ the Windows guest:
+ </p>
+ <pre xml:space="preserve">255.255.255.255 VBOXSVR #PRE
+255.255.255.255 VBOXSRV #PRE</pre>
+ <p>
+ After doing this change, a reboot of the guest is required.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-guests.dita b/doc/manual/en_US/dita/topics/ts_win-guests.dita
new file mode 100644
index 00000000000..dcf7e3c193e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-guests.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-guests">
+ <title>Windows Guests</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-host-bridged-network-adapters.dita b/doc/manual/en_US/dita/topics/ts_win-host-bridged-network-adapters.dita
new file mode 100644
index 00000000000..5ff4c1ed50e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-host-bridged-network-adapters.dita
@@ -0,0 +1,48 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-host-bridged-network-adapters">
+ <title>Bridged Networking Adapters Missing</title>
+
+ <body>
+ <p>
+ If no bridged adapters show up in the
+ <b outputclass="bold">Networking</b> section of the VM
+ settings, this typically means that the bridged networking
+ driver was not installed properly on your host. This could be
+ due to the following reasons:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The maximum allowed filter count was reached on the host. In
+ this case, the MSI log would mention the
+ <codeph>0x8004a029</codeph> error code returned on NetFlt
+ network component install, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxNetCfgWinInstallComponent: Install failed, hr (0x8004a029)</pre>
+ <p>
+ You can try to increase the maximum filter count in the
+ Windows registry using the following key:
+ </p>
+ <pre xml:space="preserve">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\MaxNumFilters</pre>
+ <p>
+ The maximum number allowed is 14. After a reboot, try to
+ reinstall Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p>
+ The INF cache is corrupt. In this case, the install log at
+ <filepath>%windir%\inf\setupapi.dev.log</filepath> would
+ typically mention the failure to find a suitable driver
+ package for either the <userinput>sun_VBoxNetFlt</userinput> or
+ <userinput>sun_VBoxNetFltmp</userinput> components. The solution
+ then is to uninstall Oracle VM VirtualBox, remove the INF cache
+ (<filepath>%windir%\inf\INFCACHE.1</filepath>), reboot and
+ try to reinstall Oracle VM VirtualBox.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-host-cd-dvd-changes.dita b/doc/manual/en_US/dita/topics/ts_win-host-cd-dvd-changes.dita
new file mode 100644
index 00000000000..bde18af22b9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-host-cd-dvd-changes.dita
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-host-cd-dvd-changes">
+ <title>CD and DVD Changes Not Recognized</title>
+
+ <body>
+ <p>
+ In case you have assigned a physical CD or DVD drive to a guest
+ and the guest does not notice when the medium changes, make sure
+ that the Windows media change notification (MCN) feature is not
+ turned off. This is represented by the following key in the
+ Windows registry:
+ </p>
+ <pre xml:space="preserve">HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdrom\Autorun</pre>
+ <p>
+ Certain applications may disable this key against Microsoft's
+ advice. If it is set to 0, change it to 1 and reboot your
+ system. Oracle VM VirtualBox relies on Windows notifying it of media
+ changes.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-host-com-server.dita b/doc/manual/en_US/dita/topics/ts_win-host-com-server.dita
new file mode 100644
index 00000000000..b9a96869137
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-host-com-server.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-host-com-server">
+ <title>VBoxSVC Out-of-Process COM Server Issues</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox makes use of the Microsoft Component Object Model
+ (COM) for interprocess and intraprocess communication. This
+ enables Oracle VM VirtualBox to share a common configuration among
+ different virtual machine processes and provide several user
+ interface options based on a common architecture. All global
+ status information and configuration is maintained by the
+ process <filepath>VBoxSVC.exe</filepath>, which is an
+ out-of-process COM server. Whenever an Oracle VM VirtualBox process is
+ started, it requests access to the COM server and Windows
+ automatically starts the process. Note that it should never be
+ started by the end user.
+ </p>
+ <p>
+ When the last process disconnects from the COM server, it will
+ terminate itself after some seconds. The Oracle VM VirtualBox
+ configuration XML files are maintained and owned by the COM
+ server and the files are locked whenever the server runs.
+ </p>
+ <p>
+ In some cases, such as when a virtual machine is terminated
+ unexpectedly, the COM server will not notice that the client is
+ disconnected and stay active for a longer period of 10 minutes
+ or so, keeping the configuration files locked. In other rare
+ cases the COM server might experience an internal error and
+ subsequently other processes fail to initialize it. In these
+ situations, it is recommended to use the Windows task manager to
+ kill the process <filepath>VBoxSVC.exe</filepath>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-host-host-only-network-adapters.dita b/doc/manual/en_US/dita/topics/ts_win-host-host-only-network-adapters.dita
new file mode 100644
index 00000000000..812494186de
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-host-host-only-network-adapters.dita
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-host-host-only-network-adapters">
+ <title>Host-Only Networking Adapters Cannot be Created</title>
+
+ <body>
+ <p>
+ If a host-only adapter cannot be created, either with the
+ VirtualBox Manager or the <userinput>VBoxManage</userinput> command, then
+ the INF cache is probably corrupt. In this case, the install log
+ at <filepath>%windir%\inf\setupapi.dev.log</filepath> would
+ typically mention the failure to find a suitable driver package
+ for the <filepath>sun_VBoxNetAdp</filepath> component. Again, as
+ with the bridged networking problem described above, the
+ solution is to uninstall Oracle VM VirtualBox, remove the INF cache
+ (<filepath>%windir%\inf\INFCACHE.1</filepath>), reboot and try
+ to reinstall Oracle VM VirtualBox.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-host-iscsi.dita b/doc/manual/en_US/dita/topics/ts_win-host-iscsi.dita
new file mode 100644
index 00000000000..79742689d38
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-host-iscsi.dita
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-host-iscsi">
+ <title>Running an iSCSI Initiator and Target on a Single System</title>
+
+ <body>
+ <p>
+ Deadlocks can occur on a Windows host when attempting to access
+ an iSCSI target running in a guest virtual machine with an iSCSI
+ initiator, such as a Microsoft iSCSI Initiator, that is running
+ on the host. This is caused by a flaw in the Windows cache
+ manager component, and causes sluggish host system response for
+ several minutes, followed by a "Delayed Write Failed" error
+ message in the system tray or in a separate message window. The
+ guest is blocked during that period and may show error messages
+ or become unstable.
+ </p>
+ <p>
+ Setting the <codeph>VBOX_DISABLE_HOST_DISK_CACHE</codeph>
+ environment variable to <codeph>1</codeph> enables a
+ workaround for this problem until Microsoft addresses the issue.
+ For example, open a command prompt window and start
+ Oracle VM VirtualBox like this:
+ </p>
+ <pre xml:space="preserve">set VBOX_DISABLE_HOST_DISK_CACHE=1
+VirtualBox</pre>
+ <p>
+ While this will decrease guest disk performance, especially
+ writes, it does not affect the performance of other applications
+ running on the host.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-host-rdp-client.dita b/doc/manual/en_US/dita/topics/ts_win-host-rdp-client.dita
new file mode 100644
index 00000000000..f45504d050d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-host-rdp-client.dita
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-host-rdp-client">
+ <title>Sluggish Response When Using Microsoft RDP Client</title>
+
+ <body>
+ <p>
+ If connecting to a Virtual Machine using the Microsoft RDP
+ client, called a Remote Desktop Connection, there can be large
+ delays between input such as moving the mouse over a menu and
+ output. This is because this RDP client collects input for a
+ certain time before sending it to the RDP server.
+ </p>
+ <p>
+ The interval can be decreased by setting a Windows registry key
+ to smaller values than the default of 100. The key does not
+ exist initially and must be of type DWORD. The unit for its
+ values is milliseconds. Values around 20 are suitable for
+ low-bandwidth connections between the RDP client and server.
+ Values around 4 can be used for a gigabit Ethernet connection.
+ Generally values below 10 achieve a performance that is very
+ close to that of the local input devices and screen of the host
+ on which the Virtual Machine is running.
+ </p>
+ <p>
+ Depending whether the setting should be changed for an
+ individual user or for the system, set either of the following.
+ </p>
+ <pre xml:space="preserve">HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Min Send Interval</pre>
+ <pre xml:space="preserve">HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\Min Send Interval</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-hosts.dita b/doc/manual/en_US/dita/topics/ts_win-hosts.dita
new file mode 100644
index 00000000000..842e4ef2c1f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-hosts.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-hosts">
+ <title>Windows Hosts</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win-vista-guest-networking.dita b/doc/manual/en_US/dita/topics/ts_win-vista-guest-networking.dita
new file mode 100644
index 00000000000..15f66eece6d
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win-vista-guest-networking.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win-vista-guest-networking">
+ <title>No Networking in Windows Vista Guests</title>
+
+ <body>
+ <p>
+ With Windows Vista, Microsoft dropped support for the AMD PCNet
+ card that legacy versions of Oracle VM VirtualBox used to provide as
+ the default virtual network card. For Windows Vista guests,
+ Oracle VM VirtualBox now uses an Intel E1000 card by default.
+ </p>
+ <p>
+ If, for some reason, you still want to use the AMD card, you
+ need to download the PCNet driver from the AMD website. This
+ driver is available for 32-bit Windows only. You can transfer it
+ into the virtual machine using a shared folder. See
+ <xref href="sharedfolders.dita">Shared Folders</xref>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win2k-guest-install.dita b/doc/manual/en_US/dita/topics/ts_win2k-guest-install.dita
new file mode 100644
index 00000000000..7d09a0957ba
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win2k-guest-install.dita
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win2k-guest-install">
+ <title>Windows 2000 Installation Failures</title>
+
+ <body>
+ <p>
+ When installing Windows 2000 guests, you might run into one of
+ the following issues:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Installation reboots, usually during component registration.
+ </p>
+ </li>
+ <li>
+ <p>
+ Installation fills the whole hard disk with empty log files.
+ </p>
+ </li>
+ <li>
+ <p>
+ Installation complains about a failure installing
+ <filepath>msgina.dll</filepath>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ 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. For example, 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 also reproduce it on physical hardware. In
+ a virtual environment, it is possible for the operation to be
+ done immediately, especially on very fast systems with multiple
+ CPUs, and the interrupt is signaled sooner than on a physical
+ system. The solution is to introduce an artificial delay before
+ delivering such interrupts. This delay can be configured for a
+ VM using the following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1</pre>
+ <p>
+ This sets the delay to one millisecond. In case this does not
+ help, increase it to a value between 1 and 5 milliseconds.
+ Please note that this slows down disk performance. After
+ installation, you should be able to remove the key, or set it to
+ 0.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win31-ram-limitations.dita b/doc/manual/en_US/dita/topics/ts_win31-ram-limitations.dita
new file mode 100644
index 00000000000..abe6e4db203
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win31-ram-limitations.dita
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win31-ram-limitations">
+ <title>Windows 3.x Limited to 64 MB RAM</title>
+
+ <body>
+ <p>
+ Windows 3.x guests are typically limited to 64 MB RAM, even if a
+ VM is assigned much more memory. While Windows 3.1 is
+ theoretically capable of using up to 512 MB RAM, it only uses
+ memory available through the XMS interface. Versions of
+ HIMEM.SYS, the Microsoft XMS manager, shipped with MS-DOS and
+ Microsoft Windows 3.x can only use up to 64 MB on standard PCs.
+ </p>
+ <p>
+ This is a known HIMEM.SYS limitation. Windows 3.1 memory limits
+ are described in detail in Microsoft Knowledge base article KB
+ 84388.
+ </p>
+ <p>
+ It is possible for Windows 3.x guests to utilize more than 64 MB
+ RAM if a different XMS provider is used. That could be a newer
+ HIMEM.SYS version, such as that shipped with Windows 98, or a
+ more capable third-party memory manager, such as QEMM.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win7-guest-usb3-support.dita b/doc/manual/en_US/dita/topics/ts_win7-guest-usb3-support.dita
new file mode 100644
index 00000000000..6d07ca92f63
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win7-guest-usb3-support.dita
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win7-guest-usb3-support">
+ <title>No USB 3.0 Support in Windows 7 Guests</title>
+
+ <body>
+ <p>
+ If a Windows 7 or Windows Server 2008 R2 guest is configured for
+ USB 3.0 (xHCI) support, the guest OS will not have any USB
+ support at all. This happens because Windows 7 predates USB 3.0
+ and therefore does not ship with any xHCI drivers. Microsoft
+ also does not offer any vendor-provided xHCI drivers through
+ Windows Update.
+ </p>
+ <p>
+ To solve this problem, it is necessary to download and install
+ the Intel xHCI driver in the guest. Intel offers the driver as
+ the USB 3.0 eXtensible Host Controller (xHCI) driver for Intel 7
+ Series/C216 chipsets.
+ </p>
+ <p>
+ Note that the driver only supports Windows 7 and Windows Server
+ 2008 R2. The driver package includes support for both 32-bit and
+ 64-bit OS variants.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/ts_win98-guest-usb-tablet-coordinates.dita b/doc/manual/en_US/dita/topics/ts_win98-guest-usb-tablet-coordinates.dita
new file mode 100644
index 00000000000..0b50ad24cba
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/ts_win98-guest-usb-tablet-coordinates.dita
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="ts_win98-guest-usb-tablet-coordinates">
+ <title>USB Tablet Coordinates Wrong in Windows 98 Guests</title>
+
+ <body>
+ <p>
+ If a Windows 98 VM is configured to use the emulated USB tablet
+ (absolute pointing device), the coordinate translation may be
+ incorrect and the pointer is restricted to the upper left
+ quarter of the guest's screen.
+ </p>
+ <p>
+ The USB HID (Human Interface Device) drivers in Windows 98 are
+ very old and do not handle tablets in the same way as modern
+ operating systems do. To work around the problem, use the
+ following command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/USB/HidMouse/0/Config/CoordShift" 0</pre>
+ <p>
+ To restore the default behavior, remove the key or set its value
+ to 1.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/unattended-guest-install-example.dita b/doc/manual/en_US/dita/topics/unattended-guest-install-example.dita
new file mode 100644
index 00000000000..2cbd539a5c4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/unattended-guest-install-example.dita
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="unattended-guest-install-example">
+ <title>Using VBoxManage Commands for Unattended Guest Installation</title>
+
+ <body>
+ <p>
+ The following example shows how to perform an unattended guest
+ installation for an Oracle Linux VM. The example uses various
+ <userinput>VBoxManage</userinput> commands to prepare the guest VM.
+ The <userinput>VBoxManage unattended install</userinput> command is
+ then used to install and configure the guest OS.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Create the virtual machine.
+ </p>
+ <pre xml:space="preserve"># VM="ol7-autoinstall"
+# VBoxManage list ostypes
+# VBoxManage createvm --name $VM --ostype "Oracle_64" --register</pre>
+ <p>
+ Note the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The $VM variable represents the name of the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ The <userinput>VBoxManage list ostypes</userinput> command
+ lists the guest OSes supported by Oracle VM VirtualBox,
+ including the name used for each OS in the
+ <userinput>VBoxManage</userinput> commands.
+ </p>
+ </li>
+ <li>
+ <p>
+ A 64-bit Oracle Linux 7 VM is created and registered
+ with Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p>
+ The VM has a unique UUID.
+ </p>
+ </li>
+ <li>
+ <p>
+ An XML settings file is generated.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Create a virtual hard disk and storage devices for the VM.
+ </p>
+ <pre xml:space="preserve"># VBoxManage createhd --filename /VirtualBox/$VM/$VM.vdi --size 32768
+# VBoxManage storagectl $VM --name "SATA Controller" --add sata --controller IntelAHCI
+# VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 \
+--type hdd --medium /VirtualBox/$VM/$VM.vdi
+# VBoxManage storagectl $VM --name "IDE Controller" --add ide
+# VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 --device 0 \
+--type dvddrive --medium /u01/Software/OL/OracleLinux-R7-U6-Server-x86_64-dvd.iso</pre>
+ <p>
+ The previous commands do the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Create a 32768 MB virtual hard disk.
+ </p>
+ </li>
+ <li>
+ <p>
+ Create a SATA storage controller and attach the virtual
+ hard disk.
+ </p>
+ </li>
+ <li>
+ <p>
+ Create an IDE storage controller for a virtual DVD drive
+ and attach an Oracle Linux installation ISO.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ (Optional) Configure some settings for the VM.
+ </p>
+ <pre xml:space="preserve"># VBoxManage modifyvm $VM --ioapic on
+# VBoxManage modifyvm $VM --boot1 dvd --boot2 disk --boot3 none --boot4 none
+# VBoxManage modifyvm $VM --memory 8192 --vram 128</pre>
+ <p>
+ The previous commands do the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Enable I/O APIC for the motherboard of the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Configure the boot device order for the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Allocate 8192 MB of RAM and 128 MB of video RAM to the
+ VM.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Perform an unattended install of the OS.
+ </p>
+ <pre xml:space="preserve"># VBoxManage unattended install $VM \
+--iso=/u01/Software/OL/OracleLinux-R7-U6-Server-x86_64-dvd.iso \
+--user=<varname>login</varname> --full-user-name=<varname>name</varname> --password <varname>password</varname> \
+--install-additions --time-zone=CET</pre>
+ <p>
+ The previous command does the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Specifies an Oracle Linux ISO as the installation ISO.
+ </p>
+ </li>
+ <li>
+ <p>
+ Specifies a login name, full name, and login password
+ for a default user on the guest OS.
+ </p>
+ <p>
+ Note that the specified password is also used for the
+ root user account on the guest.
+ </p>
+ </li>
+ <li>
+ <p>
+ Installs the Guest Additions on the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ Sets the time zone for the guest OS to Central European
+ Time (CET).
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Start the virtual machine.
+ </p>
+ <p>
+ This step completes the unattended installation process.
+ </p>
+ <pre xml:space="preserve"># VBoxManage startvm $VM --type headless</pre>
+ <p>
+ The VM starts in headless mode, which means that the
+ VirtualBox Manager window does not open.
+ </p>
+ </li>
+ <li>
+ <p>
+ (Optional) Update the guest OS to use the latest Oracle
+ Linux packages.
+ </p>
+ <p>
+ On the guest VM, run the following command:
+ </p>
+ <pre xml:space="preserve"># yum update</pre>
+ </li>
+ </ol>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/uninstall-solaris-host.dita b/doc/manual/en_US/dita/topics/uninstall-solaris-host.dita
new file mode 100644
index 00000000000..924033695d3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/uninstall-solaris-host.dita
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="uninstall-solaris-host">
+ <title>Uninstallation</title>
+
+ <body>
+ <p>
+ Uninstallation of Oracle VM VirtualBox on Oracle Solaris requires root
+ permissions. To perform the uninstallation, start a root
+ terminal session and run the following command:
+ </p>
+ <pre xml:space="preserve">pkgrm SUNWvbox</pre>
+ <p>
+ After confirmation, this will remove Oracle VM VirtualBox from your
+ system.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/usb-implementation-notes.dita b/doc/manual/en_US/dita/topics/usb-implementation-notes.dita
new file mode 100644
index 00000000000..a38a7b5e167
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usb-implementation-notes.dita
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usb-implementation-notes">
+ <title>Implementation Notes for Windows and Linux Hosts</title>
+
+ <body>
+ <p>
+ On Windows hosts, a kernel mode device driver provides USB proxy
+ support. It implements both a USB monitor, which enables
+ Oracle VM VirtualBox to capture devices when they are plugged in, and
+ a USB device driver to claim USB devices for a particular
+ virtual machine. System reboots are not necessary after
+ installing the driver. Also, you do not need to replug devices
+ for Oracle VM VirtualBox to claim them.
+ </p>
+ <p>
+ On supported Linux hosts, Oracle VM VirtualBox accesses USB devices
+ through special files in the file system. When Oracle VM VirtualBox is
+ installed, these are made available to all users in the
+ <codeph>vboxusers</codeph> system group. In order to be able
+ to access USB from guest systems, make sure that you are a
+ member of this group.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/usb-over-rdp.dita b/doc/manual/en_US/dita/topics/usb-over-rdp.dita
new file mode 100644
index 00000000000..94860b6f7b1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usb-over-rdp.dita
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usb-over-rdp">
+ <title>Remote USB</title>
+
+ <body>
+ <p>
+ As a special feature additional to the VRDP support,
+ Oracle VM VirtualBox also supports remote USB devices over the wire.
+ That is, an Oracle VM VirtualBox guest that runs on one computer can
+ access the USB devices of the remote computer on which the VRDP
+ data is being displayed the same way as USB devices that are
+ connected to the actual host. This enables running of virtual
+ machines on an Oracle VM VirtualBox host that acts as a server, where
+ a client can connect from elsewhere that needs only a network
+ adapter and a display capable of running an RDP viewer. When USB
+ devices are plugged into the client, the remote Oracle VM VirtualBox
+ server can access them.
+ </p>
+ <p>
+ For these remote USB devices, the same filter rules apply as for
+ other USB devices. See <xref href="settings-usb.dita">USB Settings</xref>. All you
+ have to do is specify Remote, or Any, when setting up these
+ rules.
+ </p>
+ <p>
+ Accessing remote USB devices is only possible if the RDP client
+ supports this extension. Some versions of
+ <userinput>uttsc</userinput>, a client tailored for the use with Sun
+ Ray thin clients, support accessing remote USB devices. RDP
+ clients for other platforms will be provided in future
+ Oracle VM VirtualBox versions.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/usb-support.dita b/doc/manual/en_US/dita/topics/usb-support.dita
new file mode 100644
index 00000000000..f0970c15bf2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usb-support.dita
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usb-support">
+ <title>USB Support</title>
+
+ <body/>
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/usbip-security.dita b/doc/manual/en_US/dita/topics/usbip-security.dita
new file mode 100644
index 00000000000..8870f7256f1
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usbip-security.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usbip-security">
+ <title>Security Considerations</title>
+
+ <body>
+ <p>
+ The communication between the server and client is unencrypted
+ and there is no authorization required to access exported
+ devices. An attacker might sniff sensitive data or gain control
+ over a device. To mitigate this risk, the device should be
+ exposed over a local network to which only trusted clients have
+ access. To access the device remotely over a public network, a
+ VPN solution should be used to provide the required level of
+ security protection.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/usbip-setup-server.dita b/doc/manual/en_US/dita/topics/usbip-setup-server.dita
new file mode 100644
index 00000000000..87c67355dc9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usbip-setup-server.dita
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usbip-setup-server">
+ <title>Setting up USB/IP Support on a Linux System</title>
+
+ <body>
+ <p>
+ This section gives a brief overview on how to set up a Linux
+ based system to act as a USB device server. The system on the
+ server requires that the <filepath>usbip-core.ko</filepath> and
+ <filepath>usbip-host.ko</filepath> kernel drivers are available,
+ and that the USB/IP tools package is installed. The particular
+ installation method for the necessary tools depends on which
+ distribution is used. For example, for Debian based systems, use
+ the following command to install the required tools:
+ </p>
+ <pre xml:space="preserve">$ apt-get install usbip-utils</pre>
+ <p>
+ To check whether the necessary tools are already installed use
+ the following command:
+ </p>
+ <pre xml:space="preserve">$ usbip list -l
+ </pre>
+ <p>
+ This should produce output similar to that shown in the example
+ below:
+ </p>
+ <pre xml:space="preserve"> - busid 4-2 (0bda:0301)
+ Realtek Semiconductor Corp. : multicard reader (0bda:0301)
+
+ - busid 5-1 (046d:c52b)
+ Logitech, Inc. : Unifying Receiver (046d:c52b)
+ </pre>
+ <p>
+ If everything is installed, the USB/IP server needs to be
+ started as <codeph>root</codeph> using the following command:
+ </p>
+ <pre xml:space="preserve"># usbipd -D</pre>
+ <p>
+ See the documentation for the installed distribution to
+ determine how to start the service when the system boots.
+ </p>
+ <p>
+ By default, no device on the server is exported. This must be
+ done manually for each device. To export a device use the
+ following command:
+ </p>
+ <pre xml:space="preserve"># usbip bind -b "bus identifier"</pre>
+ <p>
+ To export the multicard reader in the previous example:
+ </p>
+ <pre xml:space="preserve"># usbip bind -b 4-2</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/usbip.dita b/doc/manual/en_US/dita/topics/usbip.dita
new file mode 100644
index 00000000000..762447ff304
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usbip.dita
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usbip">
+ <title>Accessing USB devices Exposed Over the Network with USB/IP</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports passing through USB devices which are
+ exposed over the network using the USB over IP protocol without
+ the need to configure the client side provided by the kernel and
+ usbip tools. Furthermore, this feature works with Oracle VM VirtualBox
+ running on any supported host, rather than just Linux alone, as is
+ the case with the official client.
+ </p>
+ <p>
+ To enable support for passing through USB/IP devices, use the
+ following command to add the device server that exports the
+ devices:
+ </p>
+ <pre xml:space="preserve">VBoxManage usbdevsource add <varname>unique-name</varname> --backend <varname>USBIP</varname> --address <varname>device-server</varname>[:<varname>port</varname>]</pre>
+ <p>
+ USB devices exported on the device server are then accessible
+ through VirtualBox Manager or <userinput>VBoxManage</userinput>, like any USB
+ devices attached locally. This can be used multiple times to
+ access different device servers.
+ </p>
+ <p>
+ To remove a device server, the following command can be used:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage usbdevsource remove <varname>unique-name</varname>
+ </pre>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/usbtrafficcapturing.dita b/doc/manual/en_US/dita/topics/usbtrafficcapturing.dita
new file mode 100644
index 00000000000..2caaaf7a9b4
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/usbtrafficcapturing.dita
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="usbtrafficcapturing">
+ <title>Capturing USB Traffic for Selected Devices</title>
+
+ <body>
+ <p>
+ You can capture USB traffic for single USB devices or on the root
+ hub level, which captures the traffic of all USB devices attached
+ to the root hub. Oracle VM VirtualBox stores the traffic in a format
+ which is compatible with Wireshark. To capture the traffic of a
+ specific USB device it must be attached to the VM with
+ <userinput>VBoxManage</userinput> using the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm <varname>VM-name</varname> usbattach <varname>device uuid</varname>|<varname>address</varname> --capturefile <varname>filename</varname>
+ </pre>
+ <p>
+ In order to enable capturing on the root hub use the following
+ command while the VM is not running:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> \
+VBoxInternal/Devices/usb-ehci/0/LUN#0/Config/CaptureFilename <varname>filename</varname>
+ </pre>
+ <p>
+ The command above enables capturing on the root hub attached to
+ the EHCI controller. To enable it for the OHCI or XHCI controller
+ replace <codeph>usb-ehci</codeph> with
+ <codeph>usb-ohci</codeph> or <codeph>usb-xhci</codeph>,
+ respectively.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/user-interface.dita b/doc/manual/en_US/dita/topics/user-interface.dita
new file mode 100644
index 00000000000..86e327f7c7c
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/user-interface.dita
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="user-interface">
+ <title>User Interface</title>
+
+ <body>
+ <p>
+ The <b outputclass="bold">User Interface</b> section
+ enables you to change certain aspects of the user interface of the
+ selected VM.
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Menu Bar:</b> This widget enables
+ you to disable a complete menu, by clicking on the menu name
+ to deselect it. Menu entries can be disabled, by deselecting
+ the check box next to the entry. On Windows and Linux hosts,
+ the complete menu bar can be disabled by deselecting the check
+ box on the right.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Mini ToolBar:</b> In full screen
+ or seamless mode, Oracle VM VirtualBox can display a small toolbar
+ that contains some of the items that are normally available
+ from the virtual machine's menu bar. This toolbar reduces
+ itself to a small gray line unless you move the mouse over it.
+ With the toolbar, you can return from full screen or seamless
+ mode, control machine execution, or enable certain devices. If
+ you do not want to see the toolbar, disable the
+ <b outputclass="bold">Show in Full Screen/Seamless</b>
+ setting.
+ </p>
+ <p>
+ The <b outputclass="bold">Show at Top of Screen</b>
+ setting enables you to show the toolbar at the top of the
+ screen, instead of showing it at the bottom.
+ </p>
+ <p>
+ The Mini Toolbar is not available on macOS hosts.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Status Bar:</b> This widget
+ enables you to disable and reorder icons on the status bar.
+ Deselect the check box of an icon to disable it, or rearrange
+ icons by dragging and dropping the icon. To disable the
+ complete status bar deselect the check box on the left.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vbox-auth.dita b/doc/manual/en_US/dita/topics/vbox-auth.dita
new file mode 100644
index 00000000000..69f9a921b4b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vbox-auth.dita
@@ -0,0 +1,165 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vbox-auth">
+ <title>RDP Authentication</title>
+
+ <body>
+ <p>
+ For each virtual machine that is remotely accessible using RDP,
+ you can individually determine if and how client connections are
+ authenticated. For this, use the <userinput>VBoxManage
+ modifyvm</userinput> command with the
+ <codeph>--vrde-auth-type</codeph> option. See
+ <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>. The following methods of
+ authentication are available:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The <b outputclass="bold">null</b> method means that
+ there is no authentication at all. Any client can connect to
+ the VRDP server and thus the virtual machine. This is very
+ insecure and only to be recommended for private networks.
+ </p>
+ </li>
+ <li>
+ <p>
+ The <b outputclass="bold">external</b> method
+ provides external authentication through a special
+ authentication library. Oracle VM VirtualBox ships with two
+ special authentication libraries:
+ </p>
+ <ol>
+ <li>
+ <p>
+ The default authentication library,
+ <userinput>VBoxAuth</userinput>, authenticates against user
+ credentials of the hosts. Depending on the host
+ platform, this means the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ On Linux hosts, <userinput>VBoxAuth.so</userinput>
+ authenticates users against the host's PAM system.
+ </p>
+ </li>
+ <li>
+ <p>
+ On Windows hosts, <userinput>VBoxAuth.dll</userinput>
+ authenticates users against the host's WinLogon
+ system.
+ </p>
+ </li>
+ <li>
+ <p>
+ On macOS hosts, <userinput>VBoxAuth.dylib</userinput>
+ authenticates users against the host's directory
+ service.
+ </p>
+ </li>
+ </ul>
+ <p>
+ In other words, the external method by default performs
+ authentication with the user accounts that exist on the
+ host system. Any user with valid authentication
+ credentials is accepted. For example, the username does
+ not have to correspond to the user running the VM.
+ </p>
+ </li>
+ <li>
+ <p>
+ An additional library called
+ <userinput>VBoxAuthSimple</userinput> performs
+ authentication against credentials configured in the
+ <codeph>extradata</codeph> section of a virtual
+ machine's XML settings file. This is probably the
+ simplest way to get authentication that does not depend
+ on a running and supported guest. The following steps
+ are required:
+ </p>
+ <ol>
+ <li>
+ <p>
+ Enable <userinput>VBoxAuthSimple</userinput> with the
+ following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setproperty vrdeauthlibrary "VBoxAuthSimple"</pre>
+ </li>
+ <li>
+ <p>
+ To enable the library for a particular VM, you must
+ switch authentication to external, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM-name</varname> --vrde-auth-type external</pre>
+ <p>
+ Replace <varname>VM-name</varname> with the
+ VM name or UUID.
+ </p>
+ </li>
+ <li>
+ <p>
+ You then need to configure users and passwords by
+ writing items into the machine's extradata. Since
+ the XML machine settings file, into whose
+ <codeph>extradata</codeph> section the password
+ needs to be written, is a plain text file,
+ Oracle VM VirtualBox uses hashes to encrypt passwords. The
+ following command must be used:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata <varname>VM-name</varname> "VBoxAuthSimple/users/<varname>user</varname>" <varname>hash</varname>
+ </pre>
+ <p>
+ Replace <varname>VM-name</varname> with the
+ VM name or UUID, <varname>user</varname>
+ with the user name who should be allowed to log in
+ and <varname>hash</varname> with the
+ encrypted password. The following command example
+ obtains the hash value for the password
+ <codeph>secret</codeph>:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage internalcommands passwordhash "secret"
+2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b</pre>
+ <p>
+ You then use <userinput>VBoxManage
+ setextradata</userinput> to store this value in the
+ machine's <codeph>extradata</codeph> section.
+ </p>
+ <p>
+ As a combined example, to set the password for the
+ user <codeph>john</codeph> and the machine
+ <codeph>My VM</codeph> to
+ <codeph>secret</codeph>, use this command:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata "My VM" "VBoxAuthSimple/users/john"
+ 2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b</pre>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <p>
+ The <b outputclass="bold">guest</b> authentication
+ method performs authentication with a special component that
+ comes with the Guest Additions. As a result, authentication
+ is not performed on the host, but with the guest user
+ accounts.
+ </p>
+ <p>
+ This method is currently still in testing and not yet
+ supported.
+ </p>
+ </li>
+ </ul>
+ <p>
+ In addition to the methods described above, you can replace the
+ default external authentication module with any other module.
+ For this, Oracle VM VirtualBox provides a well-defined interface that
+ enables you to write your own authentication module. This is
+ described in detail in the Oracle VM VirtualBox Software Development
+ Kit (SDK) reference. See <xref href="VirtualBoxAPI.dita#VirtualBoxAPI"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxandsolzvmm.dita b/doc/manual/en_US/dita/topics/vboxandsolzvmm.dita
new file mode 100644
index 00000000000..e1c68291d4b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxandsolzvmm.dita
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxandsolzvmm">
+ <title>Oracle VM VirtualBox and Oracle Solaris Kernel Zones</title>
+
+ <body>
+ <p>
+ Oracle Solaris kernel zones on x86-based systems make use of
+ hardware-assisted virtualization features like Oracle VM VirtualBox
+ does. However, for kernel zones and Oracle VM VirtualBox to share this
+ hardware resource, they need to cooperate.
+ </p>
+ <p>
+ By default, due to performance reasons, Oracle VM VirtualBox acquires
+ the hardware-assisted virtualization resource (VT-x/AMD-V)
+ globally on the host machine and uses it until the last
+ Oracle VM VirtualBox VM that requires it is powered off. This prevents
+ other software from using VT-x/AMD-V during the time
+ Oracle VM VirtualBox has taken control of it.
+ </p>
+ <p>
+ Oracle VM VirtualBox can be instructed to relinquish use of
+ hardware-assisted virtualization features when not executing guest
+ code, thereby allowing kernel zones to make use of them. To do
+ this, shutdown all Oracle VM VirtualBox VMs and execute the following
+ command:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setproperty hwvirtexclusive off</pre>
+ <p>
+ This command needs to be executed only once as the setting is
+ stored as part of the global Oracle VM VirtualBox settings which will
+ continue to persist across host-reboots and Oracle VM VirtualBox
+ upgrades.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxbowsolaris11.dita b/doc/manual/en_US/dita/topics/vboxbowsolaris11.dita
new file mode 100644
index 00000000000..1fa49978e53
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxbowsolaris11.dita
@@ -0,0 +1,38 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxbowsolaris11">
+ <title>Installing the Alternate Bridged Networking Driver on Oracle Solaris 11
+ Hosts</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox includes a network filter driver that utilizes
+ Oracle Solaris 11's Crossbow functionality. By default, this new
+ driver is installed for Oracle Solaris 11 hosts that have support
+ for it.
+ </p>
+ <p>
+ To force installation of the older STREAMS based network filter
+ driver, execute as root the following command before installing
+ the Oracle VM VirtualBox package:
+ </p>
+ <pre xml:space="preserve">$ touch /etc/vboxinst_vboxflt</pre>
+ <p>
+ To force installation of the Crossbow based network filter driver,
+ execute as root the following command before installing the
+ Oracle VM VirtualBox package:
+ </p>
+ <pre xml:space="preserve">$ touch /etc/vboxinst_vboxbow</pre>
+ <p>
+ To check which driver is currently being used by Oracle VM VirtualBox,
+ execute:
+ </p>
+ <pre xml:space="preserve">$ modinfo | grep vbox</pre>
+ <p>
+ If the output contains "vboxbow", it indicates Oracle VM VirtualBox is
+ using the Crossbow network filter driver, while the name "vboxflt"
+ indicates usage of the older STREAMS network filter.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxbowvnictemplates.dita b/doc/manual/en_US/dita/topics/vboxbowvnictemplates.dita
new file mode 100644
index 00000000000..a96f5cf32fa
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxbowvnictemplates.dita
@@ -0,0 +1,61 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxbowvnictemplates">
+ <title>Oracle VM VirtualBox VNIC Templates for VLANs on Oracle Solaris 11 Hosts</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports Virtual Network Interface (VNIC) templates
+ for configuring VMs over VLANs. An Oracle VM VirtualBox VNIC template is
+ a VNIC whose name starts with
+ <filepath>vboxvnic_template</filepath>. The string is
+ case-sensitive.
+ </p>
+ <p>
+ On Oracle Solaris 11 hosts, when Crossbow-based bridged networking
+ is used, a VNIC template may be used to specify the VLAN ID to use
+ while bridging over a network link.
+ </p>
+ <p>
+ The following is an example of how to use a VNIC template to
+ configure a VM over a VLAN. Create an Oracle VM VirtualBox VNIC
+ template, by executing as root:
+ </p>
+ <pre xml:space="preserve"># dladm create-vnic -t -l nge0 -v 23 vboxvnic_template0</pre>
+ <p>
+ This will create a temporary VNIC template over interface
+ <userinput>nge0</userinput> with the VLAN ID 23. To create VNIC
+ templates that are persistent across host reboots, skip the
+ <codeph>-t</codeph> parameter in the above command. You may check
+ the current state of links using the following command:
+ </p>
+ <pre xml:space="preserve">$ dladm show-link
+LINK CLASS MTU STATE BRIDGE OVER
+nge0 phys 1500 up -- --
+nge1 phys 1500 down -- --
+vboxvnic_template0 vnic 1500 up -- nge0
+
+$ dladm show-vnic
+LINK OVER SPEED MACADDRESS MACADDRTYPE VID
+vboxvnic_template0 nge0 1000 2:8:20:25:12:75 random 23</pre>
+ <p>
+ Once the VNIC template is created, any VMs that need to be on VLAN
+ 23 over the interface <userinput>nge0</userinput> can be configured to
+ bridge using this VNIC template.
+ </p>
+ <p>
+ VNIC templates makes managing VMs on VLANs simpler and efficient.
+ The VLAN details are not stored as part of every VM's
+ configuration but rather inherited from the VNIC template while
+ starting the VM. The VNIC template itself can be modified anytime
+ using the <userinput>dladm</userinput> command.
+ </p>
+ <p>
+ VNIC templates can be created with additional properties such as
+ bandwidth limits and CPU fanout. Refer to your Oracle Solaris
+ network documentation for details. The additional properties are
+ also applied to VMs which bridge using the VNIC template.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxconfigdata-XML-files.dita b/doc/manual/en_US/dita/topics/vboxconfigdata-XML-files.dita
new file mode 100644
index 00000000000..140a38e5f43
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxconfigdata-XML-files.dita
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxconfigdata-XML-files">
+ <title>Oracle VM VirtualBox XML Files</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox uses XML for both the machine settings files and
+ the global configuration file,
+ <filepath>VirtualBox.xml</filepath>.
+ </p>
+ <p>
+ All Oracle VM VirtualBox XML files are versioned. When a new settings
+ file is created, for example because a new virtual machine is
+ created, Oracle VM VirtualBox automatically uses the settings format
+ of the current Oracle VM VirtualBox version. These files may not be
+ readable if you downgrade to an earlier version of
+ Oracle VM VirtualBox. However, when Oracle VM VirtualBox encounters a
+ settings file from an earlier version, such as after upgrading
+ Oracle VM VirtualBox, it attempts to preserve the settings format as
+ much as possible. It will only silently upgrade the settings
+ format if the current settings cannot be expressed in the old
+ format, for example because you enabled a feature that was not
+ present in an earlier version of Oracle VM VirtualBox.
+ </p>
+ <p>
+ In such cases, Oracle VM 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 Oracle VM VirtualBox, then you will
+ need to manually copy these backup files back.
+ </p>
+ <p>
+ We intentionally do not document the specifications of the
+ Oracle VM VirtualBox XML files, as we must reserve the right to modify
+ them in the future. We therefore strongly suggest that you do
+ not edit these files manually. Oracle VM VirtualBox provides complete
+ access to its configuration data through its the
+ <userinput>VBoxManage</userinput> command line tool, see
+ <xref href="vboxmanage.dita">VBoxManage</xref> and its API, see
+ <xref href="VirtualBoxAPI.dita"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxconfigdata-global.dita b/doc/manual/en_US/dita/topics/vboxconfigdata-global.dita
new file mode 100644
index 00000000000..72606b56fb0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxconfigdata-global.dita
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxconfigdata-global">
+ <title>Global Settings</title>
+
+ <body>
+ <p>
+ In addition to the files for the virtual machines,
+ Oracle VM VirtualBox maintains global configuration data in the
+ following directory:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Linux and Oracle Solaris:</b><filepath>$HOME/.config/VirtualBox</filepath>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Windows:</b><filepath>$HOME/.VirtualBox</filepath>.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">macOS:</b><filepath>$HOME/Library/VirtualBox</filepath>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Oracle VM VirtualBox creates this configuration directory
+ automatically, if necessary. You can specify an alternate
+ configuration directory by either setting the
+ <codeph>VBOX_USER_HOME</codeph> environment variable, or on
+ Linux or Oracle Solaris by using the standard
+ <codeph>XDG_CONFIG_HOME</codeph> variable. Since the global
+ <filepath>VirtualBox.xml</filepath> settings file points to all
+ other configuration files, this enables switching between
+ several Oracle VM VirtualBox configurations.
+ </p>
+ <p>
+ In this configuration directory, Oracle VM VirtualBox stores its
+ global settings file, an XML file called
+ <filepath>VirtualBox.xml</filepath>. This file includes global
+ configuration options and a list of registered virtual machines
+ with pointers to their XML settings files.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxconfigdata-machine-folder.dita b/doc/manual/en_US/dita/topics/vboxconfigdata-machine-folder.dita
new file mode 100644
index 00000000000..a5b49cef8cf
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxconfigdata-machine-folder.dita
@@ -0,0 +1,104 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxconfigdata-machine-folder">
+ <title>The Machine Folder</title>
+
+ <body>
+ <p>
+ By default, each virtual machine has a directory on your host
+ computer where all the files of that machine are stored: the XML
+ settings file, with a <filepath>.vbox</filepath> file extension,
+ and its disk images. This is called the <i>machine
+ folder</i>.
+ </p>
+ <p>
+ By default, this machine folder is located in a common folder
+ called <filepath>VirtualBox VMs</filepath>, which Oracle VM VirtualBox
+ creates in the current system user's home directory. The
+ location of this home directory depends on the conventions of
+ the host operating system, as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ On Windows, this is the location returned by the
+ <codeph>SHGetFolderPath</codeph> function of the Windows
+ system library Shell32.dll, asking for the user profile. A
+ typical location is
+ <filepath>C:\Users\<varname>username</varname>
+ </filepath>.
+ </p>
+ </li>
+ <li>
+ <p>
+ On Linux, macOS, and Oracle Solaris, this is generally
+ taken from the environment variable
+ <filepath>$HOME</filepath>, except for the user
+ <codeph>root</codeph> where it is taken from the account
+ database. This is a workaround for the frequent trouble
+ caused by users using Oracle VM VirtualBox in combination with the
+ tool <userinput>sudo</userinput>, which by default does not
+ reset the environment variable <filepath>$HOME</filepath>.
+ </p>
+ <p>
+ A typical location on Linux and Oracle Solaris is
+ <filepath>/home/<varname>username</varname>
+ </filepath>
+ and on macOS is
+ <filepath>/Users/<varname>username</varname>
+ </filepath>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For simplicity, we abbreviate the location of the home directory
+ as <filepath>$HOME</filepath>. Using that convention, the common
+ folder for all virtual machines is <filepath>$HOME/VirtualBox
+ VMs</filepath>.
+ </p>
+ <p>
+ As an example, when you create a virtual machine called "Example
+ VM", Oracle VM VirtualBox creates the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ A machine folder: <filepath>$HOME/VirtualBox VMs/Example
+ VM/</filepath>
+ </p>
+ </li>
+ <li>
+ <p>
+ In the machine folder, a settings file: <filepath>Example
+ VM.vbox</filepath>
+ </p>
+ </li>
+ <li>
+ <p>
+ In the machine folder, a virtual disk image:
+ <filepath>Example VM.vdi</filepath>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ This is the default layout if you use the
+ <b outputclass="bold">Create New Virtual Machine</b>
+ wizard described in <xref href="create-vm-wizard.dita">Creating Your First Virtual Machine</xref>. Once you
+ start working with the VM, additional files are added. Log files
+ are in a subfolder called <filepath>Logs</filepath>, and if you
+ have taken snapshots, they are in a
+ <filepath>Snapshots</filepath> subfolder. For each VM, you can
+ change the location of its snapshots folder in the VM settings.
+ </p>
+ <p>
+ You can change the default machine folder by selecting
+ <b outputclass="bold">Preferences</b> from the
+ <b outputclass="bold">File</b> menu in the Oracle VM VirtualBox
+ main window. Then, in the displayed window, click on the
+ <b outputclass="bold">General</b> tab. Alternatively, use
+ the <userinput>VBoxManage setproperty machinefolder</userinput>
+ command. See <xref href="man_VBoxManage-setproperty.dita">VBoxManage setproperty</xref>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxconfigdata-summary-locations.dita b/doc/manual/en_US/dita/topics/vboxconfigdata-summary-locations.dita
new file mode 100644
index 00000000000..a4975f53d30
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxconfigdata-summary-locations.dita
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxconfigdata-summary-locations">
+ <title>Summary of Configuration Data Locations</title>
+
+ <body>
+ <p>
+ The following table gives a brief overview of the configuration
+ data locations on an Oracle VM VirtualBox host.
+ </p>
+ <table id="table-config-summary">
+ <title>Configuration File Locations</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Setting</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Location</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ Default machines folder
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <filepath>$HOME/VirtualBox VMs</filepath>
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Default disk image location
+ </p>
+ </entry>
+ <entry>
+ <p>
+ In each machine's folder
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Machine settings file extension
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <filepath>.vbox</filepath>
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ Media registry
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Each machine settings file
+ </p>
+ <p>
+ Media registration is done automatically when a
+ storage medium is attached to a VM
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxconfigdata.dita b/doc/manual/en_US/dita/topics/vboxconfigdata.dita
new file mode 100644
index 00000000000..a3bd866b8a0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxconfigdata.dita
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxconfigdata">
+ <title>Where Oracle VM VirtualBox Stores its Files</title>
+
+ <body>
+ <p>
+ In Oracle VM VirtualBox, a virtual machine and its settings are
+ described in a virtual machine settings file in XML format. In
+ addition, most virtual machines have one or more virtual hard
+ disks. These are typically represented by disk images, such as
+ those in VDI format. The location of these files may vary,
+ depending on the host operating system. See
+ <xref href="vboxconfigdata-machine-folder.dita#vboxconfigdata-machine-folder"/>.
+ </p>
+ <p>
+ Global configuration data for Oracle VM VirtualBox is maintained in
+ another location on the host. See
+ <xref href="vboxconfigdata-global.dita#vboxconfigdata-global"/>.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxexpertstoragemgmt.dita b/doc/manual/en_US/dita/topics/vboxexpertstoragemgmt.dita
new file mode 100644
index 00000000000..b82d1b5e262
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxexpertstoragemgmt.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxexpertstoragemgmt">
+ <title>Oracle VM VirtualBox Expert Storage Management</title>
+
+ <body>
+ <p>
+ In case the snapshot model of Oracle VM VirtualBox is not sufficient it
+ is possible to enable a special mode which makes it possible to
+ reconfigure storage attachments while the VM is paused. The user
+ has to make sure that the disk data stays consistent to the guest
+ because unlike with hotplugging the guest is not informed about
+ detached or newly attached media.
+ </p>
+ <p>
+ The expert storage management mode can be enabled per VM
+ executing:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal2/SilentReconfigureWhilePaused" 1</pre>
+ <p>
+ You can reconfigure storage attachments later while the VM is
+ paused by using the <userinput>VBoxManage storageattach</userinput>
+ command.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxheadless.dita b/doc/manual/en_US/dita/topics/vboxheadless.dita
new file mode 100644
index 00000000000..637e0238955
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxheadless.dita
@@ -0,0 +1,107 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxheadless">
+ <title>VBoxHeadless, the Remote Desktop Server</title>
+
+ <body>
+ <p>
+ While any VM started from VirtualBox Manager is capable of running
+ virtual machines remotely, it is not convenient to have to run
+ the full GUI if you never want to have VMs displayed locally in
+ the first place. In particular, if you are running server
+ hardware whose only purpose is to host VMs, and all your VMs are
+ supposed to run remotely over VRDP, then it is pointless to have
+ a graphical user interface on the server at all. This is
+ especially true for Linux or Oracle Solaris hosts, as the
+ VirtualBox Manager comes with dependencies on the Qt and SDL libraries.
+ This is inconvenient if you would rather not have the X Window
+ system on your server at all.
+ </p>
+ <p>
+ Oracle VM VirtualBox therefore comes with a front-end called
+ <userinput>VBoxHeadless</userinput>, which produces no visible
+ output on the host at all, but still can optionally deliver VRDP
+ data. This front-end has no dependencies on the X Window system
+ on Linux and Oracle Solaris hosts.
+ </p>
+ <note>
+ <p>
+ In legacy releases of Oracle VM VirtualBox, the headless server was
+ called <userinput>VBoxVRDP</userinput>. For backwards
+ compatibility, the Oracle VM VirtualBox installation still includes
+ an executable with that name.
+ </p>
+ </note>
+ <p>
+ To start a virtual machine with <userinput>VBoxHeadless</userinput>,
+ you have the following options:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Use the <userinput>VBoxManage</userinput> command, as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage startvm <varname>VM-name</varname> --type headless</pre>
+ <p>
+ The <codeph>--type</codeph> option causes Oracle VM VirtualBox to
+ use <userinput>VBoxHeadless</userinput> as the front-end to the
+ internal virtualization engine, instead of the Qt front-end.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the <userinput>VBoxHeadless</userinput> command, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxHeadless --startvm <varname>uuid</varname>|<varname>vmname</varname>
+ </pre>
+ <p>
+ This way of starting the VM helps troubleshooting problems
+ reported by <userinput>VBoxManage startvm</userinput>, because
+ you can sometimes see more detailed error messages,
+ especially for early failures before the VM execution is
+ started. In normal situations <userinput>VBoxManage
+ startvm</userinput> is preferred, since it runs the VM
+ directly as a background process which has to be done
+ explicitly when directly starting with
+ <userinput>VBoxHeadless</userinput>. <!--The full documentation of
+ the command is in <xref href="man_vboxheadless.dita#man_vboxheadless"/>.-->
+ </p>
+ </li>
+ <li>
+ <p>
+ Start <userinput>VBoxHeadless</userinput> from VirtualBox Manager, by
+ pressing the Shift key when starting a virtual machine or by
+ selecting <b outputclass="bold">Headless Start</b>
+ from the <b outputclass="bold">Machine</b> menu.
+ </p>
+ </li>
+ </ul>
+ <p>
+ When you use the <userinput>VBoxHeadless</userinput> command to
+ start a VM, the VRDP server will be enabled according to the VM
+ configuration. You can override the VM's setting using
+ <codeph>--vrde</codeph> command line parameter. To enable the
+ VRDP server, start the VM as follows:
+ </p>
+ <pre xml:space="preserve">VBoxHeadless --startvm <varname>uuid</varname>|<varname>vmname</varname> --vrde on</pre>
+ <p>
+ To disable the VRDP server:
+ </p>
+ <pre xml:space="preserve">VBoxHeadless --startvm <varname>uuid</varname>|<varname>vmname</varname> --vrde off</pre>
+ <p>
+ To have the VRDP server enabled depending on the VM
+ configuration, as for other front-ends:
+ </p>
+ <pre xml:space="preserve">VBoxHeadless --startvm <varname>uuid</varname>|<varname>vmname</varname> --vrde config</pre>
+ <p>
+ This command is the same as the following:
+ </p>
+ <pre xml:space="preserve">VBoxHeadless --startvm <varname>uuid</varname>|<varname>vmname</varname>
+ </pre>
+ <p>
+ If you start the VM with <userinput>VBoxManage startvm</userinput>
+ then the configuration settings of the VM are always used.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboximg-mount-display.dita b/doc/manual/en_US/dita/topics/vboximg-mount-display.dita
new file mode 100644
index 00000000000..b00868c7dea
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboximg-mount-display.dita
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboximg-mount-display">
+ <title>Viewing Detailed Information About a Virtual Disk Image</title>
+
+ <body>
+ <p>
+ The following examples show how to use the
+ <userinput>vboximg-mount</userinput> command to view information
+ about virtual disk images.
+ </p>
+ <p>
+ The following command outputs detailed information about all
+ registered VMs and associated snapshots:
+ </p>
+ <pre xml:space="preserve">$ vboximg-mount --list --verbose
+
+ ------------------------------------------------------
+ VM Name: "macOS High Sierra 10.13"
+ UUID: 3887d96d-831c-4187-a55a-567c504ff0e1
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/macOS High Sierra 10.13.vbox
+ -----------------------
+ HDD base: "macOS High Sierra 10.13.vdi"
+ UUID: f9ea7173-6869-4aa9-b487-68023a655980
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/macOS High Sierra 10.13.vdi
+
+ Diff 1:
+ UUID: 98c2bac9-cf37-443d-a935-4e879b70166d
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/
+ Snapshots/{98c2bac9-cf37-443d-a935-4e879b70166d}.vdi
+ Diff 2:
+ UUID: f401f381-7377-40b3-948e-3c61241b1a42
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/
+ Snapshots/{f401f381-7377-40b3-948e-3c61241b1a42}.vdi
+ -----------------------
+ HDD base: "simple_fixed_disk.vdi"
+ UUID: ffba4d7e-1277-489d-8173-22ca7660773d
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/simple_fixed_disk.vdi
+
+ Diff 1:
+ UUID: aecab681-0d2d-468b-8682-93f79dc97a48
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/
+ Snapshots/{aecab681-0d2d-468b-8682-93f79dc97a48}.vdi
+ Diff 2:
+ UUID: 70d6b34d-8422-47fa-8521-3b6929a1971c
+ Location: /Volumes/work/vm_guests/macOS High Sierra 10.13/
+ Snapshots/{70d6b34d-8422-47fa-8521-3b6929a1971c}.vdi
+ ------------------------------------------------------
+ VM Name: "debian"
+ UUID: 5365ab5f-470d-44c0-9863-dad532ee5905
+ Location: /Volumes/work/vm_guests/debian/debian.vbox
+ -----------------------
+ HDD base: "debian.vdi"
+ UUID: 96d2e92e-0d4e-46ab-a0f1-008fdbf997e7
+ Location: /Volumes/work/vm_guests/debian/ol7.vdi
+
+ Diff 1:
+ UUID: f9cc866a-9166-42e9-a503-bbfe9b7312e8
+ Location: /Volumes/work/vm_guests/debian/Snapshots/
+ {f9cc866a-9166-42e9-a503-bbfe9b7312e8}.vdi</pre>
+ <p>
+ The following command outputs partition information about the
+ specified disk image:
+ </p>
+ <pre xml:space="preserve">$ vboximg-mount --image=f9ea7173-6869-4aa9-b487-68023a655980 --list
+
+ Virtual disk image:
+
+ Path: /Volumes/work/vm_guests/macOS High Sierra 10.13/macOS High Sierra 10.13.vdi
+ UUID: f9ea7173-6869-4aa9-b487-68023a655980
+
+ # Start Sectors Size Offset Type
+ 1 40 409599 199.9M 20480 EFI System
+ 2 409640 67453071 32.1G 209735680 Hierarchical File System Plus (HFS+)
+ 3 67862712 1269535 107.8M 34745708544 Apple Boot (Recovery HD)</pre>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboximg-mount-steps.dita b/doc/manual/en_US/dita/topics/vboximg-mount-steps.dita
new file mode 100644
index 00000000000..a8ffd5168dd
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboximg-mount-steps.dita
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboximg-mount-steps">
+ <title>Mounting a Virtual Disk Image</title>
+
+ <body>
+ <p>
+ The following steps show how to use the
+ <userinput>vboximg-mount</userinput> command to mount a partition of
+ a virtual disk image on the host OS.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Create a mount point on the host OS. For example:
+ </p>
+ <pre xml:space="preserve">$ mkdir macos_sysdisk</pre>
+ </li>
+ <li>
+ <p>
+ Show partition information about the virtual disk image.
+ </p>
+ <pre xml:space="preserve">$ vboximg-mount --image=<varname>uuid</varname> --list</pre>
+ <p>
+ where <varname>uuid</varname> is the UUID of the
+ disk image.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use <userinput>vboximg-mount</userinput> to perform a FUSE mount
+ of a partition on the virtual disk image. For example:
+ </p>
+ <pre xml:space="preserve">$ vboximg-mount --image=<varname>uuid</varname> -p 2 macos_sysdisk</pre>
+ <p>
+ where <varname>uuid</varname> is the UUID for the
+ disk image.
+ </p>
+ <p>
+ In this example, partition 2 is mounted on the
+ <filepath>macos_sysdisk</filepath> mount point. The mount
+ includes all snapshots for the disk image.
+ </p>
+ </li>
+ <li>
+ <p>
+ Use the host OS to mount the <codeph>vhdd</codeph> device
+ node. The FUSE-mounted device node represents the virtual
+ disk image.
+ </p>
+ <pre xml:space="preserve">$ ls macos_sysdisk
+ macOS High Sierra 10.13.vdi vhdd
+$ sudo mount macos_sysdisk/vhdd /mnt</pre>
+ </li>
+ </ol>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboximg-mount.dita b/doc/manual/en_US/dita/topics/vboximg-mount.dita
new file mode 100644
index 00000000000..893ba60e030
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboximg-mount.dita
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboximg-mount">
+ <title>vboximg-mount: A Utility for FUSE Mounting a Virtual Disk Image</title>
+
+ <body>
+ <p>
+ <userinput>vboximg-mount</userinput> is a command line utility for Mac
+ OS and Linux hosts that provides raw access to an Oracle VM VirtualBox
+ virtual disk image on the host system. Use this utility to mount,
+ view, and optionally modify the disk image contents.
+ </p>
+ <p>
+ The utility is based on Filesystem in Userspace (FUSE) technology
+ and uses the VirtualBox runtime engine. Ensure that Oracle VM VirtualBox
+ is running on the host system.
+ </p>
+ <note>
+ <p>
+ When using <userinput>vboximg-mount</userinput>, ensure that the
+ following conditions apply:
+ </p>
+ <ul>
+ <li>
+ <p>
+ The disk image is not being used by any other systems, such
+ as by guest VMs.
+ </p>
+ </li>
+ <li>
+ <p>
+ No VMs are running on the host system.
+ </p>
+ </li>
+ </ul>
+ </note>
+ <p>
+ Raw access using FUSE is preferred over direct loopback mounting
+ of virtual disk images, because it is snapshot aware. It can
+ selectively merge disk differencing images in an exposed virtual
+ hard disk, providing historical or up-to-date representations of
+ the virtual disk contents.
+ </p>
+ <p>
+ <userinput>vboximg-mount</userinput> enables you to view information
+ about registered VMs, their attached disk media, and any
+ snapshots. Also, you can view partition information for a disk
+ image.
+ </p>
+ <p>
+ The <userinput>vboximg-mount </userinput>command includes experimental
+ read-only access to file systems inside a VM disk image. This
+ feature enables you to extract some files from the disk image
+ without starting the VM and without requiring third-party file
+ system drivers on the host system. FAT, NTFS, ext2, ext3, and ext4
+ file systems are supported.
+ </p>
+ <p>
+ Use the <codeph>--help</codeph> option to view information about
+ the <userinput>vboximg-mount</userinput> command usage. The complete
+ command reference is described in
+ <xref href="man_vboximg-mount.dita"/>.
+ </p>
+ <p>
+ When <userinput>vboximg-mount</userinput> mounts an Oracle VM VirtualBox
+ disk image, it creates a one level deep file system at a mount
+ point that you specify. The file system includes a device node
+ that represents the synthesized disk image as a readable or
+ readable-writeable bytestream. This bytestream can be mounted
+ either by using the host OS or by using other FUSE-based file
+ systems.
+ </p>
+ </body>
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboxmanage-general.dita b/doc/manual/en_US/dita/topics/vboxmanage-general.dita
new file mode 100644
index 00000000000..c37b1dbd325
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxmanage-general.dita
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxmanage-general">
+ <title>General Options</title>
+ <!-- topic/titlealts not supplied within topic/topic -->
+ <body>
+ <ul>
+ <li>
+ <p>
+ <!--option not processed within -->-v|--version: Show the version of this tool
+ and exit.
+ </p>
+ </li>
+ <li>
+ <p>
+ <!--option not processed within -->--nologo: Suppress the output of the logo
+ information. This option is useful for scripts.
+ </p>
+ </li>
+ <li>
+ <p>
+ <!--option not processed within -->--settingspw: Specify a settings password.
+ </p>
+ </li>
+ <li>
+ <p>
+ <!--option not processed within -->--settingspwfile: Specify a file containing
+ the settings password.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The settings password is used for certain settings which need to
+ be stored in encrypted form for security reasons. At the moment,
+ the only encrypted setting is the iSCSI initiator secret, see
+ <xref href="man_VBoxManage-storageattach.dita"/>. As long as no
+ settings password is specified, this information is stored in
+ <i>plain text</i>. After using the
+ <!--option not processed within -->--settingspw|--settingspwfile option once, it
+ must be always used. Otherwise, the encrypted setting cannot be
+ unencrypted.
+ </p>
+ </body>
+ <!-- topic/topic not supplied within topic/topic -->
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboxmanage-intro.dita b/doc/manual/en_US/dita/topics/vboxmanage-intro.dita
new file mode 100644
index 00000000000..e8a757565ed
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxmanage-intro.dita
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxmanage-intro">
+ <title>Introduction</title>
+
+ <body>
+ <p>
+ As briefly mentioned in <xref href="frontends.dita#frontends"/>,
+ <userinput>VBoxManage</userinput> is the command-line interface to
+ Oracle VM VirtualBox. With it, you can completely control Oracle VM VirtualBox
+ from the command line of your host operating system.
+ <userinput>VBoxManage</userinput> supports all the features that the
+ graphical user interface gives you access to, but it supports a
+ lot more than that. It exposes all the features of the
+ virtualization engine, even those that cannot be accessed from the
+ GUI.
+ </p>
+ <p>
+ You will need to use the command line if you want to do the
+ following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Use a different user interface than the main GUI such as the
+ VBoxHeadless server.
+ </p>
+ </li>
+ <li>
+ <p>
+ Control some of the more advanced and experimental
+ configuration settings for a VM.
+ </p>
+ </li>
+ </ul>
+ <p>
+ There are two main things to keep in mind when using
+ <userinput>VBoxManage</userinput>. First,
+ <userinput>VBoxManage</userinput> must always be used with a specific
+ subcommand, such as <userinput>list</userinput> or
+ <userinput>createvm</userinput> or <userinput>startvm</userinput>. All the
+ subcommands that <userinput>VBoxManage</userinput> supports are
+ described in detail in <xref href="vboxmanage.dita#vboxmanage"/>.
+ </p>
+ <p>
+ Second, most of these subcommands require that you specify a
+ particular virtual machine after the subcommand. There are two
+ ways you can do this:
+ </p>
+ <ul>
+ <li>
+ <p>
+ You can specify the VM name, as it is shown in the
+ Oracle VM VirtualBox GUI. Note that if that name contains spaces,
+ then you must enclose the entire name in double quotes. This
+ is always required with command line arguments that contain
+ spaces. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage startvm "Windows XP"</pre>
+ </li>
+ <li>
+ <p>
+ You can specify the UUID, which is the internal unique
+ identifier that Oracle VM VirtualBox uses to refer to the virtual
+ machine. Assuming that the VM called "Windows XP" has the UUID
+ shown below, the following command has the same effect as the
+ previous example:
+ </p>
+ <pre xml:space="preserve">VBoxManage startvm 670e746d-abea-4ba6-ad02-2a3b043810a5</pre>
+ </li>
+ </ul>
+ <p>
+ You can enter <userinput>VBoxManage list vms</userinput> to have all
+ currently registered VMs listed with all their settings, including
+ their respective names and UUIDs.
+ </p>
+ <p>
+ Some typical examples of how to control Oracle VM VirtualBox from the
+ command line are listed below:
+ </p>
+ <ul>
+ <li>
+ <p>
+ To create a new virtual machine from the command line and
+ immediately register it with Oracle VM VirtualBox, use
+ <userinput>VBoxManage createvm</userinput> with the
+ <!--option not processed within -->--register option, as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage createvm --name "SUSE 10.2" --register
+VirtualBox Command Line Management Interface Version <varname>version-number</varname>
+(C) 2005-2018 Oracle Corporation
+All rights reserved.
+
+Virtual machine 'SUSE 10.2' is created.
+UUID: c89fc351-8ec6-4f02-a048-57f4d25288e5
+Settings file: '/home/username/.config/VirtualBox/Machines/SUSE 10.2/SUSE 10.2.xml'</pre>
+ <p>
+ 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.
+ </p>
+ <p>
+ For more details, see
+ <xref href="man_VBoxManage-createvm.dita#vboxmanage-createvm"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ To show the configuration of a particular VM, use
+ <userinput>VBoxManage showvminfo</userinput>. See
+ <xref href="man_VBoxManage-showvminfo.dita#vboxmanage-showvminfo"/> for details
+ and an example.
+ </p>
+ </li>
+ <li>
+ <p>
+ To change settings while a VM is powered off, use
+ <userinput>VBoxManage modifyvm</userinput>. For example:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm "Windows XP" --memory 512</pre>
+ <p>
+ See also <xref href="man_VBoxManage-modifyvm.dita#vboxmanage-modifyvm"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ To change the storage configuration, such as to add a storage
+ controller and then a virtual disk, use <userinput>VBoxManage
+ storagectl</userinput> and <userinput>VBoxManage
+ storageattach</userinput>. See
+ <xref href="man_VBoxManage-storagectl.dita#vboxmanage-storagectl"/> and
+ <xref href="man_VBoxManage-storageattach.dita#vboxmanage-storageattach"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ To control VM operation, use one of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ To start a VM that is currently powered off, use
+ <userinput>VBoxManage startvm</userinput>. See
+ <xref href="man_VBoxManage-startvm.dita#vboxmanage-startvm"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ To pause or save a VM that is currently running or change
+ some of its settings, use <userinput>VBoxManage
+ controlvm</userinput>. See
+ <xref href="man_VBoxManage-controlvm.dita#vboxmanage-controlvm"/>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboxmanage.dita b/doc/manual/en_US/dita/topics/vboxmanage.dita
new file mode 100644
index 00000000000..9d54c73b3f0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxmanage.dita
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxmanage">
+ <title>VBoxManage</title>
+
+ <body/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboxmanager-wizards.dita b/doc/manual/en_US/dita/topics/vboxmanager-wizards.dita
new file mode 100644
index 00000000000..6e7f6c17eea
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxmanager-wizards.dita
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxmanager-wizards">
+ <title>About VirtualBox Manager Wizards</title>
+
+ <body>
+ <p>
+ VirtualBox Manager includes wizards that enable you to complete tasks
+ easily. Examples of such tasks are when you create a new virtual
+ machine or use the cloud integration features of Oracle VM VirtualBox.
+ </p>
+ <p>
+ To display a help topic for the wizard, click the
+ <b outputclass="bold">Help</b> button.
+ </p>
+ <p>
+ Some wizards can be displayed in either of the following modes:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Guided mode.</b> This is the
+ default display mode. Wizards are shown in the conventional
+ manner, using a series of pages with descriptions to guide
+ the user through the steps for a task.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">
+ <b outputclass="bold">Expert
+ mode.</b>
+ </b> This display mode is designed
+ for more advanced users of Oracle VM VirtualBox. All settings are
+ displayed on a single page, enabling quicker completion of
+ tasks.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Click the button at the bottom of the wizard window to switch
+ between Guided mode and Expert mode.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vboxsvc-session-0-known-issues.dita b/doc/manual/en_US/dita/topics/vboxsvc-session-0-known-issues.dita
new file mode 100644
index 00000000000..f4a047d142b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxsvc-session-0-known-issues.dita
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxsvc-session-0-known-issues">
+ <title>Known Issues</title>
+
+ <body>
+ <ul>
+ <li>
+ <p>
+ Due to different Windows sessions having their own set of
+ resources, there might be some issues with accessing network
+ shares created in the interactive user session when at least
+ one of the Oracle VM VirtualBox processes are running in session
+ 0.
+ </p>
+ <p>
+ For accessing network shares within session 0, a possible
+ workaround is to establish permanent access to the share and
+ then restart the host.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxsvc-session-0.dita b/doc/manual/en_US/dita/topics/vboxsvc-session-0.dita
new file mode 100644
index 00000000000..2944936d175
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxsvc-session-0.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxsvc-session-0">
+ <title>VBoxSVC running in Windows Session 0</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox supports executing the VBoxSVC in Windows session
+ 0. This allows VBoxSVC to run like a regular Windows service,
+ which in turn enables headless VMs to continue running even if the
+ user logs out.
+
+ <note><p>
+ This is currently an experimental feature.
+ </p></note>
+ </p>
+ <p>
+ The feature is disabled by default and can be enabled by creating
+ a REG_DWORD value <codeph>ServerSession0</codeph> in the key
+ <codeph>HKEY_LOCAL_MACHINE\Software\Oracle\VirtualBox\VBoxSDS</codeph>
+ of the Windows registry. Specify <codeph>1</codeph> as the
+ value's data to enable the feature, or <codeph>0</codeph> to
+ disable the feature. A host reboot is needed in order to make the
+ change effective.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwatchdog-ballonctrl.dita b/doc/manual/en_US/dita/topics/vboxwatchdog-ballonctrl.dita
new file mode 100644
index 00000000000..ac0419a9e22
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwatchdog-ballonctrl.dita
@@ -0,0 +1,70 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwatchdog-ballonctrl">
+ <title>Memory Ballooning Control</title>
+
+ <body>
+ <p>
+ The memory ballooning control inflates and deflates the memory
+ balloon of VMs based on the VMs free memory and the desired
+ maximum balloon size.
+ </p>
+ <p>
+ To set up the memory ballooning control the maximum ballooning
+ size a VM can reach needs to be set. This can be specified using
+ the command line, as follows:
+ </p>
+ <pre xml:space="preserve">--balloon-max &lt;Size in MB&gt;</pre>
+ <p>
+ Using a per-VM basis extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata &lt;VM-Name&gt; VBoxInternal2/Watchdog/BalloonCtrl/BalloonSizeMax &lt;Size in MB&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/BalloonCtrl/BalloonSizeMax &lt;Size in MB&gt;</pre>
+ <note>
+ <p>
+ If no maximum ballooning size is specified by at least one of
+ the parameters above, no ballooning will be performed at all.
+ </p>
+ </note>
+ <p>
+ Setting the ballooning increment in MB can be either done using
+ command line, as follows:
+ </p>
+ <pre xml:space="preserve">--balloon-inc &lt;Size in MB&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/BalloonCtrl/BalloonIncrementMB &lt;Size in MB&gt;</pre>
+ <p>
+ The default ballooning increment is 256 MB if not specified.
+ </p>
+ <p>
+ The same options apply for a ballooning decrement. Using the
+ command line, as follows:
+ </p>
+ <pre xml:space="preserve">--balloon-dec &lt;Size in MB&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/BalloonCtrl/BalloonDecrementMB &lt;Size in MB&gt;</pre>
+ <p>
+ The default ballooning decrement is 128 MB if not specified.
+ </p>
+ <p>
+ The lower limit in MB for a balloon can be defined using the
+ command line, as follows:
+ </p>
+ <pre xml:space="preserve">--balloon-lower-limit &lt;Size in MB&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/BalloonCtrl/BalloonLowerLimitMB &lt;Size in MB&gt;</pre>
+ <p>
+ The default lower limit is 128 MB if not specified.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwatchdog-hostisln.dita b/doc/manual/en_US/dita/topics/vboxwatchdog-hostisln.dita
new file mode 100644
index 00000000000..2524fdbfc2b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwatchdog-hostisln.dita
@@ -0,0 +1,79 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwatchdog-hostisln">
+ <title>Host Isolation Detection</title>
+
+ <body>
+ <p>
+ To detect whether a host is being isolated, that is, the host
+ cannot reach the Oracle VM VirtualBox server instance anymore, the
+ host needs to set an alternating value to a global extradata
+ value within a time period. If this value is not set within that
+ time period a timeout occurred and the so-called host isolation
+ response will be performed to the VMs handled. Which VMs are
+ handled can be controlled by defining VM groups and assigning
+ VMs to those groups. By default no groups are set, meaning that
+ all VMs on the server will be handled when no host response is
+ received within 30 seconds.
+ </p>
+ <p>
+ Set the groups handled by the host isolation detection using the
+ following command line:
+ </p>
+ <pre xml:space="preserve">--apimon-groups=&lt;string[,stringN]&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/APIMonitor/Groups &lt;string[,stringN]&gt;</pre>
+ <p>
+ Set the host isolation timeout using the following command line:
+ </p>
+ <pre xml:space="preserve">--apimon-isln-timeout=&lt;ms&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/APIMonitor/IsolationTimeoutMS &lt;ms&gt;</pre>
+ <p>
+ Set the actual host isolation response using the following
+ command line:
+ </p>
+ <pre xml:space="preserve">--apimon-isln-response=&lt;cmd&gt;</pre>
+ <p>
+ Using a global extradata value, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage setextradata global VBoxInternal2/Watchdog/APIMonitor/IsolationResponse &lt;cmd&gt;</pre>
+ <p>
+ The following response commands are available:
+ </p>
+ <ul>
+ <li>
+ <p><codeph>none</codeph>. This has no effect.
+ </p>
+ </li>
+ <li>
+ <p><codeph>pause</codeph>. Pauses the execution of a VM.
+ </p>
+ </li>
+ <li>
+ <p><codeph>poweroff</codeph>. Shuts down the VM by pressing
+ the virtual power button. The VM will not have the chance of
+ saving any data or veto the shutdown process.
+ </p>
+ </li>
+ <li>
+ <p><codeph>save</codeph>. Saves the current machine state and
+ powers off the VM afterwards. If saving the machine state
+ fails the VM will be paused.
+ </p>
+ </li>
+ <li>
+ <p><codeph>shutdown</codeph>. Shuts down the VM in a gentle
+ way by sending an <codeph>ACPI</codeph> shutdown event to
+ the VM's operating system. The OS then has the chance of
+ doing a clean shutdown.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwatchdog-linux.dita b/doc/manual/en_US/dita/topics/vboxwatchdog-linux.dita
new file mode 100644
index 00000000000..eda5f385152
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwatchdog-linux.dita
@@ -0,0 +1,206 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwatchdog-linux">
+ <title>Linux: Starting the Watchdog Service With init</title>
+
+ <body>
+ <p>
+ On Linux, the watchdog service can be automatically started
+ during host boot by adding appropriate parameters to the file
+ <filepath>/etc/default/virtualbox</filepath>. There is one
+ mandatory parameter, <codeph>VBOXWATCHDOG_USER</codeph>, which
+ must be set to the user which will later start the VMs. For
+ backward compatibility you can also specify
+ <codeph>VBOXBALLOONCTRL_USER</codeph>.
+ </p>
+ <p>
+ The parameters in the following table all start with the
+ <codeph>VBOXWATCHDOG_</codeph> prefix string. For example:
+ <codeph>VBOXWATCHDOG_BALLOON_INTERVAL</codeph> and
+ <codeph>VBOXWATCHDOG_LOGSIZE</codeph>. Legacy parameters such
+ as <codeph>VBOXBALLOONCTRL_INTERVAL</codeph> can still be
+ used.
+ </p>
+ <table id="table-vboxwatchdog-config-params">
+ <title>Oracle VM VirtualBox Watchdog Configuration Parameters</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Parameter</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Description</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Default</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ <codeph>USER</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ The user which the watchdog service runs as
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>ROTATE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Number of log files, 0 disables log rotation
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 10
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>LOGSIZE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Maximum log file size to trigger rotation, in bytes
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 1MB
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>LOGINTERVAL</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Maximum time interval to trigger log rotation, in
+ seconds
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 1 day
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>BALLOON_INTERVAL</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Interval for checking the balloon size, in
+ milliseconds
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 30000
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>BALLOON_INCREMENT</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Balloon size increment, in megabytes
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 256
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>BALLOON_DECREMENT</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Balloon size decrement, in megabytes
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 128
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>BALLOON_LOWERLIMIT</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Balloon size lower limit, in megabytes
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 64
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>BALLOON_SAFETYMARGIN</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Free memory required for decreasing the balloon size,
+ in megabytes
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 1024
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwatchdog-moreinfo.dita b/doc/manual/en_US/dita/topics/vboxwatchdog-moreinfo.dita
new file mode 100644
index 00000000000..38f817dad84
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwatchdog-moreinfo.dita
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwatchdog-moreinfo">
+ <title>More Information</title>
+
+ <body>
+ <p>
+ For more advanced options and parameters like verbose logging
+ check the built-in command line help accessible with
+ <codeph>--help</codeph>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwatchdog-solaris.dita b/doc/manual/en_US/dita/topics/vboxwatchdog-solaris.dita
new file mode 100644
index 00000000000..c46f34d030b
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwatchdog-solaris.dita
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwatchdog-solaris">
+ <title>Oracle Solaris: Starting the Watchdog Service With SMF</title>
+
+ <body>
+ <p>
+ On Oracle Solaris hosts, the Oracle VM VirtualBox watchdog service
+ daemon is integrated into the SMF framework. You can change the
+ parameters, but do not have to if the defaults already match
+ your needs:
+ </p>
+ <pre xml:space="preserve">svccfg -s svc:/application/virtualbox/balloonctrl:default setprop \
+ config/balloon_interval=10000
+svccfg -s svc:/application/virtualbox/balloonctrl:default setprop \
+config/balloon_safetymargin=134217728</pre>
+ <p><xref href="vboxwatchdog-linux.dita#vboxwatchdog-linux/table-vboxwatchdog-config-params"/> also applies
+ for Oracle Solaris. The parameter names must be changed to
+ lowercase and a prefix of <codeph>config/</codeph> has to be
+ added. For example: <codeph>config/user</codeph> or
+ <codeph>config/balloon_safetymargin</codeph>. If you made any
+ change, do not forget to run the following command to put the
+ changes into effect immediately:
+ </p>
+ <pre xml:space="preserve">svcadm refresh svc:/application/virtualbox/balloonctrl:default</pre>
+ <p>
+ If you forget the above command then the previous settings will
+ be used when enabling the service. Check the current property
+ settings with the following command:
+ </p>
+ <pre xml:space="preserve">svcprop -p config svc:/application/virtualbox/balloonctrl:default</pre>
+ <p>
+ When everything is configured correctly you can start the
+ Oracle VM VirtualBox watchdog service with the following command:
+ </p>
+ <pre xml:space="preserve">svcadm enable svc:/application/virtualbox/balloonctrl:default</pre>
+ <p>
+ For more information about SMF, please refer to the Oracle
+ Solaris documentation.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwatchdog.dita b/doc/manual/en_US/dita/topics/vboxwatchdog.dita
new file mode 100644
index 00000000000..dfc5a205c68
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwatchdog.dita
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwatchdog">
+ <title>Oracle VM VirtualBox Watchdog</title>
+
+ <body>
+ <p>
+ The memory ballooning service, formerly known as
+ <userinput>VBoxBalloonCtrl</userinput>, was renamed to VBoxWatchdog.
+ This service now incorporates the following host services that are
+ meant to be run in a server environment:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Memory ballooning control.</b>
+ This service automatically takes care of a VM's configured
+ memory balloon. See <xref href="guestadd-balloon.dita">Memory Ballooning</xref>. This
+ service is useful for server environments where VMs may
+ dynamically require more or less memory during runtime.
+ </p>
+ <p>
+ The service periodically checks a VM's current memory balloon
+ and its free guest RAM and automatically adjusts the current
+ memory balloon by inflating or deflating it accordingly. This
+ handling only applies to running VMs having recent Guest
+ Additions installed.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">Host isolation detection.</b>
+ This service provides a way to detect whether the host cannot
+ reach the specific Oracle VM VirtualBox server instance anymore and
+ take appropriate actions, such as shutting down, saving the
+ current state or even powering down certain VMs.
+ </p>
+ </li>
+ </ul>
+ <p>
+ All configuration values can be either specified using the command
+ line or global extradata, whereas command line values always have
+ a higher priority when set. Some of the configuration values also
+ be specified on a per-VM basis. So the overall lookup order is:
+ command line, per-VM basis extradata if available, global
+ extradata.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwebsrv-daemon.dita b/doc/manual/en_US/dita/topics/vboxwebsrv-daemon.dita
new file mode 100644
index 00000000000..f9ff17e3cc8
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwebsrv-daemon.dita
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwebsrv-daemon">
+ <title>Starting the Oracle VM VirtualBox Web Service Automatically</title>
+
+ <body>
+ <p>
+ The Oracle VM VirtualBox web service, <userinput>vboxwebsrv</userinput>, is
+ used for controlling Oracle VM VirtualBox remotely. It is documented in
+ detail in the Oracle VM VirtualBox Software Development Kit (SDK). See
+ <xref href="VirtualBoxAPI.dita#VirtualBoxAPI"/>. Web service start scripts are
+ available for supported host operating systems. The following
+ sections describe how to use the scripts. The Oracle VM VirtualBox web
+ service is never started automatically as a result of a standard
+ installation.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwebsrv-linux.dita b/doc/manual/en_US/dita/topics/vboxwebsrv-linux.dita
new file mode 100644
index 00000000000..b591d1e2172
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwebsrv-linux.dita
@@ -0,0 +1,312 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwebsrv-linux">
+ <title>Linux: Starting the Web Service With init</title>
+
+ <body>
+ <p>
+ On Linux, the web service can be automatically started during
+ host boot by adding appropriate parameters to the file
+ <filepath>/etc/default/virtualbox</filepath>. There is one
+ mandatory parameter, <codeph>VBOXWEB_USER</codeph>, which must
+ be set to the user which will later start the VMs. The
+ parameters in the following table all start with the
+ <codeph>VBOXWEB_</codeph> prefix string. For example:
+ <codeph>VBOXWEB_HOST</codeph> and
+ <codeph>VBOXWEB_PORT</codeph>.
+ </p>
+ <table id="table-websrv-config-params">
+ <title>Web Service Configuration Parameters</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ <p>
+ <b outputclass="bold">Parameter</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Description</b>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ <b outputclass="bold">Default</b>
+ </p>
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <p>
+ <codeph>USER</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ The user which the web service runs as
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>HOST</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ The host to bind the web service to
+ </p>
+ </entry>
+ <entry>
+ <p>
+ localhost
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>PORT</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ The port to bind the web service to
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 18083
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SSL_KEYFILE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Server key and certificate file, in PEM format
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SSL_PASSWORDFILE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ File name for password to server key
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SSL_CACERT</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ CA certificate file, in PEM format
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SSL_CAPATH</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ CA certificate path
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SSL_DHFILE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ DH file name or DH key length in bits
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>SSL_RANDFILE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ File containing seed for random number generator
+ </p>
+ </entry>
+ <entry>
+ <p/>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>TIMEOUT</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Session timeout in seconds, 0 disables timeouts
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 300
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>CHECK_INTERVAL</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Frequency of timeout checks in seconds
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 5
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>THREADS</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Maximum number of worker threads to run in parallel
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 100
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>KEEPALIVE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Maximum number of requests before a socket will be
+ closed
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 100
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>ROTATE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Number of log files, 0 disables log rotation
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 10
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>LOGSIZE</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Maximum log file size to trigger rotation, in bytes
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 1MB
+ </p>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <p>
+ <codeph>LOGINTERVAL</codeph>
+ </p>
+ </entry>
+ <entry>
+ <p>
+ Maximum time interval to trigger log rotation, in
+ seconds
+ </p>
+ </entry>
+ <entry>
+ <p>
+ 1 day
+ </p>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <p>
+ Setting the parameter <codeph>SSL_KEYFILE</codeph> enables the
+ SSL/TLS support. Using encryption is strongly encouraged, as
+ otherwise everything, including passwords, is transferred in
+ clear text.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwebsrv-osx.dita b/doc/manual/en_US/dita/topics/vboxwebsrv-osx.dita
new file mode 100644
index 00000000000..8f691c4cab3
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwebsrv-osx.dita
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwebsrv-osx">
+ <title>macOS: Starting the Web Service With launchd</title>
+
+ <body>
+ <p>
+ On macOS, launchd is used to start the Oracle VM VirtualBox
+ webservice. An example configuration file can be found in
+ <filepath>$HOME/Library/LaunchAgents/org.virtualbox.vboxwebsrv.plist</filepath>.
+ It can be enabled by changing the <codeph>Disabled</codeph>
+ key from <codeph>true</codeph> to <codeph>false</codeph>. To
+ manually start the service use the following command:
+ </p>
+ <pre xml:space="preserve">launchctl load ~/Library/LaunchAgents/org.virtualbox.vboxwebsrv.plist</pre>
+ <p>
+ For additional information on how launchd services could be
+ configured see:
+ </p>
+ <p><ph>https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html</ph>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vboxwebsrv-solaris.dita b/doc/manual/en_US/dita/topics/vboxwebsrv-solaris.dita
new file mode 100644
index 00000000000..3e85e2070e6
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vboxwebsrv-solaris.dita
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vboxwebsrv-solaris">
+ <title>Oracle Solaris: Starting the Web Service With SMF</title>
+
+ <body>
+ <p>
+ On Oracle Solaris hosts, the Oracle VM VirtualBox web service daemon
+ is integrated into the SMF framework. You can change the
+ parameters, but do not have to if the defaults below already
+ match your needs:
+ </p>
+ <pre xml:space="preserve">svccfg -s svc:/application/virtualbox/webservice:default setprop config/host=localhost
+svccfg -s svc:/application/virtualbox/webservice:default setprop config/port=18083
+svccfg -s svc:/application/virtualbox/webservice:default setprop config/user=root</pre>
+ <p>
+ The table in <xref href="vboxwebsrv-linux.dita#vboxwebsrv-linux"/> showing the
+ parameter names and defaults also applies for Oracle Solaris.
+ The parameter names must be changed to lowercase and a prefix of
+ <codeph>config/</codeph> has to be added. For example:
+ <codeph>config/user</codeph> or
+ <codeph>config/ssl_keyfile</codeph>. If you make any change,
+ do not forget to run the following command to put the changes
+ into effect immediately:
+ </p>
+ <pre xml:space="preserve">svcadm refresh svc:/application/virtualbox/webservice:default</pre>
+ <p>
+ If you forget the above command then the previous settings are
+ used when enabling the service. Check the current property
+ settings as follows:
+ </p>
+ <pre xml:space="preserve">svcprop -p config svc:/application/virtualbox/webservice:default</pre>
+ <p>
+ When everything is configured correctly you can start the
+ Oracle VM VirtualBox web service with the following command:
+ </p>
+ <pre xml:space="preserve">svcadm enable svc:/application/virtualbox/webservice:default</pre>
+ <p>
+ For more information about SMF, please refer to the Oracle
+ Solaris documentation.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vdidetails.dita b/doc/manual/en_US/dita/topics/vdidetails.dita
new file mode 100644
index 00000000000..2a06999f6a9
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vdidetails.dita
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vdidetails">
+ <title>Disk Image Files (VDI, VMDK, VHD, HDD)</title>
+
+ <body>
+ <p>
+ 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 OS
+ reads from or writes to a hard disk, Oracle VM VirtualBox redirects the
+ request to the image file.
+ </p>
+ <p>
+ Like a physical disk, a virtual disk has a size, or capacity,
+ which must be specified when the image file is created. As opposed
+ to a physical disk however, Oracle VM VirtualBox enables you to expand
+ an image file after creation, even if it has data already. See
+ <xref href="man_VBoxManage-modifymedium.dita#vboxmanage-modifymedium"/>.
+ </p>
+ <p>
+ Oracle VM VirtualBox supports the following types of disk image files:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">VDI.</b> Normally, Oracle VM VirtualBox
+ uses its own container format for guest hard disks. This is
+ called a Virtual Disk Image (VDI) file. This format is used
+ when you create a new virtual machine with a new disk.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">VMDK.</b> Oracle VM VirtualBox also
+ fully supports the popular and open VMDK container format that
+ is used by many other virtualization products, such as VMware.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">VHD.</b> Oracle VM VirtualBox also
+ fully supports the VHD format used by Microsoft.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">HDD.</b> Image files of Parallels
+ version 2 (HDD format) are also supported.
+ </p>
+ <p>
+ Due to lack of documentation of the format, newer versions
+ such as 3 and 4 are not supported. You can however convert
+ such image files to version 2 format using tools provided by
+ Parallels.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Irrespective of the disk capacity and format, as mentioned in
+ <xref href="create-vm-wizard.dita#create-vm-wizard"/>, there are two options for
+ creating a disk image: fixed-size or dynamically allocated.
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Fixed-size.</b> If you create a
+ fixed-size image, an image file will be created on your host
+ system which has roughly the same size as the virtual disk's
+ capacity. So, for a 10 GB disk, you will have a 10 GB file.
+ Note that the creation of a fixed-size image can take a long
+ time depending on the size of the image and the write
+ performance of your hard disk.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Dynamically allocated.</b> For
+ more flexible storage management, use a dynamically allocated
+ image. This will initially be very small and not occupy any
+ space for unused virtual disk sectors, but will grow every
+ time a disk sector is written to for the first time, until the
+ drive reaches the maximum capacity chosen when the drive was
+ created. While this format takes less space initially, the
+ fact that Oracle VM VirtualBox needs to expand the image file
+ consumes additional computing resources, so until the disk
+ file size has stabilized, write operations may be slower than
+ with fixed size disks. However, after a time the rate of
+ growth will slow and the average penalty for write operations
+ will be negligible.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/virt-why-useful.dita b/doc/manual/en_US/dita/topics/virt-why-useful.dita
new file mode 100644
index 00000000000..159b37faa16
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/virt-why-useful.dita
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="virt-why-useful">
+ <title>Why is Virtualization Useful?</title>
+
+ <body>
+ <p>
+ The techniques and features that Oracle VM VirtualBox provides are
+ useful in the following scenarios:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Running multiple operating systems
+ simultaneously.</b> Oracle VM VirtualBox enables you to run
+ more than one OS at a time. This way, you can run software
+ written for one OS on another, such as Windows software on
+ Linux or a Mac, without having to reboot to use it. Since you
+ can configure what kinds of <i>virtual</i>
+ hardware should be presented to each such OS, you can install
+ an old OS such as DOS or OS/2 even if your real computer's
+ hardware is no longer supported by that OS.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Easier software
+ installations.</b> Software vendors can use virtual
+ machines to ship entire software configurations. For example,
+ installing a complete mail server solution on a real machine
+ can be a tedious task. With Oracle VM VirtualBox, such a complex
+ setup, often called an <i>appliance</i>, can be
+ packed into a virtual machine. Installing and running a mail
+ server becomes as easy as importing such an appliance into
+ Oracle VM VirtualBox.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Testing and disaster
+ recovery.</b> Once installed, a virtual machine and its
+ virtual hard disks can be considered a
+ <i>container</i> that can be arbitrarily frozen,
+ woken up, copied, backed up, and transported between hosts.
+ </p>
+ <p>
+ Using virtual machines enables you to build and test a
+ multi-node networked service, for example. Issues with
+ networking, operating system, and software configuration can
+ be investigated easily.
+ </p>
+ <p>
+ In addition to that, with the use of another Oracle VM VirtualBox
+ feature called <i>snapshots</i>, one can save a
+ particular state of a virtual machine and revert back to that
+ state, if necessary. This way, one can freely experiment with
+ a computing environment. If something goes wrong, such as
+ problems after installing software or infecting the guest with
+ a virus, you can easily switch back to a previous snapshot and
+ avoid the need of frequent backups and restores.
+ </p>
+ <p>
+ Any number of snapshots can be created, allowing you to travel
+ back and forward in virtual machine time. You can delete
+ snapshots while a VM is running to reclaim disk space.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Infrastructure consolidation.</b>
+ Virtualization can significantly reduce hardware and
+ electricity costs. Most of the time, computers today only use
+ a fraction of their potential power and run with low average
+ system loads. A lot of hardware resources as well as
+ electricity is thereby wasted. So, instead of running many
+ such physical computers that are only partially used, one can
+ pack many virtual machines onto a few powerful hosts and
+ balance the loads between them.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/virtintro.dita b/doc/manual/en_US/dita/topics/virtintro.dita
new file mode 100644
index 00000000000..31c8bc4a94a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/virtintro.dita
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="virtintro">
+ <title>Some Terminology</title>
+
+ <body>
+ <p>
+ 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:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Host operating system (host
+ OS).</b> This is the OS of the physical computer on
+ which Oracle VM VirtualBox was installed. There are versions of
+ Oracle VM VirtualBox for Windows, macOS, Linux, and Oracle Solaris
+ hosts. See <xref href="hostossupport.dita#hostossupport"/>.
+ </p>
+ <p>
+ Most of the time, this manual discusses all Oracle VM VirtualBox
+ versions together. There may be platform-specific differences
+ which we will point out where appropriate.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Guest operating system (guest
+ OS).</b> This is the OS that is running inside the
+ virtual machine. Theoretically, Oracle VM VirtualBox can run any x86
+ OS such as DOS, Windows, OS/2, FreeBSD, and OpenBSD. But to
+ achieve near-native performance of the guest code on your
+ machine, we had to go through a lot of optimizations that are
+ specific to certain OSes. So while your favorite OS
+ <i>may</i> run as a guest, we officially support
+ and optimize for a select few, which include the most common
+ OSes.
+ </p>
+ <p>
+ See <xref href="guestossupport.dita#guestossupport"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Virtual machine (VM).</b> This is
+ the special environment that Oracle VM VirtualBox creates for your
+ guest OS while it is running. In other words, you run your
+ guest OS <i>in</i> a VM. Normally, a VM is shown
+ as a window on your computer's desktop. Depending on which of
+ the various frontends of Oracle VM VirtualBox you use, the VM might
+ be shown in full screen mode or remotely on another computer.
+ </p>
+ <p>
+ Internally, Oracle VM VirtualBox treats a VM as a set of parameters
+ that specify its behavior. Some parameters describe hardware
+ settings, such as the amount of memory and number of CPUs
+ assigned. Other parameters describe the state information,
+ such as whether the VM is running or saved.
+ </p>
+ <p>
+ You can view these VM settings in VirtualBox Manager, in the
+ <b outputclass="bold">Settings</b> window, and by
+ running the <userinput>VBoxManage</userinput> command. See
+ <xref href="vboxmanage.dita#vboxmanage"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Guest Additions.</b> This refers
+ to special software packages which are shipped with
+ Oracle VM VirtualBox but designed to be installed
+ <i>inside</i> a VM to improve performance of the
+ guest OS and to add extra features. See
+ <xref href="guestadditions.dita#guestadditions"/>.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/virtual-media-manager.dita b/doc/manual/en_US/dita/topics/virtual-media-manager.dita
new file mode 100644
index 00000000000..c73a37f0a20
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/virtual-media-manager.dita
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="virtual-media-manager">
+ <title>The Virtual Media Manager</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox keeps track of all the hard disk, CD/DVD-ROM, and
+ floppy disk images which are in use by virtual machines. These are
+ often referred to as <i>known media</i> and come
+ from two sources:
+ </p>
+ <ul>
+ <li>
+ <p>
+ All media currently attached to virtual machines.
+ </p>
+ </li>
+ <li>
+ <p>
+ Registered media, for compatibility with legacy Oracle VM VirtualBox
+ versions.
+ </p>
+ </li>
+ </ul>
+ <p>
+ The known media can be viewed and changed using the
+ <b outputclass="bold">Virtual Media Manager</b> tool, which
+ you access by clicking <b outputclass="bold">Media</b> on
+ the global <b outputclass="bold">Tools</b> menu in
+ VirtualBox Manager.
+ </p>
+ <fig id="fig-virtual-media-manager">
+ <title>The Virtual Media Manager, Showing Hard Disk Images</title>
+ <image href="images/virtual-disk-manager.png" placement="break"/>
+ </fig>
+ <p>
+ The known media are conveniently grouped in separate tabs for the
+ supported formats. These formats are:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Hard disk images, either in Oracle VM VirtualBox's own Virtual Disk
+ Image (VDI) format, or in the third-party formats listed in
+ <xref href="vdidetails.dita#vdidetails"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ CD/DVD images in standard ISO format.
+ </p>
+ </li>
+ <li>
+ <p>
+ Floppy images in standard RAW format.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For each image, the Virtual Media Manager shows you the full path
+ of the image file and other information, such as the virtual
+ machine the image is currently attached to.
+ </p>
+ <p>
+ The Virtual Media Manager enables you to do the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Add</b> an image to the known
+ media.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Create</b> a new disk image.
+ </p>
+ <ul>
+ <li>
+ <p>
+ For hard disks, the <b outputclass="bold">Create Virtual
+ Hard Disk</b> wizard is shown. See
+ <xref href="create-virtual-hard-disk-image.dita#create-virtual-hard-disk-image"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ For optical disks, the <b outputclass="bold">VISO
+ Creator</b> tool is shown. See
+ <xref href="create-optical-disk-image.dita#create-optical-disk-image"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ For floppy disks, the <b outputclass="bold">Floppy Disk
+ Creator</b> tool is shown. See
+ <xref href="create-floppy-disk-image.dita#create-floppy-disk-image"/>.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Copy</b> an image to create
+ another one.
+ </p>
+ <p>
+ For virtual hard disks, you can specify one of the following
+ target types: VDI, VHD, or VMDK.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Move</b> an image to another
+ location.
+ </p>
+ <p>
+ A file dialog prompts you for the new image file location.
+ </p>
+ <p>
+ When you use the Virtual Media Manager to move a disk image,
+ Oracle VM VirtualBox updates all related configuration files
+ automatically.
+ </p>
+ <note>
+ <p>
+ Always use the Virtual Media Manager or the
+ <userinput>VBoxManage modifymedium</userinput> command to move a
+ disk image.
+ </p>
+ <p>
+ If you use a file management feature of the host OS to move
+ a disk image to a new location, run the <userinput>VBoxManage
+ modifymedium --setlocation</userinput>
+ command to configure the new path of the disk image on the
+ host file system. This command updates the Oracle VM VirtualBox
+ configuration automatically.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Remove</b> an image from the
+ known media. You can optionally delete the image file when
+ removing the image.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Release</b> an image to detach it
+ from a VM. This action only applies if the image is currently
+ attached to a VM as a virtual hard disk.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Clear</b> all inaccessible disk
+ images from the list. The disk images are released from the
+ VMs they are attached to and removed from the known media.
+ </p>
+ <note>
+ <p>
+ This option is for optical disks and floppy disks only.
+ </p>
+ </note>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Search</b> for an image by name
+ or UUID.
+ </p>
+ </li>
+ <li>
+ <p>
+ View and edit the <b outputclass="bold">Properties</b>
+ of a disk image.
+ </p>
+ <p>
+ Available properties include the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Type:</b> Specifies the
+ snapshot behavior of the disk. See
+ <xref href="hdimagewrites.dita#hdimagewrites"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Location:</b> Specifies the
+ location of the disk image file on the host system. You
+ can use a file dialog to browse for the disk image
+ location.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Description:</b> Specifies a
+ short description of the disk image.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Size:</b> Specifies the size
+ of the disk image. You can use the slider to increase or
+ decrease the disk image size.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Information:</b> Specifies
+ detailed information about the disk image.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Refresh</b> the property values
+ of the selected disk image.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To perform these actions, highlight the medium in the Virtual
+ Media Manager and then do one of the following:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Click an icon in the Virtual Media Manager toolbar.
+ </p>
+ </li>
+ <li>
+ <p>
+ Right-click the medium and select an option.
+ </p>
+ </li>
+ </ul>
+ <p>
+ Use the <b outputclass="bold">Storage</b> page in a VM's
+ <b outputclass="bold">Settings</b> window to create a new
+ disk image. By default, disk images are stored in the VM's folder.
+ </p>
+ <p>
+ You can copy hard disk image files to other host systems and then
+ import them in to VMs from the host system. However, some Windows
+ guest OSes may require that you configure the new VM in a similar
+ way to the old one.
+ </p>
+ <note>
+ <p>
+ Do not simply make copies of virtual disk images. If you import
+ such a second copy into a VM, Oracle VM VirtualBox issues an error
+ because Oracle VM VirtualBox assigns a universally unique identifier
+ (UUID) to each disk image to ensure that it is only used one
+ time. See <xref href="cloningvdis.dita#cloningvdis"/>. Also, if you want to
+ copy a VM to another system, use the Oracle VM VirtualBox import and
+ export features. See <xref href="ovf.dita#ovf"/>.
+ </p>
+ </note>
+ </body>
+
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vm-activity-overview.dita b/doc/manual/en_US/dita/topics/vm-activity-overview.dita
new file mode 100644
index 00000000000..4120393d19a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vm-activity-overview.dita
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vm-activity-overview">
+ <title>VM Activity Overview</title>
+
+ <body>
+ <p>
+ The VM Activity Overview tool displays several performance
+ metrics for all running virtual machines and for the host
+ system. This provides an overview of system resources used by
+ individual virtual machines and the host system.
+ </p>
+ <p>
+ To display the VM Activity Overview tool, do the following:
+ </p>
+ <p>
+ Go to the global <b outputclass="bold">Tools</b> menu and
+ click <b outputclass="bold">Activities</b>. The
+ <b outputclass="bold">VM Activity Overview</b> window is
+ shown.
+ </p>
+ <fig id="fig-vm-activity-overview-widget">
+ <title>VM Activity Overview Tool</title>
+ <image href="images/vm-activity-overview.png" placement="break"/>
+ </fig>
+ <p>
+ To show metrics for <i>all</i> virtual machines,
+ including those that are not running, right-click on the list of
+ virtual machines and select <b outputclass="bold">List All
+ Virtual Machines</b>.
+ </p>
+ <p>
+ To configure the set of metrics to be shown, click
+ <b outputclass="bold">Columns</b> in the toolbar. You can
+ then sort the list of virtual machines by a particular metric.
+ </p>
+ <p>
+ To see more performance information for a virtual machine,
+ select the VM name and click <b outputclass="bold">VM
+ Activity</b> in the toolbar. The <b outputclass="bold">VM
+ Activity</b> tab of the <b outputclass="bold">Session
+ Information</b> dialog is shown, see
+ <xref href="vm-activity-session-information.dita#vm-activity-session-information"/>.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vm-activity-session-information.dita b/doc/manual/en_US/dita/topics/vm-activity-session-information.dita
new file mode 100644
index 00000000000..aacdb938619
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vm-activity-session-information.dita
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vm-activity-session-information">
+ <title>Session Information Dialog</title>
+
+ <body>
+ <p>
+ The Session Information dialog includes multiple tabs which show
+ important configuration and runtime information for the guest
+ system. The tabs of the dialog are as follows:
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold">Configuration Details.</b>
+ Displays the system configuration of the virtual machine in
+ a tabular format. The displayed information includes details
+ such as storage configuration and audio settings.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Runtime Information.</b>
+ Displays runtime information for the guest session in a
+ tabular format similar to the Configuration Details tab.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">VM Activity.</b> Includes
+ several time series charts which monitor guest resource
+ usage including CPU, RAM, Disk I/O, and Network. Note that
+ the RAM chart requires the Guest Additions to be running on
+ the guest system. The VM Activity tab can also be accessed
+ directly from the VM Activity Overview tool. See
+ <xref href="vm-activity-overview.dita#vm-activity-overview"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Guest Control</b>. Details of
+ processes used by the Guest Control File Manager. See
+ <xref href="guestadd-gc-file-manager.dita#guestadd-gc-file-manager"/>.
+ </p>
+ </li>
+ </ul>
+ <p>
+ To display the Session Information dialog, select
+ <b outputclass="bold">Machine</b>,
+ <b outputclass="bold">Session Information</b> in the
+ guest VM.
+ </p>
+ <fig id="fig-vm-session-information">
+ <title>Session Information Dialog, Showing VM Activity Tab</title>
+ <image href="images/session-information.png" placement="break"/>
+ </fig>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vm-info.dita b/doc/manual/en_US/dita/topics/vm-info.dita
new file mode 100644
index 00000000000..b5f22432b5f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vm-info.dita
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vm-info">
+ <title>Monitoring of Virtual Machines</title>
+
+ <body>
+ <p>
+ VirtualBox Manager includes the following tools for viewing runtime
+ information and changing the configuration of virtual machines.
+ </p>
+ <ul>
+ <li>
+ <p>
+ <b outputclass="bold"> VM Activity Overview.</b>
+ Displays an overview of performance metrics for all running
+ VMs.
+ </p>
+ <p>
+ See <xref href="vm-activity-overview.dita#vm-activity-overview"/>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b outputclass="bold">Session Information Dialog.</b>
+ Displays configuration and runtime information for the
+ selected guest system.
+ </p>
+ <p>
+ See <xref href="vm-activity-session-information.dita#vm-activity-session-information"/>
+ </p>
+ </li>
+ </ul>
+ </body>
+
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/topics/vmencryption-addpassword.dita b/doc/manual/en_US/dita/topics/vmencryption-addpassword.dita
new file mode 100644
index 00000000000..2160807a506
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vmencryption-addpassword.dita
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vmencryption-addpassword">
+ <title>Opening the Encrypted VM</title>
+
+ <body>
+ <p>
+ When Oracle VM VirtualBox has just started up the encrypted VM cannot
+ be opened and it stays inaccessible. Also, the encrypted VM
+ stays inaccessible if it was just registered without a password
+ or the password is incorrect. The user needs to provide the
+ password using VirtualBox Manager or with the following
+ <userinput>VBoxManage</userinput> command:
+ </p>
+ <pre xml:space="preserve">VBoxManage encryptvm <varname>uuid</varname>|<varname>vmname</varname> addpassword --password <varname>filename</varname>|- --password-id <varname>ID</varname>
+ </pre>
+ <p>
+ To supply the encryption password point
+ <userinput>VBoxManage</userinput> to the file where the password is
+ stored or specify <codeph>-</codeph> to let
+ <userinput>VBoxManage</userinput> prompt for the password on the
+ command line.
+ </p>
+ <p>
+ If <varname>ID</varname> is the same as the password
+ identifier supplied when encrypting the VM it updates the
+ accessibility state.
+ </p>
+ <p>
+ To remove the entered password from the VM memory, use
+ <userinput>VBoxManage</userinput> as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage encryptvm <varname>uuid</varname>|<varname>vmname</varname> removepassword <varname>ID</varname>
+ </pre>
+ <p>
+ If <varname>ID</varname> is the same as the password
+ identifier supplied when encrypting the VM it updates the
+ accessibility state.
+ </p>
+ <note>
+ <p>
+ If a machine becomes inaccessible all passwords are purged.
+ You have to add required passwords again, using the
+ <userinput>VBoxManage encryptvm
+ <varname>vmname</varname> addpassword</userinput>
+ command. See <xref href="#vmencryption-addpassword"/>.
+ </p>
+ </note>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vmencryption-decryption.dita b/doc/manual/en_US/dita/topics/vmencryption-decryption.dita
new file mode 100644
index 00000000000..5a003113632
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vmencryption-decryption.dita
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vmencryption-decryption">
+ <title>Decrypting Encrypted VMs</title>
+
+ <body>
+ <p>
+ In some circumstances it might be required to decrypt previously
+ encrypted VMs. This can be done in VirtualBox Manager or using
+ <userinput>VBoxManage</userinput> with the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage encryptvm <varname>uuid</varname>|<varname>vmname</varname> setencryption --old-password <varname>file</varname>|-</pre>
+ <p>
+ The only required parameter is the password the VM was encrypted
+ with. The options are the same as for encrypting VMs.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vmencryption-encryption.dita b/doc/manual/en_US/dita/topics/vmencryption-encryption.dita
new file mode 100644
index 00000000000..a2201093ad0
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vmencryption-encryption.dita
@@ -0,0 +1,33 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vmencryption-encryption">
+ <title>Encrypting a VM</title>
+
+ <body>
+ <p>
+ Encrypting a VM can be done either using VirtualBox Manager or the
+ <userinput>VBoxManage</userinput>. To encrypt an unencrypted VM with
+ <userinput>VBoxManage</userinput>, use:
+ </p>
+ <pre xml:space="preserve">VBoxManage encryptvm <varname>uuid</varname>|<varname>vmname</varname> setencryption --new-password <varname>filename</varname>|- \
+--cipher <varname>cipher-ID</varname> --new-password-id <varname>ID</varname>
+ </pre>
+ <p>
+ To supply the encryption password, point
+ <userinput>VBoxManage</userinput> to the file where the password is
+ stored or specify <codeph>-</codeph> to let
+ <userinput>VBoxManage</userinput> prompt for the password on the
+ command line.
+ </p>
+ <p>
+ The cipher parameter specifies the cipher to use for encryption
+ and can be either <codeph>AES-128</codeph> or
+ <codeph>AES-256</codeph>. The appropriate mode of operation,
+ such as GCM, CTR, or XTS will be selected by the VM depending on
+ the encrypting component. The specified password identifier can
+ be freely chosen by the user and is used for correct
+ identification when supplying multiple passwords for the VM.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vmencryption-limitations.dita b/doc/manual/en_US/dita/topics/vmencryption-limitations.dita
new file mode 100644
index 00000000000..10e68fdd639
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vmencryption-limitations.dita
@@ -0,0 +1,41 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vmencryption-limitations">
+ <title>Limitations of VM Encryption</title>
+
+ <body>
+ <p>
+ There are some limitations the user needs to be aware of when
+ using this feature:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Exporting appliances containing an encrypted VM is not
+ possible, because the OVF specification does not support
+ this. The VM is therefore decrypted during export.
+ </p>
+ </li>
+ <li>
+ <p>
+ The DEK is kept in memory while the VM is running to be able
+ to encrypt and decrypt VM data. While this should be obvious
+ the user needs to be aware of this because an attacker might
+ be able to extract the key on a compromised host and decrypt
+ the data.
+ </p>
+ </li>
+ <li>
+ <p>
+ When encrypting or decrypting the VM, the password is passed
+ in clear text using the Oracle VM VirtualBox API. This needs to be
+ kept in mind, especially when using third party API clients
+ which make use of the web service where the password might
+ be transmitted over the network. The use of HTTPS is
+ mandatory in such a case.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vmencryption.dita b/doc/manual/en_US/dita/topics/vmencryption.dita
new file mode 100644
index 00000000000..b453c71db4e
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vmencryption.dita
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vmencryption">
+ <title>Encryption of VMs</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox enables you to transparently encrypt the VM data
+ stored in the configuration file, saved state, and EFI boot data
+ for the guest.
+ </p>
+ <p>
+ Oracle VM VirtualBox uses the AES algorithm in various modes. The
+ selected mode depends on the encrypting component of the VM.
+ Oracle VM VirtualBox supports 128-bit or 256-bit data encryption keys
+ (DEK). The DEK is stored encrypted in the VM configuration file
+ and is decrypted during VM startup.
+ </p>
+ <p>
+ Since the DEK is stored as part of the VM configuration file, it
+ is important that the file is kept safe. Losing the DEK means that
+ the data stored in the VM is lost irrecoverably. Having complete
+ and up to date backups of all data related to the VM is the
+ responsibility of the user.
+ </p>
+ <p>
+ The VM, even if it is encrypted, may contain media encrypted with
+ different passwords. To deal with this, the password for the VM
+ has a password identifier, in the same way as passwords for media.
+ The password ID is an arbitrary string which uniquely identifies
+ the password in the VM and its media. You can use the same
+ password and ID for both the VM and its media.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vrde-crypt.dita b/doc/manual/en_US/dita/topics/vrde-crypt.dita
new file mode 100644
index 00000000000..013e3262686
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vrde-crypt.dita
@@ -0,0 +1,128 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vrde-crypt">
+ <title>RDP Encryption</title>
+
+ <body>
+ <p>
+ RDP features data stream encryption, which is based on the RC4
+ symmetric cipher, with keys up to 128-bit. The RC4 keys are
+ replaced at regular intervals, every 4096 packets.
+ </p>
+ <p>
+ RDP provides the following different authentication methods:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">RDP 4</b> authentication was
+ used historically. With RDP 4, the RDP client does not
+ perform any checks in order to verify the identity of the
+ server it connects to. Since user credentials can be
+ obtained using a man in the middle (MITM) attack, RDP4
+ authentication is insecure and should generally not be used.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">RDP 5.1</b> authentication
+ employs a server certificate for which the client possesses
+ the public key. This way it is guaranteed that the server
+ possess the corresponding private key. However, as this
+ hard-coded private key became public some years ago, RDP 5.1
+ authentication is also insecure.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">RDP 5.2 or later</b>
+ authentication uses Enhanced RDP Security, which means that
+ an external security protocol is used to secure the
+ connection. RDP 4 and RDP 5.1 use Standard RDP Security. The
+ VRDP server supports Enhanced RDP Security with TLS protocol
+ and, as a part of the TLS handshake, sends the server
+ certificate to the client.
+ </p>
+ <p>
+ The <codeph>Security/Method</codeph> VRDE property sets
+ the desired security method, which is used for a connection.
+ Valid values are as follows:
+ </p>
+ <ul>
+ <li>
+ <p><b outputclass="bold">Negotiate.</b> Both
+ Enhanced (TLS) and Standard RDP Security connections are
+ allowed. The security method is negotiated with the
+ client. This is the default setting.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">RDP.</b> Only Standard RDP
+ Security is accepted.
+ </p>
+ </li>
+ <li>
+ <p><b outputclass="bold">TLS.</b> Only Enhanced RDP
+ Security is accepted. The client must support TLS.
+ </p>
+ <p>
+ The version of OpenSSL used by Oracle VM VirtualBox supports
+ TLS versions 1.0, 1.1, 1.2, and 1.3.
+ </p>
+ </li>
+ </ul>
+ <p>
+ For example, the following command enables a client to use
+ either Standard or Enhanced RDP Security connection:
+ </p>
+ <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> --vrde-property "Security/Method=negotiate"</pre>
+ <p>
+ If the <codeph>Security/Method</codeph> property is set to
+ either Negotiate or TLS, the TLS protocol will be
+ automatically used by the server, if the client supports
+ TLS. However, in order to use TLS the server must possess
+ the Server Certificate, the Server Private Key and the
+ Certificate Authority (CA) Certificate. The following
+ example shows how to generate a server certificate.
+ </p>
+ <ol>
+ <li>
+ <p>
+ Create a CA self signed certificate.
+ </p>
+ <pre xml:space="preserve">openssl req -new -x509 -days 365 -extensions v3_ca \
+ -keyout ca_key_private.pem -out ca_cert.pem</pre>
+ </li>
+ <li>
+ <p>
+ Generate a server private key and a request for signing.
+ </p>
+ <pre xml:space="preserve">openssl genrsa -out server_key_private.pem
+openssl req -new -key server_key_private.pem -out server_req.pem</pre>
+ </li>
+ <li>
+ <p>
+ Generate the server certificate.
+ </p>
+ <pre xml:space="preserve">openssl x509 -req -days 365 -in server_req.pem \
+ -CA ca_cert.pem -CAkey ca_key_private.pem -set_serial 01 -out server_cert.pem</pre>
+ </li>
+ </ol>
+ <p>
+ The server must be configured to access the required files.
+ For example:
+ </p>
+ <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> \
+ --vrde-property "Security/CACertificate=path/ca_cert.pem"</pre>
+ <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> \
+ --vrde-property "Security/ServerCertificate=path/server_cert.pem"</pre>
+ <pre xml:space="preserve">vboxmanage modifyvm <varname>VM-name</varname> \
+ --vrde-property "Security/ServerPrivateKey=path/server_key_private.pem"</pre>
+ </li>
+ </ul>
+ <p>
+ As the client that connects to the server determines what type
+ of encryption will be used, with <userinput>rdesktop</userinput>,
+ the Linux RDP viewer, use the <codeph>-4</codeph> or
+ <codeph>-5</codeph> options.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vrde-customization.dita b/doc/manual/en_US/dita/topics/vrde-customization.dita
new file mode 100644
index 00000000000..472dd0f658f
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vrde-customization.dita
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vrde-customization">
+ <title>VRDP Customization</title>
+
+ <body>
+ <p>
+ You can disable display output, mouse and keyboard input, audio,
+ remote USB, or clipboard individually in the VRDP server.
+ </p>
+ <p>
+ The following commands change the corresponding server settings:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableDisplay=1
+$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableInput=1
+$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableUSB=1
+$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableAudio=1
+$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableClipboard=1
+$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableUpstreamAudio=1</pre>
+ <p>
+ To reenable a feature, use a similar command without the
+ trailing 1. For example:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --vrde-property Client/DisableDisplay=</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vrde-multiconnection.dita b/doc/manual/en_US/dita/topics/vrde-multiconnection.dita
new file mode 100644
index 00000000000..c2d304a9cfe
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vrde-multiconnection.dita
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vrde-multiconnection">
+ <title>Multiple Connections to the VRDP Server</title>
+
+ <body>
+ <p>
+ The VRDP server of Oracle VM VirtualBox supports multiple simultaneous
+ connections to the same running VM from different clients. All
+ connected clients see the same screen output and share a mouse
+ pointer and keyboard focus. This is similar to several people
+ using the same computer at the same time, taking turns at the
+ keyboard.
+ </p>
+ <p>
+ The following command enables multiple connection mode:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM-name</varname> --vrde-multi-con on</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vrde-multimonitor.dita b/doc/manual/en_US/dita/topics/vrde-multimonitor.dita
new file mode 100644
index 00000000000..df2315767a2
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vrde-multimonitor.dita
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vrde-multimonitor">
+ <title>Multiple Remote Monitors</title>
+
+ <body>
+ <p>
+ To access two or more remote VM displays you have to enable the
+ VRDP multiconnection mode. See
+ <xref href="vrde-multiconnection.dita#vrde-multiconnection"/>.
+ </p>
+ <p>
+ The RDP client can select the virtual monitor number to connect
+ to using the <codeph>domain</codeph> login parameter
+ (<codeph>-d</codeph>). If the parameter ends with
+ <codeph>@</codeph> followed by a number, Oracle VM VirtualBox
+ interprets this number as the screen index. The primary guest
+ screen is selected with <codeph>@1</codeph>, the first
+ secondary screen is <codeph>@2</codeph>, and so on.
+ </p>
+ <p>
+ The Microsoft RDP 6 client does not let you specify a separate
+ domain name. Instead, enter
+ <codeph><varname>domain</varname>\<varname>username</varname></codeph>
+ in the <b outputclass="bold">Username</b> field. For
+ example, <codeph>@2\<varname>name</varname>
+ </codeph>.
+ <varname>name</varname> must be supplied, and must be
+ the name used to log in if the VRDP server is set up to require
+ credentials. If it is not, you may use any text as the username.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vrde-videochannel.dita b/doc/manual/en_US/dita/topics/vrde-videochannel.dita
new file mode 100644
index 00000000000..eac860078d7
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vrde-videochannel.dita
@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vrde-videochannel">
+ <title>VRDP Video Redirection</title>
+
+ <body>
+ <p>
+ The VRDP server can redirect video streams from the guest to the
+ RDP client. Video frames are compressed using the JPEG algorithm
+ allowing a higher compression ratio than standard RDP bitmap
+ compression methods. It is possible to increase the compression
+ ratio by lowering the video quality.
+ </p>
+ <p>
+ The VRDP server automatically detects video streams in a guest
+ as frequently updated rectangular areas. As a result, this
+ method works with any guest operating system without having to
+ install additional software in the guest. In particular, the
+ Guest Additions are not required.
+ </p>
+ <p>
+ On the client side, however, currently only the Windows 7 Remote
+ Desktop Connection client supports this feature. If a client
+ does not support video redirection, the VRDP server falls back
+ to regular bitmap updates.
+ </p>
+ <p>
+ The following command enables video redirection:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM-name</varname> --vrde-video-channel on</pre>
+ <p>
+ The quality of the video is defined as a value from 10 to 100
+ percent, representing a JPEG compression level, where lower
+ numbers mean lower quality but higher compression. The quality
+ can be changed using the following command:
+ </p>
+ <pre xml:space="preserve">VBoxManage modifyvm <varname>VM-name</varname> --vrde-video-channel-quality 75</pre>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/vrde.dita b/doc/manual/en_US/dita/topics/vrde.dita
new file mode 100644
index 00000000000..4ae85f93367
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/vrde.dita
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="vrde">
+ <title>Remote Display (VRDP Support)</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox can display virtual machines remotely, meaning that
+ a virtual machine can execute on one computer even though the
+ machine will be displayed on a second computer, and the machine
+ will be controlled from there as well, as if the virtual machine
+ was running on that second computer.
+ </p>
+ <p>
+ For maximum flexibility, Oracle VM VirtualBox implements remote machine
+ display through a generic extension interface called the
+ VirtualBox Remote Desktop Extension (VRDE). The base open source
+ Oracle VM VirtualBox package only provides this interface, while
+ implementations can be supplied by third parties with
+ Oracle VM VirtualBox extension packages, which must be installed
+ separately from the base package. See
+ <xref href="intro-installing.dita">Installing Oracle VM VirtualBox and Extension Packs</xref>.
+ </p>
+ <p>
+ Oracle provides support for the VirtualBox Remote Display Protocol
+ (VRDP) in such an Oracle VM VirtualBox extension package.
+ </p>
+ <p>
+ VRDP is a backwards-compatible extension to Microsoft's Remote
+ Desktop Protocol (RDP). As a result, you can use any standard RDP
+ client to control the remote VM.
+ </p>
+ <p>
+ Even when the extension is installed, the VRDP server is disabled
+ by default. It can easily be enabled on a per-VM basis either from
+ VirtualBox Manager in the <b outputclass="bold">Display</b>
+ settings, see <xref href="settings-display.dita">Display Settings</xref>, or with the
+ <userinput>VBoxManage</userinput> command, as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage modifyvm <varname>VM-name</varname> --vrde on</pre>
+ <p>
+ By default, the VRDP server uses TCP port <codeph>3389</codeph>.
+ You will need to change the default port if you run more than one
+ VRDP server, since the port can only be used by one server at a
+ time. You might also need to change it on Windows hosts since the
+ default port might already be used by the RDP server that is built
+ into Windows itself. Ports 5000 through 5050 are typically not
+ used and might be a good choice.
+ </p>
+ <p>
+ The port can be changed either in the
+ <b outputclass="bold">Display</b> settings of the graphical
+ user interface or with the <codeph>--vrde-port</codeph> option of
+ the <userinput>VBoxManage modifyvm</userinput> command. You can
+ specify a comma-separated list of ports or ranges of ports. Use a
+ dash between two port numbers to specify a range. The VRDP server
+ will bind to <i>one</i> of the available ports from
+ the specified list. For example, <userinput>VBoxManage modifyvm
+ <varname>VM-name</varname> --vrde-port
+ 5000,5010-5012</userinput> configures the server to bind to one of
+ the ports 5000, 5010, 5011, or 5012. See
+ <xref href="man_VBoxManage-modifyvm.dita">VBoxManage modifyvm</xref>.
+ </p>
+ <p>
+ The actual port used by a running VM can be either queried with
+ the <userinput>VBoxManage showvminfo</userinput> command or seen in
+ VirtualBox Manager on the <b outputclass="bold">Runtime</b> tab of
+ the <b outputclass="bold">Session Information</b> dialog,
+ which is accessible from the
+ <b outputclass="bold">Machine</b> menu of the VM window.
+ </p>
+ <p>
+ Oracle VM VirtualBox supports IPv6. If the host OS supports IPv6 the
+ VRDP server will automatically listen for IPv6 connections in
+ addition to IPv4.
+ </p>
+ </body>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/warpguest.dita b/doc/manual/en_US/dita/topics/warpguest.dita
new file mode 100644
index 00000000000..cd790cd63fb
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/warpguest.dita
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="warpguest">
+ <title>Accelerate or Slow Down the Guest Clock</title>
+
+ <body>
+ <p>
+ For certain purposes it can be useful to accelerate or to slow
+ down the virtual guest clock. This can be achieved as follows:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/TM/WarpDrivePercentage" 200</pre>
+ <p>
+ The above example will double the speed of the guest clock while
+ </p>
+ <pre xml:space="preserve">$ VBoxManage setextradata <varname>VM-name</varname> "VBoxInternal/TM/WarpDrivePercentage" 50</pre>
+ <p>
+ will halve the speed of the guest clock. Note that changing the
+ rate of the virtual clock can confuse the guest and can even
+ lead to abnormal guest behavior. For instance, a higher clock
+ rate means shorter timeouts for virtual devices with the result
+ that a slightly increased response time of a virtual device due
+ to an increased host load can cause guest failures. Note further
+ that any time synchronization mechanism will frequently try to
+ resynchronize the guest clock with the reference clock, which is
+ the host clock if the Oracle VM VirtualBox Guest Additions are active.
+ Therefore any time synchronization should be disabled if the
+ rate of the guest clock is changed as described above. See
+ <xref href="changetimesync.dita#changetimesync"/>.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/webcam-linux-hosts.dita b/doc/manual/en_US/dita/topics/webcam-linux-hosts.dita
new file mode 100644
index 00000000000..b5d83d9dc16
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/webcam-linux-hosts.dita
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="webcam-linux-hosts">
+ <title>Linux and Oracle Solaris Hosts</title>
+
+ <body>
+ <p>
+ When the webcam is detached from the host the emulated webcam
+ device is automatically detached from the guest only if the
+ webcam is streaming video. If the emulated webcam is inactive it
+ should be manually detached using the <userinput>VBoxManage
+ controlvm <varname>VM-name</varname> webcam
+ detach</userinput> command.
+ </p>
+ <p>
+ Aliases <filepath>.0</filepath> and <filepath>.1</filepath> are
+ mapped to <filepath>/dev/video0</filepath>, alias
+ <filepath>.2</filepath> is mapped to
+ <filepath>/dev/video1</filepath> and so forth.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/webcam-mac-hosts.dita b/doc/manual/en_US/dita/topics/webcam-mac-hosts.dita
new file mode 100644
index 00000000000..c2261a1368a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/webcam-mac-hosts.dita
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="webcam-mac-hosts">
+ <title>macOS Hosts</title>
+
+ <body>
+ <p>
+ When the webcam device is detached from the host, the emulated
+ webcam device remains attached to the guest and must be manually
+ detached using the <userinput>VBoxManage controlvm
+ <varname>VM-name</varname> webcam detach</userinput>
+ command.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/webcam-passthrough.dita b/doc/manual/en_US/dita/topics/webcam-passthrough.dita
new file mode 100644
index 00000000000..f8104d9438a
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/webcam-passthrough.dita
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="webcam-passthrough">
+ <title>Webcam Passthrough</title>
+
+ <body/>
+</topic>
diff --git a/doc/manual/en_US/dita/topics/webcam-using-guest.dita b/doc/manual/en_US/dita/topics/webcam-using-guest.dita
new file mode 100644
index 00000000000..71d75ff7445
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/webcam-using-guest.dita
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="webcam-using-guest">
+ <title>Using a Host Webcam in the Guest</title>
+
+ <body>
+ <p>
+ Oracle VM VirtualBox includes a feature called <i>webcam
+ passthrough</i>, which enables a guest to use a host
+ webcam. This complements the general USB passthrough support
+ which was the typical way of using host webcams in legacy
+ releases. The webcam passthrough support can handle non-USB
+ video sources in theory, but this is completely untested.
+ </p>
+ <note>
+ <p>
+ The webcam passthrough module is shipped as part of the
+ Oracle VM VirtualBox extension pack, which must be installed
+ separately. See <xref href="intro-installing.dita">Installing Oracle VM VirtualBox and Extension Packs</xref>.
+ </p>
+ </note>
+ <p>
+ The host webcam can be attached to the VM using the
+ <b outputclass="bold">Devices</b> menu in the VM menu
+ bar. The <b outputclass="bold">Webcams</b> menu contains
+ a list of available video input devices on the host. Clicking on
+ a webcam name attaches or detaches the corresponding host
+ device.
+ </p>
+ <p>
+ The <userinput>VBoxManage</userinput> command line tool can be used
+ to enable webcam passthrough. Please see the host-specific
+ sections below for additional details. The following commands
+ are available:
+ </p>
+ <ul>
+ <li>
+ <p>
+ Get a list of host webcams, or other video input devices:
+ </p>
+ <pre xml:space="preserve">$ VBoxManage list webcams</pre>
+ <p>
+ The output format is as follows:
+ </p>
+ <pre xml:space="preserve">alias "user friendly name"
+host path or identifier</pre>
+ <p>
+ The alias can be used as a shortcut in other commands. Alias
+ '.0' means the default video input device on the host. Alias
+ '.1', '.2'means first, second video input device, and so on.
+ The device order is host-specific.
+ </p>
+ </li>
+ <li>
+ <p>
+ Attach a webcam to a running VM, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm <varname>VM name</varname> webcam attach [<varname>host_path</varname>|<varname>alias</varname> [<varname>settings</varname>]]</pre>
+ <p>
+ This attaches a USB webcam device to the guest.
+ </p>
+ <p>
+ The <codeph>settings</codeph> parameter is a string
+ <codeph>Setting1=Value1;Setting2=Value2</codeph>, which
+ enables you to configure the emulated webcam device. The
+ following settings are supported:
+ </p>
+ <ul>
+ <li>
+ <p><codeph>MaxFramerate</codeph>: The highest rate at
+ which video frames are sent to the guest. A higher frame
+ rate requires more CPU power. Therefore sometimes it is
+ useful to set a lower limit. Default is no limit and
+ allow the guest to use all frame rates supported by the
+ host webcam.
+ </p>
+ </li>
+ <li>
+ <p><codeph>MaxPayloadTransferSize</codeph>: How many
+ bytes the emulated webcam can send to the guest at a
+ time. Default value is 3060 bytes, which is used by some
+ webcams. Higher values can slightly reduce CPU load, if
+ the guest is able to use larger buffers. However, a high
+ <codeph>MaxPayloadTransferSize</codeph> might be not
+ supported by some guests.
+ </p>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Detach a webcam from a running VM, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm <varname>VM-name</varname> webcam detach [<varname>host_path</varname>|<varname>alias</varname>]</pre>
+ </li>
+ <li>
+ <p>
+ List the webcams attached to a running VM, as follows:
+ </p>
+ <pre xml:space="preserve">VBoxManage controlvm <varname>VM-name</varname> webcam list</pre>
+ <p>
+ The output contains the path or alias which was used in the
+ <userinput>webcam attach</userinput> command for each attached
+ webcam.
+ </p>
+ </li>
+ </ul>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/webcam-win-hosts.dita b/doc/manual/en_US/dita/topics/webcam-win-hosts.dita
new file mode 100644
index 00000000000..78e10e1b598
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/webcam-win-hosts.dita
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="webcam-win-hosts">
+ <title>Windows Hosts</title>
+
+ <body>
+ <p>
+ When the webcam device is detached from the host, the emulated
+ webcam device is automatically detached from the guest.
+ </p>
+ </body>
+
+</topic>
diff --git a/doc/manual/en_US/dita/topics/windows-guest-file-extraction.dita b/doc/manual/en_US/dita/topics/windows-guest-file-extraction.dita
new file mode 100644
index 00000000000..9abd80e1430
--- /dev/null
+++ b/doc/manual/en_US/dita/topics/windows-guest-file-extraction.dita
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE topic
+ PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
+<topic xml:lang="en-us" id="windows-guest-file-extraction">
+ <title>Manual File Extraction</title>
+
+ <body>
+ <p>
+ If you would like to install the files and drivers manually,
+ you can extract the files from the Windows Guest Additions
+ setup as follows:
+ </p>
+ <pre xml:space="preserve">VBoxWindowsAdditions.exe /extract</pre>
+ <p>
+ To explicitly extract the Windows Guest Additions for another
+ platform than the current running one, such as 64-bit files on
+ a 32-bit system, you must use the appropriate platform
+ installer. Use
+ <filepath>VBoxWindowsAdditions-x86.exe</filepath> or
+ <filepath>VBoxWindowsAdditions-amd64.exe</filepath> with the
+ <codeph>/extract</codeph> parameter.
+ </p>
+ </body>
+
+ </topic> \ No newline at end of file
diff --git a/doc/manual/en_US/dita/user.ditamap b/doc/manual/en_US/dita/user.ditamap
new file mode 100644
index 00000000000..59c50b2a2a8
--- /dev/null
+++ b/doc/manual/en_US/dita/user.ditamap
@@ -0,0 +1,728 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE bookmap PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">
+<!-- The bookmap ID is imperative and matched the Jarvis GUID required to build and pretty much do anything -->
+<bookmap id="EN-VBOX-7-0-USER" xml:lang="en-US">
+ <!--
+ booklibrary renders in bold and is equivalent to title in docbook;
+ mainbooktitle is not in bold and is equivalent to subtitle
+
+ This information gets updated automatically to match the othermeta title value or PDB entry when you run:
+ 'DitaUtils.py title -d template.ditamap' or 'DitaUtils.py map-prep -d template.ditamap'
+ -->
+ <booktitle>
+ <booklibrary>Oracle VM VirtualBox</booklibrary>
+ <mainbooktitle>User Manual for Release 7.0</mainbooktitle>
+ </booktitle>
+ <bookmeta>
+ <publisherinformation>
+ <published>
+ <completed>
+ <month>November</month>
+ <year>2022</year>
+ </completed>
+ </published>
+ </publisherinformation>
+
+ <!--
+ The othermeta title is used as the title for the book in Jarvis and in OHC search.
+ If you don't set this, the value in PDB is used.
+ The booklibrary and mainbooktitle automatically get updated from this title!
+
+ Use a : character to distinguish booklibrary from mainbooktitle
+ To make sure the title is correctly set run:
+ 'DitaUtils.py title -d template.ditamap' or 'DitaUtils.py map-prep -d template.ditamap'
+ -->
+ <othermeta name="title" content="Oracle VM VirtualBox: User Guide for Release 7.0"/>
+
+ <!--
+ Th othermeta pubAlias detemines what the final part of the URL for your book will be (the pubalias in Jarvis).
+ If you don't set it, it will default to the docid in PDB.
+ -->
+ <othermeta name="pubAlias" content="user"/>
+ <othermeta name="jarvis-url" content="https://docs.oracle.com/en/virtualization/virtualbox/7.0/user/"/>
+ <!--
+ For SVN Revision information, you *must* do: `svn propset svn:keywords "Date Author Rev" template.ditamap`
+ on the ditamap when you first add it. You can automatically handle this by editing ~/.subversion/config
+ to add a line entry under [auto-props]:
+ *.ditamap = svn:mime-type=text/xml;svn:keywords=Author Date Id Rev URL;
+ -->
+ <othermeta name="revision" content="$Rev$"/>
+ <othermeta name="rev-date" content="$Date$"/>
+ <!-- The bookpartno matches the part and revision in PDB -->
+ <bookid>
+ <bookpartno>F43655-03</bookpartno>
+ </bookid>
+ <bookrights>
+ <copyrfirst>
+ <year>2022</year>
+ </copyrfirst>
+ <bookowner>
+ <organization>Oracle and/or its affiliates. All rights reserved.</organization>
+ </bookowner>
+ </bookrights>
+ </bookmeta>
+ <!--
+ Chunking at chapter level is handled automatically by running:
+ DitaUtils.py chunk -d template.ditamap or 'DitaUtils.py map-prep -d template.ditamap'
+ -->
+ <frontmatter>
+ <preface href="topics/preface.dita">
+ <topicref href="topics/preface-audience.dita"/>
+ <topicref href="topics/preface-reldocs.dita"/>
+ <topicref href="topics/preface-conventions.dita"/>
+ <topicref href="topics/preface-doc-accessibility.dita"/>
+ <topicref href="topics/preface-accessibility.dita"/>
+ <topicref href="topics/preface-diversity.dita"/>
+ </preface>
+</frontmatter>
+ <chapter href="topics/Introduction.dita">
+ <topicref href="topics/virt-why-useful.dita"/>
+ <topicref href="topics/virtintro.dita"/>
+ <topicref href="topics/features-overview.dita"/>
+ <topicref href="topics/hostossupport.dita">
+ <topicref href="topics/hostcpurequirements.dita"/>
+ </topicref>
+ <topicref href="topics/intro-installing.dita"/>
+ <topicref href="topics/intro-starting.dita"/>
+ <topicref href="topics/gui-virtualboxmanager.dita">
+ <topicref href="topics/gui-machine-list.dita"/>
+ <topicref href="topics/gui-details.dita">
+ <topicref href="topics/gui-details-toolbar.dita"/>
+ <topicref href="topics/gui-details-settings.dita"/>
+ <topicref href="topics/gui-details-preview.dita"/>
+ <topicref href="topics/gui-notification-center.dita"/>
+ </topicref>
+ <topicref href="topics/gui-tools.dita">
+ <topicref href="topics/gui-tools-global.dita"/>
+ <topicref href="topics/gui-tools-machine.dita"/>
+ </topicref>
+ <topicref href="topics/help-viewer.dita"/>
+ <topicref href="topics/vboxmanager-wizards.dita"/>
+ </topicref>
+ <topicref href="topics/create-vm-wizard.dita">
+ <topicref href="topics/create-vm-wizard-name-os.dita"/>
+ <topicref href="topics/create-vm-wizard-unattended-install.dita"/>
+ <topicref href="topics/create-vm-wizard-hardware.dita"/>
+ <topicref href="topics/create-vm-wizard-virtual-hard-disk.dita"/>
+ <topicref href="topics/create-vm-wizard-summary.dita"/>
+ <topicref href="topics/create-vm-wizard-unattended-examples.dita"/>
+ </topicref>
+ <topicref href="topics/intro-running.dita">
+ <topicref href="topics/intro-starting-vm-first-time.dita"/>
+ <topicref href="topics/keyb_mouse_normal.dita"/>
+ <topicref href="topics/specialcharacters.dita"/>
+ <topicref href="topics/intro-removable-media-changing.dita"/>
+ <topicref href="topics/intro-resize-window.dita"/>
+ <topicref href="topics/intro-save-machine-state.dita"/>
+ </topicref>
+ <topicref href="topics/gui-vmgroups.dita"/>
+ <topicref href="topics/snapshots.dita">
+ <topicref href="topics/snapshots-take-restore-delete.dita"/>
+ <topicref href="topics/snapshots-contents.dita"/>
+ </topicref>
+ <topicref href="topics/configbasics.dita"/>
+ <topicref href="topics/intro-removing.dita"/>
+ <topicref href="topics/clone.dita"/>
+ <topicref href="topics/ovf.dita">
+ <topicref href="topics/ovf-about.dita"/>
+ <topicref href="topics/ovf-import-appliance.dita"/>
+ <topicref href="topics/ovf-export-appliance.dita"/>
+ </topicref>
+ <topicref href="topics/cloud-integration.dita">
+ <topicref href="topics/cloud-integration-steps.dita"/>
+ <topicref href="topics/cloud-create-api-keypair.dita"/>
+ <topicref href="topics/cloud-upload-public-key.dita"/>
+ <topicref href="topics/cloud-create-cloud-profile.dita"/>
+ <topicref href="topics/cloud-using-cloud-profile-manager.dita"/>
+ <topicref href="topics/cloud-vbox-oci-tasks.dita"/>
+ <topicref href="topics/cloud-vm.dita">
+ <topicref href="topics/cloud-vm-oci-group.dita"/>
+ <topicref href="topics/cloud-vm-new.dita"/>
+ <topicref href="topics/cloud-vm-add.dita"/>
+ <topicref href="topics/cloud-vm-settings.dita"/>
+ <topicref href="topics/cloud-vm-control.dita"/>
+ <topicref href="topics/cloud-vm-remove.dita"/>
+ <topicref href="topics/cloud-vm-instance-console.dita"/>
+ </topicref>
+ <topicref href="topics/cloud-export-oci.dita">
+ <topicref href="topics/cloud-export-oci-prepare-vm.dita"/>
+ </topicref>
+ <topicref href="topics/cloud-import-oci.dita">
+ <topicref href="topics/import-instance-sequence.dita"/>
+ </topicref>
+ <topicref href="topics/cloud-using-cloud-networks.dita"/>
+ <topicref href="topics/cloud-using-cli.dita"/>
+ </topicref>
+ <topicref href="topics/preferences.dita"/>
+ <topicref href="topics/frontends.dita"/>
+ <topicref href="topics/soft-keyb.dita">
+ <topicref href="topics/soft-keyb-using.dita"/>
+ <topicref href="topics/soft-keyb-custom.dita"/>
+ </topicref>
+ <topicref href="topics/vm-info.dita">
+ <topicref href="topics/vm-activity-overview.dita"/>
+ <topicref href="topics/vm-activity-session-information.dita"/>
+ </topicref>
+ <topicref href="topics/log-viewer.dita"/>
+ </chapter>
+ <chapter href="topics/installation.dita">
+ <topicref href="topics/installation_windows.dita">
+ <topicref href="topics/install-win-prereq.dita"/>
+ <topicref href="topics/install-win-performing.dita"/>
+ <topicref href="topics/install-win-uninstall.dita"/>
+ <topicref href="topics/install-win-unattended.dita"/>
+ <topicref href="topics/install-win-public-props.dita"/>
+ </topicref>
+ <topicref href="topics/installation-mac.dita">
+ <topicref href="topics/install-mac-performing.dita"/>
+ <topicref href="topics/install-mac-uninstall.dita"/>
+ <topicref href="topics/install-mac-unattended.dita"/>
+ </topicref>
+ <topicref href="topics/install-linux-host.dita">
+ <topicref href="topics/install-linux-prereq.dita"/>
+ <topicref href="topics/externalkernelmodules.dita">
+ <topicref href="topics/kernel-modules-efi-secure-boot.dita"/>
+ </topicref>
+ <topicref href="topics/install-linux-performing.dita">
+ <topicref href="topics/install-linux-debian-ubuntu.dita"/>
+ <topicref href="topics/install-linux-alt-installer.dita"/>
+ <topicref href="topics/install-linux-manual.dita"/>
+ <topicref href="topics/install-linux-update-uninstall.dita"/>
+ <topicref href="topics/install-linux-debian-automatic.dita"/>
+ <topicref href="topics/install-linux-rpm-automatic.dita"/>
+ <topicref href="topics/linux_install_opts.dita"/>
+ </topicref>
+ <topicref href="topics/install-linux-vboxusers.dita"/>
+ <topicref href="topics/startingvboxonlinux.dita"/>
+ </topicref>
+ <topicref href="topics/install-solaris-host.dita">
+ <topicref href="topics/install-solaris-performing.dita"/>
+ <topicref href="topics/install-solaris-vboxuser.dita"/>
+ <topicref href="topics/install-solaris-starting.dita"/>
+ <topicref href="topics/uninstall-solaris-host.dita"/>
+ <topicref href="topics/install-solaris-unattended.dita"/>
+ <topicref href="topics/solaris-zones.dita"/>
+ </topicref>
+ <topicref href="topics/install-ext-pack.dita">
+ <topicref href="topics/install-ext-pack-manager.dita"/>
+ </topicref>
+ </chapter>
+ <chapter href="topics/BasicConcepts.dita">
+ <topicref href="topics/guestossupport.dita">
+ <topicref href="topics/intro-macosxguests.dita"/>
+ <topicref href="topics/intro-64bitguests.dita"/>
+ </topicref>
+ <topicref href="topics/basic-unattended.dita">
+ <topicref href="topics/unattended-guest-install-example.dita"/>
+ </topicref>
+ <topicref href="topics/emul-hardware.dita"/>
+ <topicref href="topics/generalsettings.dita">
+ <topicref href="topics/settings-basic.dita"/>
+ <topicref href="topics/settings-general-advanced.dita"/>
+ <topicref href="topics/settings-description.dita"/>
+ <topicref href="topics/settings-disk-encryption.dita"/>
+ </topicref>
+ <topicref href="topics/settings-system.dita">
+ <topicref href="topics/settings-motherboard.dita"/>
+ <topicref href="topics/settings-processor.dita"/>
+ <topicref href="topics/settings-acceleration.dita"/>
+ </topicref>
+ <topicref href="topics/settings-display.dita">
+ <topicref href="topics/settings-screen.dita"/>
+ <topicref href="topics/settings-remote-display.dita"/>
+ <topicref href="topics/settings-capture.dita"/>
+ </topicref>
+ <topicref href="topics/settings-storage.dita"/>
+ <topicref href="topics/settings-audio.dita"/>
+ <topicref href="topics/settings-network.dita"/>
+ <topicref href="topics/serialports.dita"/>
+ <topicref href="topics/usb-support.dita">
+ <topicref href="topics/settings-usb.dita"/>
+ <topicref href="topics/usb-implementation-notes.dita"/>
+ </topicref>
+ <topicref href="topics/shared-folders.dita"/>
+ <topicref href="topics/user-interface.dita"/>
+ <topicref href="topics/efi.dita">
+ <topicref href="topics/efividmode.dita"/>
+ <topicref href="topics/efibootargs.dita"/>
+ </topicref>
+ </chapter>
+ <chapter href="topics/guestadditions.dita">
+ <topicref href="topics/guestadd-intro.dita"/>
+ <topicref href="topics/guestadd-install.dita">
+ <topicref href="topics/additions-windows.dita">
+ <topicref href="topics/mountingadditionsiso.dita"/>
+ <topicref href="topics/additions-windows-updating.dita"/>
+ <topicref href="topics/additions-windows-install-unattended.dita">
+ <topicref href="topics/additions-windows-install-unattended-certs.dita"/>
+ </topicref>
+ <topicref href="topics/windows-guest-file-extraction.dita"/>
+ </topicref>
+ <topicref href="topics/additions-linux.dita">
+ <topicref href="topics/additions-linux-install.dita"/>
+ <topicref href="topics/additions-linux-install-unattended.dita"/>
+ <topicref href="topics/additions-linux-graphics-mouse.dita"/>
+ <topicref href="topics/additions-linux-updating.dita"/>
+ <topicref href="topics/additions-linux-uninstall.dita"/>
+ </topicref>
+ <topicref href="topics/additions-solaris.dita">
+ <topicref href="topics/additions-solaris-install.dita"/>
+ <topicref href="topics/additions-solaris-install-unattended.dita"/>
+ <topicref href="topics/additions-solaris-uninstall.dita"/>
+ <topicref href="topics/additions-solaris-updating.dita"/>
+ </topicref>
+ <topicref href="topics/additions-os2.dita"/>
+ </topicref>
+ <topicref href="topics/sharedfolders.dita">
+ <topicref href="topics/sf_mount_manual.dita"/>
+ <topicref href="topics/sf_mount_auto.dita"/>
+ </topicref>
+ <topicref href="topics/guestadd-dnd.dita">
+ <topicref href="topics/guestadd-dnd-formats.dita"/>
+ <topicref href="topics/guestadd-dnd-limitations.dita"/>
+ </topicref>
+ <topicref href="topics/guestadd-video.dita">
+ <topicref href="topics/guestadd-3d.dita"/>
+ <topicref href="topics/guestadd-2d.dita"/>
+ </topicref>
+ <topicref href="topics/seamlesswindows.dita"/>
+ <topicref href="topics/guestadd-guestprops.dita">
+ <topicref href="topics/guestadd-guestprops-waits.dita"/>
+ </topicref>
+ <topicref href="topics/guestadd-gc-file-manager.dita">
+ <topicref href="topics/guestadd-gc-file-manager-using.dita"/>
+ </topicref>
+ <topicref href="topics/guestadd-guestcontrol.dita"/>
+ <topicref href="topics/guestadd-memory-usage.dita">
+ <topicref href="topics/guestadd-balloon.dita"/>
+ <topicref href="topics/guestadd-pagefusion.dita"/>
+ </topicref>
+ <topicref href="topics/guestadd-resizing.dita">
+ <topicref href="topics/guestadd-resizing-linux.dita">
+ <topicref href="topics/guestadd-resizing-linux-limitations.dita"/>
+ </topicref>
+ </topicref>
+ </chapter>
+ <chapter href="topics/storage.dita">
+ <topicref href="topics/harddiskcontrollers.dita"/>
+ <topicref href="topics/vdidetails.dita"/>
+ <topicref href="topics/virtual-media-manager.dita">
+ <topicref href="topics/create-virtual-hard-disk-image.dita"/>
+ <topicref href="topics/create-optical-disk-image.dita"/>
+ <topicref href="topics/create-floppy-disk-image.dita"/>
+ </topicref>
+ <topicref href="topics/hdimagewrites.dita"/>
+ <topicref href="topics/diffimages.dita"/>
+ <topicref href="topics/cloningvdis.dita"/>
+ <topicref href="topics/iocaching.dita"/>
+ <topicref href="topics/storage-bandwidth-limit.dita"/>
+ <topicref href="topics/storage-cds.dita"/>
+ <topicref href="topics/storage-iscsi.dita"/>
+ <topicref href="topics/vboximg-mount.dita">
+ <topicref href="topics/vboximg-mount-display.dita"/>
+ <topicref href="topics/vboximg-mount-steps.dita"/>
+ </topicref>
+ </chapter>
+ <chapter href="topics/networkingdetails.dita">
+ <topicref href="topics/nichardware.dita"/>
+ <topicref href="topics/networkingmodes.dita"/>
+ <topicref href="topics/network_nat.dita">
+ <topicref href="topics/natforward.dita"/>
+ <topicref href="topics/nat-tftp.dita"/>
+ <topicref href="topics/nat-limitations.dita"/>
+ </topicref>
+ <topicref href="topics/network_nat_service.dita"/>
+ <topicref href="topics/network_bridged.dita"/>
+ <topicref href="topics/network_internal.dita"/>
+ <topicref href="topics/network_hostonly.dita"/>
+ <topicref href="topics/network_udp_tunnel.dita"/>
+ <topicref href="topics/network_vde.dita"/>
+ <topicref href="topics/network_cloud.dita"/>
+ <topicref href="topics/network-manager.dita">
+ <topicref href="topics/network-manager-host-only-tab.dita"/>
+ <topicref href="topics/network-manager-nat-network-tab.dita"/>
+ <topicref href="topics/network-manager-cloud-network-tab.dita"/>
+ </topicref>
+ <topicref href="topics/network_bandwidth_limit.dita"/>
+ <topicref href="topics/network_performance.dita"/>
+ </chapter>
+
+ <chapter href="topics/remotevm.dita">
+ <topicref href="topics/vrde.dita">
+ <topicref href="topics/rdp-viewers.dita"/>
+ <topicref href="topics/vboxheadless.dita"/>
+ <topicref href="topics/headless-vm-steps.dita"/>
+ <topicref href="topics/usb-over-rdp.dita"/>
+ <topicref href="topics/vbox-auth.dita"/>
+ <topicref href="topics/vrde-crypt.dita"/>
+ <topicref href="topics/vrde-multiconnection.dita"/>
+ <topicref href="topics/vrde-multimonitor.dita"/>
+ <topicref href="topics/vrde-videochannel.dita"/>
+ <topicref href="topics/vrde-customization.dita"/>
+ </topicref>
+ <topicref href="topics/teleporting.dita"/>
+ <!--<topicref href="topics/man_vboxheadless.dita">
+ <topicref href="topics/man_vboxheadless-synopsis.dita"/>
+ <topicref href="topics/man_vboxheadless-desc.dita">
+ <topicref href="topics/vboxmanage-vboxheadless-command-options.dita"/>
+ </topicref>
+ <topicref href="topics/man_vboxheadless-examples.dita"/>
+ <topicref href="topics/man_vboxheadless-seealso.dita"/>
+ </topicref>-->
+ </chapter>
+
+ <!-- VBoxManage Refentry command topics -->
+ <chapter href="topics/vboxmanage.dita">
+ <topicref href="topics/vboxmanage-intro.dita"/>
+ <!-- Commands Overview -->
+ <!-- <topicref href="topics/vboxmanage-cmd-overview.dita"/> -->
+ <topicref href="topics/vboxmanage-general.dita"/>
+ <topicref href="topics/man_VBoxManage-common.dita"/>
+ <topicref href="topics/man_VBoxManage-adoptstate.dita"/>
+ <topicref href="topics/man_VBoxManage-checkmediumpwd.dita"/>
+ <topicref href="topics/man_VBoxManage-modifyvm.dita"/>
+ <topicref href="topics/man_VBoxManage-hostonlynet.dita"/>
+ <topicref href="topics/man_VBoxManage-convertfromraw.dita"/>
+ <topicref href="topics/man_VBoxManage-usbdevsource.dita"/>
+ <topicref href="topics/man_VBoxManage-natnetwork.dita"/>
+ <topicref href="topics/man_VBoxManage-setproperty.dita"/>
+ <topicref href="topics/man_VBoxManage-getextradata.dita"/>
+ <topicref href="topics/man_VBoxManage-storageattach.dita"/>
+<!-- <topicref href="topics/man_VBoxManage-cloudinstance.dita"/>-->
+ <topicref href="topics/man_VBoxManage-unattended.dita"/>
+ <topicref href="topics/man_VBoxManage-usbfilter.dita"/>
+ <topicref href="topics/man_VBoxManage-storagectl.dita"/>
+ <topicref href="topics/man_VBoxManage-guestcontrol.dita"/>
+ <topicref href="topics/man_VBoxManage-bandwidthctl.dita"/>
+ <topicref href="topics/man_VBoxManage-encryptvm.dita"/>
+ <topicref href="topics/man_VBoxManage-mediumproperty.dita"/>
+ <topicref href="topics/man_VBoxManage-showvminfo.dita"/>
+ <topicref href="topics/man_VBoxManage-clonemedium.dita"/>
+ <topicref href="topics/man_VBoxManage-export.dita"/>
+ <topicref href="topics/man_VBoxManage-startvm.dita"/>
+ <topicref href="topics/man_VBoxManage-cloudprofile.dita"/>
+ <topicref href="topics/man_VBoxManage-discardstate.dita"/>
+ <topicref href="topics/man_VBoxManage-controlvm.dita"/>
+ <topicref href="topics/man_VBoxManage-hostonlyif.dita"/>
+ <topicref href="topics/man_VBoxManage-updatecheck.dita"/>
+<!-- <topicref href="topics/man_VBoxManage-cloudimage.dita"/>-->
+ <topicref href="topics/man_VBoxManage-encryptmedium.dita"/>
+ <topicref href="topics/man_VBoxManage-signova.dita"/>
+ <topicref href="topics/man_VBoxManage-unregistervm.dita"/>
+ <topicref href="topics/man_VBoxManage-closemedium.dita"/>
+ <topicref href="topics/man_VBoxManage-registervm.dita"/>
+ <topicref href="topics/man_VBoxManage-clonevm.dita"/>
+ <topicref href="topics/man_VBoxManage-mediumio.dita"/>
+ <topicref href="topics/man_VBoxManage-setextradata.dita"/>
+ <topicref href="topics/man_VBoxManage-showmediuminfo.dita"/>
+ <topicref href="topics/man_VBoxManage-metrics.dita"/>
+ <topicref href="topics/man_VBoxManage-cloud.dita"/>
+ <topicref href="topics/man_VBoxManage-import.dita"/>
+ <topicref href="topics/man_VBoxManage-debugvm.dita"/>
+ <topicref href="topics/man_VBoxManage-createvm.dita"/>
+ <topicref href="topics/man_VBoxManage-guestproperty.dita"/>
+ <topicref href="topics/man_VBoxManage-extpack.dita"/>
+ <topicref href="topics/man_VBoxManage-sharedfolder.dita"/>
+ <topicref href="topics/man_VBoxManage-snapshot.dita"/>
+ <topicref href="topics/man_VBoxManage-movevm.dita"/>
+ <topicref href="topics/man_VBoxManage-createmedium.dita"/>
+ <topicref href="topics/man_VBoxManage-dhcpserver-dhcpoptions.dita"/>
+ <topicref href="topics/man_VBoxManage-dhcpserver.dita"/>
+ <topicref href="topics/man_VBoxManage-modifymedium.dita"/>
+ <topicref href="topics/man_VBoxManage-adoptstate.dita"/>
+ <topicref href="topics/man_VBoxManage-checkmediumpwd.dita"/>
+ <topicref href="topics/man_VBoxManage-list.dita"/>
+ <topicref href="topics/man_VBoxManage-modifynvram.dita"/>
+<!-- <topicref href="topics/man_VBoxManage-cloudlist.dita"/> -->
+ </chapter>
+
+ <chapter href="topics/AdvancedTopics.dita">
+ <topicref href="topics/autologon.dita">
+ <topicref href="topics/autologon_win.dita"/>
+ <topicref href="topics/autologon_unix.dita">
+ <topicref href="topics/autologon_unix_lightdm.dita"/>
+ </topicref>
+ </topicref>
+ <topicref href="topics/adv-config-win-guest.dita">
+ <topicref href="topics/sysprep.dita"/>
+ </topicref>
+ <topicref href="topics/adv-config-linux-guest.dita">
+ <topicref href="topics/linux-guest-manual-setup.dita"/>
+ <topicref href="topics/guestxorgsetup.dita"/>
+ </topicref>
+ <topicref href="topics/cpuhotplug.dita"/>
+ <topicref href="topics/webcam-passthrough.dita">
+ <topicref href="topics/webcam-using-guest.dita"/>
+ <topicref href="topics/webcam-win-hosts.dita"/>
+ <topicref href="topics/webcam-mac-hosts.dita"/>
+ <topicref href="topics/webcam-linux-hosts.dita"/>
+ </topicref>
+ <topicref href="topics/adv-display-config.dita">
+ <topicref href="topics/customvesa.dita"/>
+ <topicref href="topics/max-resolution-guests.dita"/>
+ </topicref>
+ <topicref href="topics/adv-storage-config.dita">
+ <topicref href="topics/rawdisk.dita">
+ <topicref href="topics/rawdisk-access-entire-physical-disk.dita"/>
+ <topicref href="topics/rawdisk-access-disk-partitions.dita"/>
+ </topicref>
+ <topicref href="topics/changevpd.dita"/>
+ <topicref href="topics/iscsi-intnet.dita"/>
+ </topicref>
+ <topicref href="topics/changenat.dita">
+ <topicref href="topics/nat-address-config.dita"/>
+ <topicref href="topics/nat-adv-tftp.dita"/>
+ <topicref href="topics/nat-adv-settings.dita"/>
+ <topicref href="topics/nat-bind-sockets.dita"/>
+ <topicref href="topics/nat-adv-dns.dita"/>
+ <topicref href="topics/nat_host_resolver_proxy.dita">
+ <topicref href="topics/nat_host_resolver_name_intercepting.dita"/>
+ </topicref>
+ <topicref href="topics/nat-adv-alias.dita"/>
+ </topicref>
+ <topicref href="topics/changedmi.dita"/>
+ <topicref href="topics/changeacpicust.dita"/>
+ <topicref href="topics/fine-tune-timers.dita">
+ <topicref href="topics/changetscmode.dita"/>
+ <topicref href="topics/warpguest.dita"/>
+ <topicref href="topics/changetimesync.dita"/>
+ <topicref href="topics/disabletimesync.dita"/>
+ </topicref>
+ <topicref href="topics/vboxbowsolaris11.dita"/>
+ <topicref href="topics/vboxbowvnictemplates.dita"/>
+ <topicref href="topics/addhostonlysolaris.dita"/>
+ <topicref href="topics/solariscodedumper.dita"/>
+ <topicref href="topics/vboxandsolzvmm.dita"/>
+ <topicref href="topics/guitweaks.dita">
+ <topicref href="topics/customize-vm-manager.dita"/>
+ <topicref href="topics/customize-vm-selector.dita"/>
+ <topicref href="topics/config-vm-selector-menu.dita"/>
+ <topicref href="topics/config-vm-window-menu.dita"/>
+ <topicref href="topics/config-vm-window-status-bar.dita"/>
+ <topicref href="topics/config-vm-window-visual-modes.dita"/>
+ <topicref href="topics/host-key-customize.dita"/>
+ <topicref href="topics/terminate-vm-action.dita"/>
+ <topicref href="topics/terminate-vm-default-action.dita"/>
+ <topicref href="topics/guru-meditation-action.dita"/>
+ <topicref href="topics/mouse-capture.dita"/>
+ <topicref href="topics/legacy-fullscreen-mode.dita"/>
+ <topicref href="topics/restrict-network-attachments.dita"/>
+ </topicref>
+ <topicref href="topics/vboxwebsrv-daemon.dita">
+ <topicref href="topics/vboxwebsrv-linux.dita"/>
+ <topicref href="topics/vboxwebsrv-solaris.dita"/>
+ <topicref href="topics/vboxwebsrv-osx.dita"/>
+ </topicref>
+ <topicref href="topics/vboxwatchdog.dita">
+ <topicref href="topics/vboxwatchdog-ballonctrl.dita"/>
+ <topicref href="topics/vboxwatchdog-hostisln.dita"/>
+ <topicref href="topics/vboxwatchdog-moreinfo.dita"/>
+ <topicref href="topics/vboxwatchdog-linux.dita"/>
+ <topicref href="topics/vboxwatchdog-solaris.dita"/>
+ </topicref>
+ <topicref href="topics/otherextpacks.dita"/>
+ <topicref href="topics/autostart.dita">
+ <topicref href="topics/autostart-linux.dita"/>
+ <topicref href="topics/autostart-solaris.dita"/>
+ <topicref href="topics/autostart-osx.dita"/>
+ <topicref href="topics/autostart-windows.dita"/>
+ </topicref>
+ <topicref href="topics/vmencryption.dita">
+ <topicref href="topics/vmencryption-limitations.dita"/>
+ <topicref href="topics/vmencryption-encryption.dita"/>
+ <topicref href="topics/vmencryption-addpassword.dita"/>
+ <topicref href="topics/vmencryption-decryption.dita"/>
+ </topicref>
+ <topicref href="topics/vboxexpertstoragemgmt.dita"/>
+ <topicref href="topics/hostpowertweaks.dita"/>
+ <topicref href="topics/sse412passthrough.dita"/>
+ <topicref href="topics/hidledssync.dita"/>
+ <topicref href="topics/usbtrafficcapturing.dita"/>
+ <topicref href="topics/heartbeatservice.dita"/>
+ <topicref href="topics/diskencryption.dita">
+ <topicref href="topics/diskencryption-limitations.dita"/>
+ <topicref href="topics/diskencryption-encryption.dita"/>
+ <topicref href="topics/diskencryption-startvm.dita"/>
+ <topicref href="topics/diskencryption-decryption.dita"/>
+ </topicref>
+ <topicref href="topics/gimdebug.dita">
+ <topicref href="topics/gimdebughyperv.dita">
+ <topicref href="topics/gimdebughyperv-windows-setup.dita"/>
+ </topicref>
+ </topicref>
+ <topicref href="topics/pcspeaker_passthrough.dita"/>
+ <topicref href="topics/usbip.dita">
+ <topicref href="topics/usbip-setup-server.dita"/>
+ <topicref href="topics/usbip-security.dita"/>
+ </topicref>
+ <topicref href="topics/hyperv-support.dita"/>
+ <topicref href="topics/nested-virt.dita"/>
+ <topicref href="topics/vboxsvc-session-0.dita">
+ <topicref href="topics/vboxsvc-session-0-known-issues.dita"/>
+ </topicref>
+
+ <!-- <topicref href="topics/viso.dita"> -->
+
+ </chapter>
+ <chapter href="topics/TechnicalBackground.dita">
+ <topicref href="topics/vboxconfigdata.dita">
+ <topicref href="topics/vboxconfigdata-machine-folder.dita"/>
+ <topicref href="topics/vboxconfigdata-global.dita"/>
+ <topicref href="topics/vboxconfigdata-summary-locations.dita"/>
+ <topicref href="topics/vboxconfigdata-XML-files.dita"/>
+ </topicref>
+ <topicref href="topics/technical-components.dita"/>
+ <topicref href="topics/hwvirt.dita"/>
+ <topicref href="topics/hwvirt-details.dita"/>
+ <topicref href="topics/gimproviders.dita"/>
+ <topicref href="topics/nestedpaging.dita"/>
+ </chapter>
+
+ <chapter href="topics/VirtualBoxAPI.dita"/>
+
+ <chapter href="topics/Troubleshooting.dita">
+ <topicref href="topics/ts_procs-tools.dita">
+ <topicref href="topics/ts_categorize-isolate.dita"/>
+ <topicref href="topics/collect-debug-info.dita"/>
+ <topicref href="topics/ts_vboxbugreport.dita"/>
+ <topicref href="topics/ts_debugger.dita"/>
+ <topicref href="topics/ts_guest-core-format.dita"/>
+ </topicref>
+ <topicref href="topics/ts_general.dita">
+ <topicref href="topics/ts_config-periodic-flush.dita"/>
+ <topicref href="topics/ts_ide-sata-flush.dita"/>
+ <topicref href="topics/ts_host-freq-boost.dita"/>
+ <topicref href="topics/ts_host-freq-scaling.dita"/>
+ <topicref href="topics/ts_win-cpu-usage-rept.dita"/>
+ <topicref href="topics/ts_host-powermgmt.dita"/>
+ <topicref href="topics/ts_gui-2d-grayed-out.dita"/>
+ </topicref>
+ <topicref href="topics/ts_win-guests.dita">
+ <topicref href="topics/ts_win7-guest-usb3-support.dita"/>
+ <topicref href="topics/ts_win-guest-bluescreen.dita"/>
+ <topicref href="topics/ts_win-guest-bluescreen-smp.dita"/>
+ <topicref href="topics/ts_win2k-guest-install.dita"/>
+ <topicref href="topics/ts_win-guest-bluescreen-record-info.dita"/>
+ <topicref href="topics/ts_win-vista-guest-networking.dita"/>
+ <topicref href="topics/ts_win-guest-high-cpu.dita"/>
+ <topicref href="topics/ts_win-guest-shared-folders-access-delay.dita"/>
+ <topicref href="topics/ts_win98-guest-usb-tablet-coordinates.dita"/>
+ <topicref href="topics/ts_win-guest-active-dir-domain.dita"/>
+ <topicref href="topics/ts_win31-ram-limitations.dita"/>
+ </topicref>
+ <topicref href="topics/ts_lin-x11-guests.dita">
+ <topicref href="topics/ts_linux-guest-high-cpu.dita"/>
+ <topicref href="topics/ts_linux-buggy.dita"/>
+ <topicref href="topics/ts_linux-guest-x11-services.dita"/>
+ </topicref>
+ <topicref href="topics/ts_sol-guests.dita">
+ <topicref href="topics/ts_solaris-10-guest-slow-boot-smp.dita"/>
+ </topicref>
+ <topicref href="topics/ts_win-hosts.dita">
+ <topicref href="topics/ts_win-dnd-uipi.dita"/>
+ <topicref href="topics/ts_win-host-com-server.dita"/>
+ <topicref href="topics/ts_win-host-cd-dvd-changes.dita"/>
+ <topicref href="topics/ts_win-host-rdp-client.dita"/>
+ <topicref href="topics/ts_win-host-iscsi.dita"/>
+ <topicref href="topics/ts_win-host-bridged-network-adapters.dita"/>
+ <topicref href="topics/ts_win-host-host-only-network-adapters.dita"/>
+ </topicref>
+ <topicref href="topics/ts_lin-hosts.dita">
+ <topicref href="topics/ts_linux-kernelmodule-fails-to-load.dita"/>
+ <topicref href="topics/ts_linux-host-cd-dvd-not-found.dita"/>
+ <topicref href="topics/ts_linux-host-ide-messages.dita"/>
+ <topicref href="topics/ts_linux-host-vboxsvc.dita"/>
+ <topicref href="topics/ts_usb-linux.dita"/>
+ <topicref href="topics/ts_linux-host-grsec.dita"/>
+ <topicref href="topics/ts_linux-host-malloc.dita"/>
+ </topicref>
+ <topicref href="topics/ts_sol-hosts.dita">
+ <topicref href="topics/ts_sol-host-zfs.dita"/>
+ </topicref>
+ </chapter>
+
+ <chapter href="topics/Security.dita">
+ <topicref href="topics/security-general.dita"/>
+ <topicref href="topics/security-secure-install.dita">
+ <topicref href="topics/security-secure-install-overview.dita"/>
+ <topicref href="topics/security-secure-install-postinstall.dita"/>
+ </topicref>
+ <topicref href="topics/security-features.dita">
+ <topicref href="topics/security-model.dita"/>
+ <topicref href="topics/secure-config-vms.dita">
+ <topicref href="topics/security-networking.dita"/>
+ <topicref href="topics/security-vrdp-auth.dita"/>
+ <topicref href="topics/security_clipboard.dita"/>
+ <topicref href="topics/security-shared-folders.dita"/>
+ <topicref href="topics/security-3d-graphics.dita"/>
+ <topicref href="topics/security-cd-dvd-passthrough.dita"/>
+ <topicref href="topics/security-usb-passthrough.dita"/>
+ </topicref>
+ <topicref href="topics/auth-config-using.dita"/>
+ <topicref href="topics/pot-insecure.dita"/>
+ <topicref href="topics/security-encryption.dita"/>
+ </topicref>
+ <topicref href="topics/security-recommendations.dita">
+ <topicref href="topics/sec-rec-cve-2018-3646.dita">
+ <topicref href="topics/disable-nested-paging-mitigation.dita"/>
+ <topicref href="topics/flush-level1-data-cache-mitigation.dita"/>
+ </topicref>
+ <topicref href="topics/sec-rec-cve-2018-12126-et-al.dita">
+ <topicref href="topics/buffer-overwriting-mitigation.dita"/>
+ </topicref>
+ </topicref>
+ </chapter>
+
+ <chapter href="topics/KnownIssues.dita">
+ <topicref href="topics/ExperimentalFeatures.dita"/>
+ <topicref href="topics/KnownProblems.dita"/>
+ </chapter>
+
+ <!-- Change Log-->
+
+ <!-- Third Party Licenses-->
+
+ <chapter href="topics/privacy.dita"/>
+
+<chapter href="topics/Glossary.dita" chunk="to-content">
+ <topicref href="topics/glossentry-acpi.dita"/>
+ <topicref href="topics/glossentry-ahci.dita"/>
+ <topicref href="topics/glossentry-amdv.dita"/>
+ <topicref href="topics/glossentry-api.dita"/>
+ <topicref href="topics/glossentry-apic.dita"/>
+ <topicref href="topics/glossentry-ata.dita"/>
+ <topicref href="topics/glossentry-bios.dita"/>
+ <topicref href="topics/glossentry-com.dita"/>
+ <topicref href="topics/glossentry-dhcp.dita"/>
+ <topicref href="topics/glossentry-efi.dita"/>
+ <topicref href="topics/glossentry-ehci.dita"/>
+ <topicref href="topics/glossentry-gui.dita"/>
+ <topicref href="topics/glossentry-guid.dita"/>
+ <topicref href="topics/glossentry-ioapic.dita"/>
+ <topicref href="topics/glossentry-ide.dita"/>
+ <topicref href="topics/glossentry-iscsi.dita"/>
+ <topicref href="topics/glossentry-mac.dita"/>
+ <topicref href="topics/glossentry-msi.dita"/>
+ <topicref href="topics/glossentry-nat.dita"/>
+ <topicref href="topics/glossentry-ovf.dita"/>
+ <topicref href="topics/glossentry-pae.dita"/>
+ <topicref href="topics/glossentry-pic.dita"/>
+ <topicref href="topics/glossentry-pxe.dita"/>
+ <topicref href="topics/glossentry-rdp.dita"/>
+ <topicref href="topics/glossentry-sas.dita"/>
+ <topicref href="topics/glossentry-sata.dita"/>
+ <topicref href="topics/glossentry-scsi.dita"/>
+ <topicref href="topics/glossentry-smp.dita"/>
+ <topicref href="topics/glossentry-ssd.dita"/>
+ <topicref href="topics/glossentry-tar.dita"/>
+ <topicref href="topics/glossentry-uuid.dita"/>
+ <topicref href="topics/glossentry-vm.dita"/>
+ <topicref href="topics/glossentry-vmm.dita"/>
+ <topicref href="topics/glossentry-vrde.dita"/>
+ <topicref href="topics/glossentry-vrdp.dita"/>
+ <topicref href="topics/glossentry-vtx.dita"/>
+ <topicref href="topics/glossentry-xhci.dita"/>
+ <topicref href="topics/glossentry-xml.dita"/>
+ <topicref href="topics/glossentry-xpcom.dita"/>
+</chapter>
+</bookmap>