如何在完全后台“Microsoft Windows(WIN)”中运行“Oracle VirtualBox(VBOX)”?

问题

我想在本地DEV机器上使用“ Microsoft Windows(WIN) ”运行不带“ Oracle VirtualBox(VBOX) ”“ graphics用户界面(GUI) ”的自动启动“ 虚拟机(VM ) ”。

我怎样才能完全运行后台进程?

诀窍是在没有GUI的情况下运行虚拟机。 有了这个,你可以很容易地在WIN服务器上运行VM,就像服务一样。

0)先决条件是存在一些VM,你已经有一些了。 下面把它的名字改为{vm_name}。

1)首先我们使用内置的可执行文件“VBoxHeadless.exe”。

创build文件

vm.run.bat 

放码

 cd "c:\Program Files\Oracle\VirtualBox\" VBoxHeadless.exe -s {vm_name} -v on 

运行并testing – WIN 命令行界面(CLI)将被打开,虚拟机将在后台运行。

 vm.run.bat 

2)然后我们使用“ 基于Windows的脚本宿主(WSCRIPT) ”和语言“ Microsoft Visual Basic Sc​​ript(VBS) ”并运行上面的文件“vm.run.bat”。

创build文件

 vm.run.vbs 

放码

 Set WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("vm.run.bat", 0) set WshShell = Nothing 

运行并testing它 – CLI将在后台运行。

 wscript.exe vm.run.vbs 

参考

感谢iain

http://web.archive.org/web/20150407100735/http://www.techques.com/question/2-188105/Virtualbox-Start-VM-Headless-on-Windows

您可以使用VBoxManage来启动一个虚拟机无头:

 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "Your VM name" --type headless 

我用了类似Samuel解决scheme的东西,效果很好。

在桌面上(或任何文件夹),右键单击并转到新build – >快捷方式。

在目标中input:

 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm {uuid} --type headless 

在名称中input你想要的,然后点击完成。

然后停止相同的虚拟机,创build一个新的快捷方式与目标是:

 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm {uuid} poweroff 

双击这些启动和停止虚拟机,没有任何窗口保持打开状态。

VirtualBox 4.2开始,你可以在启动虚拟机的时候按住Shift键在后台完全运行它。 在这里看到细节。

另一种解决scheme: http : //vboxvmservice.sourceforge.net/

这对我来说是完美的!

如果您不介意手动操作应用程序,则以操作系统在后台运行结束; 这里是选项:

打开虚拟框。 右键单击您的客户操作系统>select:开始无头。 等待一段时间,直到操作系统启动。

然后closuresVirtual Box应用程序。

按照Bruno Garett的回答,根据我的经验:testingvm.run.bat文件失败,给出只读错误,但是可以正常运行VB脚本。 只是为了节省时间。

也closures无头,你可以使用另一批处理脚本(山姆F的解决scheme不会与布鲁诺的解决scheme):

 cd "c:\Program Files\Oracle\VirtualBox\" VBoxManage controlvm "Ubuntu Server" acpipowerbutton 

第二行是从这里获得,你可以使用任何你想要的选项。

你不需要额外的VBScript。 您可以直接从batch file中执行后台发送命令:

 start "MyBackgroundVM" "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm {uuid} --type headless