Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

i am running windows 7 x64 (host). i want to setup a ubuntu/apache/mysql/php stack as a test/development web server in virtual box.

is there a way i can start virtual box in the background? (with guest as ubuntu - used as a development web server)

if i start on virtual box on startup i guess it might slow down my system considerably? maybe not advisable?

the reason why i am thinking of starting up vbox+guest linux this way is so that i dont have to manually start it up if i use it often. and if it runs in the background, it will seem transparent to me. no need for the extra icon clutter in my taskbar. plus if its in the bg, and windows is setup to give priority to "Programs" over "Background tasks" maybe it will provide better performance? for "foreground" programs?

share|improve this question
This question seems to answer some of this: – SysAdmin1138 Jul 22 '10 at 5:26
If you did not have to have linux for your virtual box then XP Mode would be a good solution. You could just install XAMPP on the virtual XP box. Works good. – ubiquibacon Jul 22 '10 at 7:52
up vote 4 down vote accepted

You can start a virtual machine in headless mode to prevent it from creating the full display window, but it still creates a command window.

There seems no be no way to get virtualbox to run completely silently on windows. However, it should be possible to minimize the command window to the system tray to get it out of the way. In any event, it seems to take fewer resources than a full-on vm.

The command is:
vboxheadless -startvm "$VMNAME$"
To save the vm state:
vboxmanage controlvm "$VMNAME$" savestate
(Quotes are only required if the vm name has spaces)

All vm modifying commands have to be done through vboxmanage, unfortunately. While the GUI doe update to show the machine state, it cannot modify it at all.

I use vboxheadless to run multiple vm's on a second computer, and connect to them using RDP. If you want to get to the desktop on the headless vm, (rather than something like X) you need to enable RDP in the vm's settings. You can do it through vboxmanage, but using the GUI while the vm is stopped is far easier.

share|improve this answer

I found a away to launch a VM silently using hstart. Create a .bat containing the following line:

"c:\your\hstart\path\hstart64.exe" /NOCONSOLE /SILENT "C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe --startvm putyourvmnamehere"

That way you won't have any window open but the VM will be running in the background. You can even put this .bat in the startup folder so the VM starts when Windows starts.

Then I use SSH to connect to the headless machine. (but you can use RDP depending on how you configured your VM)

share|improve this answer

I'm running Windows 10 with Oracle VirtualBox 5.0.2. It's not Windows 7, but this should work with a newer VirtualBox release for Windows...

In VirtualBox Manager, click the drop-down arrow next to the Start arrow and select "Detachable Start". That will allow you to open or close a local display without having to shutdown the server.

Next, go get: RBTray, move it to Program Files, add a shortcut to your startup folder, and go ahead and run it.

Now you should be able to right-click the minimize "-" on the VirtualBox Manager window and it will minimize to the system tray without a taskbar icon staying around all the time.

It's not the same as starting the servers in the background, but it's a heck of a lot easier to work with for devel and home networks.

share|improve this answer
Just a quick followup on stability: The setup is fine for good chunks of time working on stuff, but I tried to keep two DNS VMs stable for a few weeks using these versions (RBTray's last update was 5-28-2013). I came to the conclusion that it wasn't stable for long periods. – Brian Chandler Oct 25 '15 at 15:29

Use vbscript to hide console. From

Save file as name.vbs. eg: vboxservice1.vbs

Set objShell = WScript.CreateObject("WScript.Shell")
vmname = ""
Return = objShell.Run("vboxheadless --startvm " chr(34) & vmname & chr(34), 1, false)
'1 is to show. change to 0 do hide
'false is to continue. change to true to wait for process execution 
'before continuing the script.
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .