wake-up-neo.com

在完全后台的“ Microsoft Windows(WIN)”中启动后如何像服务一样运行“ Oracle VirtualBox(VBOX)”?

问题

我想运行自动启动“ 虚拟机(VM) ”,而无需“ Oracle VirtualBox(VBOX) ”“ 图形用户界面(GUI) ”具有“ Microsoft Windows(WIN) ”的本地DEV计算机。

如何在完全运行的后台进程中做到这一点?

46
BG Bruno

解决方案

诀窍是在不使用GUI的情况下运行VM。这样,您也可以像服务一样在WIN服务器上轻松运行VM。

0)前提是存在一些VM,您已经有一些。在下面放上它的名称而不是{vm_name}。

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

建立档案

vm.run.bat

放置代码

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

运行并测试它-WIN“ 命令行界面(CLI) ”,将被打开“ Command Shell ”,并且VM将在后台运行。

vm.run.bat

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

建立档案

vm.run.vbs

放置代码

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

运行并进行测试-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

46
BG Bruno

您可以使用VBoxManage启动无头的VM:

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

我使用了类似于Samuel解决方案的方法,效果很好。

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

在目标中,键入:

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

在名称中,键入所需的任何内容,然后单击“完成”。

然后,要停止同一虚拟机,请创建一个新的快捷方式,目标为:

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

双击这些将启动和停止VM,而没有任何窗口保持打开状态。

16
Sam F

VirtualBox 4.2开始,您可以在启动vm的同时按住Shift完全在后台运行。查看详细信息 此处

10
mt_serg

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

它对我来说很完美!

7
Eduardo Fabricio

如果您不介意手动操作该应用程序,则以OS在后台运行为结束;以下是选项:

打开虚拟盒子。右键单击您的来宾操作系统>选择:无头启动。等待一段时间,直到操作系统启动。

然后关闭Virtual Box应用程序。

2
Bimal Poudel

根据我的经验,Bruno Garett的回答:测试vm.run.bat文件失败,给出一个只读错误,但在运行VB脚本时可以正常工作。只是为了节省任何人的时间。

同样,您也可以使用另一个批处理脚本来关闭程序,(Sam F的解决方案无法与Bruno的解决方案一起使用):

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

第二行是从 此处 获得的,您可以使用所需的任何选项。

1
DonD

GUI中也有一个简单的手动选项:

Screenshot from Virtualbox 5.2

(摘自Virtualbox 5.2)

1
bernie