Start a VM in VirtualBox without GUI

From VirtualBox manual 7th chapter (Remote virtual machines):

To start a virtual machine with VBoxHeadless, you have three options:

  • You can use

    VBoxManage startvm "VM name" --type headless

The extra --type option causes VirtualBox to use VBoxHeadless as the front-end to the internal virtualization engine instead of the Qt front-end.

  • One alternative is to use VBoxHeadless directly, as follows:

    VBoxHeadless --startvm <uuid|name>

This way of starting the VM helps troubleshooting problems reported by VBoxManage startvm ... because you can see sometimes more detailed error messages, especially for early failures before the VM execution is started. In normal situations VBoxManage startvm is preferred since it runs the VM directly as a background process which has to be done explicitly when directly starting VBoxHeadless.

  • The other alternative is to start VBoxHeadless from the VirtualBox Manager GUI, by holding the Shift key when starting a virtual machine or selecting Headless Start from the Machine menu.

The mentioned menu is here:

Headless menu

Virtualbox guests can be run without a visible host window with these methods:

• In the main Virtualbox window's list of guests, click the guest then click the dropdown next to the Start button at the top, and choose "Headless Start"

• Right-click the guest in the guest list, and choose Start, then "Headless Start"

• Hold down Shift on the keyboard, then double-click the guest in the guest list.

• In a command prompt or desktop shortcut, running in the directory where Vboxmanage.exe exists, run the command 'Vboxmanage startvm "vmname" --type headless'

Virtualbox cannot disable the guest's GUI to improve performance.

In Virtualbox, "headless" means 'no window showing on the host monitor', not 'no video card in the guest "computer" '.

Virtualbox always provides a guest video card and availability for a guest OS GUI, even when the guest is run "headless" ie with no guest window showing, and even if the guest OS is a text-only guest. This can be seen by running any GUI-based guest headless then remoting into it either through Virtualbox RDP or a remote-in service within the guest OS. The GUI will still be calculated and still be completely ready to use, as if the guest were being run with a normal window.

To run a guest without CPU cycles wasted in calculating a GUI, you need to run a guest OS that doesn't run a GUI, like a text-only DOS-like command-line OS, or an OS that expects to boot on a server that does not have a video card.