LinuxCommandLibrary

vboxmanage-startvm

Start a VirtualBox virtual machine

TLDR

Start a virtual machine

$ VBoxManage startvm [vm_name|uuid]
copy

Start a virtual machine with the specified UI mode
$ VBoxManage startvm [vm_name|uuid] --type [headless|gui|sdl|separate]
copy

Specify a password file to start an encrypted virtual machine
$ VBoxManage startvm [vm_name|uuid] --password [path/to/password_file]
copy

Specify a password ID to start an encrypted virtual machine
$ VBoxManage startvm [vm_name|uuid] --password-id [password_id]
copy

Start a virtual machine with an environment variable pair name value
$ VBoxManage startvm [vm_name|uuid] [[-E|--putenv]] [name]=[value]
copy

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)

Copied to clipboard