I have an Ubuntu server virtual machine on my Windows box, I am able to run VirtualBox on my Windows machine without problems, and then I can SSH into the newly created server. However what I am trying to do is to SSH into my Windows machine (I have an SSH server installed) and start VirtualBox by running the following commands:

cd C:/Program Files/oracle/virtualbox
virtualbox --vm <virtual machine ID>

The machine ID I use is the same as the one used when you create a shortcut using the VirtualBox machine manager.

When I do this the GUI for the VM does not appear. Checking the Task Manager Processes tab I am only able to see the VirtualBox process if I click Show all users, however the process shown is run under the same user name as my account.

Trying to do an SSH connection to the new server does not work. And doing a ping scan of my network using nmap does not seem to show any new hosts.

I would like to add that using the same commands as above straight in to the Windows command prompt starts the VM with no problems.


I have followed instructions and changed virtualbox to VBoxHeadless --startvm 8b2db 9b3-5907-431f-b25c-44ea9cade05d

Doing this through ssh gives me the error:

Invalid machine name or UUID!

however the UUID is the same as the one used in my shortcut on my desktop, and simply double clicking the .bat file runs fine.

I suspect the problem may be being caused by my ssh server being run under an administrative context. I'm using "bitvise ssh server"

Further inspection has shown that in windows command prompt i can VBoxMange list vms in both standard user and as an administrator. However running it in cygwin gives no results, and running it through ssh, whether in the cygwin terminal or command prompt, returns nothing.

  • 1
    Windows is a GUI OS. Use Remote Desktop. Setting that aside, what you want is VBoxHeadless.
    – Daniel B
    Feb 25, 2014 at 12:25
  • My bad it is not working anymore
    – lanky
    Feb 25, 2014 at 14:13

2 Answers 2


Well then, if it worked for you, why not make it an answer. (:

The solution to use VirtualBox without a GUI is VBoxHeadless. Although there are more comfortable options, like phpVirtualBox.

VBoxHeadless works in conjunction with VBoxManage to provide a complete interface to VirtualBox' functions. To start VMs, they need to be registered. Registered VMs can be listed with VBoxManage list vms.

  • I thought it had worked, but I jumped the gun. I'm still getting the same problem... I have put this in a .bat file and writing straight to ssh get's the same error "C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe --startvm 8b2db9b3-5907-431f-b25c-44ea9cade05d" gives me "Invalid machine name or UUID" I'll update the main post
    – lanky
    Feb 25, 2014 at 14:14
  • You can also refer to your machine by name, no need to deal with GUIDs.
    – Daniel B
    Feb 25, 2014 at 14:20
  • Refering to them as a UUID or by the machine name Ubuntu-server end up with the same result. But for ease of reading i'll only use Ubuntu-server from now on
    – lanky
    Feb 25, 2014 at 14:30
  • Well, does VBoxManage list vms show the machine?
    – Daniel B
    Feb 25, 2014 at 14:32
  • Through the ssh connection no it does not. But it does in the windows command prompt
    – lanky
    Feb 25, 2014 at 14:36
  1. Check if the Folder: C:\Windows\System32\config\systemprofile.VirtualBox exists. If this folder inherits only logfiles - delete the whole folder or move it to a new position

  2. Now Link the correct folder to this position from a commandline (yes its possible with ntfs):

    mklink /j C:\Windows\System32\config\systemprofile.VirtualBox C:\Users\Administrator.VirtualBox

(replace Administrator with the accountname you are running your virtual machines)

The ssh shell uses the folder C:\Windows\System32\config\systemprofile.VirtualBox as its virtualbox folder while the usual admin login uses C:\Users\Administrator.VirtualBox. If you are ok with managing your virtualbox machines via a commandline, you could just move the files from C:\Users\Administrator.VirtualBox to C:\Windows\System32\config\systemprofile.VirtualBox and ignore the link above.

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.