我正在运行 Windows 7 x64(主机)。我想在虚拟盒中设置 ubuntu/apache/mysql/php 堆栈作为测试/开发 Web 服务器。
有没有办法可以在后台启动虚拟盒?(以 ubuntu 为客户机 - 用作开发网络服务器)
如果我在启动时启动虚拟机,我猜这可能会大大降低我的系统速度?也许不建议?
我之所以考虑以这种方式启动 vbox+guest linux,是因为如果我经常使用它,就不必手动启动它。如果它在后台运行,它对我来说似乎是透明的。不需要在我的任务栏中出现额外的图标混乱。另外,如果它在后台,并且 windows 设置为优先考虑“程序”而不是“后台任务”,也许它会提供更好的性能?对于“前台”程序?
答案1
您可以以无头模式启动虚拟机以防止其创建全显示窗口,但它仍会创建命令窗口。
似乎没有办法让 VirtualBox 在 Windows 上完全安静地运行。但是,应该可以将命令窗口最小化到系统托盘以使其不碍事。无论如何,它似乎比全功能虚拟机占用的资源更少。
命令是:
vboxheadless -startvm "$VMNAME$"
要保存虚拟机状态:(
vboxmanage controlvm "$VMNAME$" savestate
仅当虚拟机名称有空格时才需要引号)
不幸的是,所有修改虚拟机的命令都必须通过 来完成vboxmanage
。虽然 GUI 会更新以显示机器状态,但它根本无法修改它。
我习惯vboxheadless
在第二台计算机上运行多个虚拟机,并使用 RDP 连接到它们。如果您想进入无头虚拟机上的桌面(而不是 X 之类的东西),您需要在虚拟机的设置中启用 RDP。您可以通过 来执行此操作vboxmanage
,但在虚拟机停止时使用 GUI 要容易得多。
答案2
我找到了一种使用以下方法静默启动虚拟机的方法开始.创建一个包含以下行的.bat:
"c:\your\hstart\path\hstart64.exe" /NOCONSOLE /SILENT "C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe --startvm putyourvmnamehere"
这样,您就不会打开任何窗口,但虚拟机将在后台运行。您甚至可以将此 .bat 放在启动文件夹中,以便虚拟机在 Windows 启动时启动。
然后我使用 SSH 连接到无头机器。(但您可以根据配置 VM 的方式使用 RDP)
答案3
我正在运行 Windows 10 和 Oracle VirtualBox 5.0.2。这不是 Windows 7,但它应该可以与 Windows 的较新版本的 VirtualBox 配合使用...
在 VirtualBox Manager 中,单击“开始”箭头旁边的下拉箭头,并选择“可拆卸开始”。这将允许您打开或关闭本地显示,而无需关闭服务器。
接下来,去获取:再生托盘,将其移动到 Program Files,将快捷方式添加到启动文件夹,然后继续运行它。
现在您应该能够右键单击 VirtualBox Manager 窗口上的最小化“-”,它将最小化到系统托盘,而无需一直停留在任务栏图标上。
这与在后台启动服务器不同,但对于开发人员和家庭网络来说,使用它要容易得多。
答案4
使用 vbscript 隐藏控制台。从http://ss64.com/vb/run.html
将文件保存为 name.vbs。例如:vboxservice1.vbs
Set objShell = WScript.CreateObject("WScript.Shell")
vmname = "some.name.dns"
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.