如何在完全后台“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 Script(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
您可以使用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