vboxmanage-startvm
Start a VirtualBox virtual machine
TLDR
Start a virtual machine
Start a virtual machine with the specified UI mode
Specify a password file to start an encrypted virtual machine
Specify a password ID to start an encrypted virtual machine
Start a virtual machine with an environment variable pair name value
SYNOPSIS
vboxmanage startvm <name|UUID> [--type {gui|headless|separate|rdp|vrde|sdl}] [options]
PARAMETERS
--type {gui|headless|separate|rdp[={port}][@{host}][/{tunnel}]|vrde[={port}][@{hostip}]|sdl|desktop}
Frontend display type (default: gui)
--vrde on|off
Enable/disable VRDP server (default: off)
--vrdeport <ports>
Comma-separated list of VRDP ports
--vrdeaddress {<hostip>|auto}
VRDP listening address (default: auto)
--vrdecapfile <filename>
VRDP authentication file
--vrdeproperty <name>=<value>
Set VRDP server property
--vrdeauthtype {null|external|guest}
VRDP auth type (default: null)
--vrdevideochannelquality <quality>
VRDP video quality (10-100)
--nographics
Equivalent to --type headless
--putenv <NAME>=<VALUE>
Pass environment variable to guest process
--console
Activate remote console after start
DESCRIPTION
The vboxmanage startvm command, part of Oracle VM VirtualBox's command-line interface (VBoxManage), boots a specified virtual machine (VM) by name or UUID. It supports various frontend modes: gui (default, launches graphical UI), headless (no local display, for servers/remote access), separate (detached GUI process), sdl (simple framebuffer), or remote options like rdp and vrde for RDP/VRDP sessions. Additional flags configure VRDP servers for remote desktop access, set guest environment variables, enable console mode, or suppress graphics. Ideal for automation, headless servers, CI/CD pipelines, or scripted VM management without the GUI Manager. The VM must be registered, powered off, and the VirtualBox backend service running. Output shows boot progress and PID for monitoring.
CAVEATS
VM must be powered off and registered; VBox backend service required; use quotes for names with spaces; fails if VM running or invalid UUID; VRDP needs TCP ports open.
EXAMPLES
vboxmanage startvm "Windows 10" (starts in GUI)
vboxmanage startvm MyVM --type headless (headless server mode)
vboxmanage startvm Ubuntu --type vrde=5901 (VRDP on port 5901)
EXIT STATUS
0 on success; non-zero on error (e.g., VM not found, already running). Check vboxmanage --help startvm for details.
HISTORY
Introduced in VirtualBox 1.0 (2006) by Sun Microsystems; enhanced with headless mode in 1.5 (2007), VRDP options in 2.0 (2008), and RDP/sdl support in 3.0+; current in Oracle VM VirtualBox 7.x with improved remote features.
SEE ALSO
VBoxManage(1), vboxmanage controlvm(1), vboxmanage list vms(1)


