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
--typeoption causes VirtualBox to use
VBoxHeadlessas the front-end to the internal virtualization engine instead of the Qt front-end.
One alternative is to use
VBoxHeadlessdirectly, 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 startvmis preferred since it runs the VM directly as a background process which has to be done explicitly when directly starting
- The other alternative is to start
VBoxHeadlessfrom 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:
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.