I want to know how to start a VirtualBox Virtual Machine (VM) from the command line (using Windows 7) as well as shut it down with the operating system.

What is an easy way to achieve this?

  • Actually VirtualBox will recognize a host system shutdown initiated by the user – Sebastian Godelet May 10 '13 at 14:31

Here's the command I run from a shortcut I have on my desktop. This should work from a command line as well.

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm <NameOfVMHere>

Of course, this is based on typical system defaults. Any given system might have moved the Program Files folder or installed VirtualBox to a custom location.

  • Thanks a million! this command actually has everything anybody would ever do with a VM ^^ – Sebastian Godelet Nov 30 '10 at 14:30
  • It's worth noting that the name of the VM is case-sensitive. You'll also need to surround it with quotes if it has spaces in it, and possibly (haven't tried this) escape any other characters that the command processor treats specially. I see mention of possibly needing to preface the "startvm" operand with "--". That doesn't work for me - I get an "invalid command" error. – rossmcm May 24 '18 at 21:15

vboxmanage is the way to go

vboxmanage startvm "winxppro Clone"

man vboxmanage or documentation can be found here

While (<vm> your vm name)

  • vboxmanage controlvm <vm> savestate saves the current status
  • vboxmanage controlvm <vm> resume resumes the previous saved state
  • vboxmanage controlvm <vm> poweroff plugs off your machine cable
  • 1
    Could you expand on the answer? It only answers to start-up and not the shut down. – suspectus Jun 23 '13 at 8:56
  • Please provide a bit more explanation about why your post answers the question. – teylyn Jun 23 '13 at 9:30

I will try to elaborate on @Philippe answer:
Try adding -- before the startvm The command: vboxmanage startvm <machine_name> will start the server which name is "machine_name".
For example if you have a machine that called UbuntuServer then the command will look like so: vboxmanage --startvm UbuntuServer

Note vboxmanage should be in you path to run this command. Add if to your path if not (on my mac it was added with the installation of virtual box.


In Windows 10, you can start a Ubuntu VM using:

C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm Ubuntu

where Ubuntu is the name of the VirtualBox VM

To shut down the VM use:

C:\Program Files\Oracle\VirtualBox\VBoxManage.exe controlvm Ubuntu poweroff

You can also use other commands with controlvm such as pause, resume, reset, poweroff, savestate to achieve different actions.


I started a VM in this way:

VirtualBox.exe --comment "Ubuntu 16" --startvm "96852e73-a304-4357-b7ef-440913601f3f"

It starts headless I think.. no gui shown.. Now I wish to see the GUI of that VM from the HOST... is it possible?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.