Windows 上的 Oracle VirtualBox
大家好,
有没有办法启动无头虚拟机(vboxheadless -s),但可以关闭该命令窗口,或者如果我将其添加为启动项,是否会使其静默运行?
我已经成功导出了一个设备(linux vm),当我进行批量导入时,它会保留我最初配置的设置吗?还是必须分配桥接适配器、内存数量等?
非常感谢您的建议!诚挚的问候
编辑:Iain,如果有人想在 CentOS VM 首次启动时编写 GuestAdditions 安装脚本,我是否应该将命令 ./VBOXLinux-x86-additions.run 放入 bash 脚本中,它将在启动时运行,对此的任何想法都会非常有帮助。
亲切的问候
答案1
如果你使用
vboxmanage import ovffile.ovf --dry-run
您将收到一份报告,告知您导入实际完成时将应用哪些配置。您还将获得有关如何进行更改(如果需要)的建议。
至于从命令行和窗口分离运行 vboxheadless,这并不像你想象的那么简单。一个简单的
start /b vboxheadless -s vmname
似乎可以工作,因为它脱离了命令行,但是如果您关闭窗口,子进程也会死亡,并且“电源线”会从您的虚拟机中拔出。
为了解决这个问题,使用一个小的 vbs 脚本 test.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
obj = WshShell.Run("c:\temp\test.bat", 0)
set WshShell = Nothing
我的测试.bat
@echo off
vboxheadless -s vmname
答案2
这是一篇很老的帖子,但我花了很多时间寻找它
这是我使用的
VBoxManage.exe startvm "myvm" --type "headless"
并阻止它
VBoxManage.exe controlvm "myvm" savestate
或者poweroff
我已将它们放入 Widows 7 任务计划程序中,以便它可以随 Windows 一起启动和停止。
开始:
启动时触发
关机:
触发事件
系统事件:
来源 User32
事件 ID 1074
我发现的一个问题是,如果 IP 发生变化,就很难找出正确的 IP 地址。
答案3
据我所知,当您导入该应用程序时,它将保存您在导出该应用程序的机器上的设置。
看看这个帖子VirtualBox 论坛上可以帮助您。
答案4
我正在使用一个名为服务端,这在这种情况下非常有用。它使您能够以无头模式将 VirtualBox VM 作为 Windows 服务运行(每个 VM 一个服务)。它托管在 Sourceforge 上:
http://vboxvmservice.sourceforge.net/
您可以在一个简单的 ini 文件中将虚拟机配置为作为服务启动。下载时提供文档。
请注意,已启动的虚拟机不会在 VirtualBox GUI 应用程序中显示为已启动(与 Linux 不同,在 Linux 中可以看到)。如果您需要重新配置虚拟机,则需要先关闭服务(VBoxVmService 提供的托盘小应用程序非常有用),然后在 VirtualBox GUI 中进行更改,然后再次启动虚拟机服务。
我添加了这个建议,因为它可能对某些用户来说更方便......