如何配置Virtualbox VM在Windows-10重新启动后自动启动?


37

在2013年,我追踪了当主机为Linux时如何自动启动/关闭Virtualbox VM的方法。该过程已正式记录下来,需要一些步骤。

现在我很感兴趣,您如何配置Virtualbox VM在Windows-10重新启动后自动启动?

是否有正式记录的流程?如果没有,那么有人测试过的解决方案是什么?

我的天真尝试将是这样的:

  • 已完成:设置窗口以在重新启动后自动登录

  • 待办事项:使用以下命令创建批处理脚本: sleep 120 && vboxmanage startvm my_vm_name

  • TODO:将批处理脚本放入用户的启动目录中。(尽管在Windows 10中我没有看到任何“启动”目录...)


我不确定要使用启动菜单...,因为它是Windows-9x风格的(可能是旧的)。在Linux中,我使用sysvinit / systemd,但我对Windows不熟悉(可能是任务计划程序或类似的程序)。
Trevor Boyd Smith

如果您The process was officially documented在Linux上添加了链接,可能会很有用;-)
Philippe Gachoud

@PhilippeGachoud根据您的要求,我编辑了问题,并添加了指向文档的链接
Trevor Boyd Smith,

谢谢!我发现这比较合适,因为似乎似乎不太了解更改包管理配置,您对此有何经验?medium.com/@bharatman/...
菲利普Gachoud

Answers:


35

尽管位于一个隐蔽的地方,启动目录仍然存在。

通过打开“运行”框(Win + R)并输入来访问它

shell:startup

现在将其最小化。

打开VirtualBox,然后右键单击要自动启动的VM,单击选项以在桌面上创建快捷方式,然后关闭VirtualBox。

只需剪切从桌面快捷方式,并将其粘贴到先前打开的文件夹,它应该是完美的罚款。


4
shell:启动是在登录时,而不是在系统启动时,对吗?如何在系统启动时执行此操作?
Alexei

1
您需要将其作为服务
AKi

1
不必要。您始终可以配置自动登录,打开cmd并键入control userpasswords2。您将找到其余的方法。
爱德华多(Eduardo)

13

实际上,您可以立即启动虚拟机而无需借助第三方VBoxVmService。只需创建一个快捷方式<VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headless并将其放在启动文件夹中即可。

VirtualBox手册


5
这仍然不是需要登录而不是仅在启动时运行的缺点吗?
HorusKol

当然。如果您想要运行任何东西而不必登录,则服务仍然是必需的
。– rustyx

2
为此,请使用计划任务而不是启动文件夹中的快捷方式。
布鲁诺·芬格

11

试试VBoxVmService

确保阅读Howto.txt并编辑VBoxVmService.ini


1
非常感谢!这看起来很有希望。在Windows上,当您想比较Windows-virtualbox与linux-virtualbox时,缺少具有系统启动/关闭功能的Virtualbox集成始终是一个很大的负面因素(即使linux virtualbox集成只是sysvinit ...而且IMO也不是很可靠(关闭VM不会在系统发出SIGKILL之前等待VM关闭,然后再执行系统关闭))。
Trevor Boyd Smith,

1
我大约一年前尝试过。此解决方案要求您使用Windows服务的包装器代码以同步方式更新virtualbox。因此,您必须要小心。我还认为Windows更新对我来说破坏了此功能。因此,我最终卸载了此vbox服务代码。
Trevor Boyd Smith,

我看着这个项目。大量的拼写错误使我担心代码中的类似问题。矿井+金丝雀。
user2066657

@ user2066657很好,您可以阅读我的评论,并看到我尝试了它,但它工作了一段时间,然后坏了。您对表示代码质量的拼写错误的担心可能是有根据的。我今天仍然不愿再谈它。
Trevor Boyd Smith,

7

虽然拥有一项服务很好,但是您可以通过计划任务来完成。将系统引导作为触发器,选中选项以在没有登录用户的情况下运行任务,并将操作设置为<VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headless。确保从无法理解的默认启用选项“如果运行超过3天,则杀死任务”中删除该检查。Srsly,MS,您在想什么,如果没有重新启动Windows计算机将无法持续这么长时间?

有一个警告:如果以这种方式在启动时启动了VM,您将在VirtualBox Manager中将其视为“已关闭电源”,因此没有按钮可以显示VM的显示。只有“开始”按钮,当您尝试重新启动它时,您可能会搞砸。

您可以定义一个远程显示端口,以便无需VirtualBox Manager即可通过RDC(mstsc.exe)访问VM的控制台,但是您仍然必须记住不要相信“关闭电源”信息。我不知道在实际服务中是否更好。


1
关于“服务很好”。不幸的是,每次VirtualBox进行次要更新时,VirtualBox服务都会中断。因此我最终卸载了该服务,现在我的VM不再在启动时启动。
Trevor Boyd Smith,

关于“ [[虚拟机显示为] [在VirtualBox管理器中]关闭电源”),我认为这是由您启动虚拟机的方式引起的。我怀疑您以root用户身份启动VM。如果您尝试使用用户的“ runas”启动虚拟机,则您的VirtualBox管理器可能会工作。
Trevor Boyd Smith,

1
现在我想到了... VirtualBox服务...当您通过该服务启动它时,它也显示为“电源关闭”。
Trevor Boyd Smith,

1
这看起来很有希望,但是我无法使其工作...我用两个命令创建了作业-启动我的“主要” VM。我在调度程序中看到它。我可以单击它,选择“运行”-状态从“就绪”更改为“正在运行”,但是VM无法启动。它们也不会在启动时开始……还必须有其他东西……
Mikhail T.

在Windows 10 + Virtualbox 6.0.2上进行了测试。配方:Windows键,键入SCHED并启动任务计划程序,创建基本任务,触发器:计算机启动时,操作:启动程序,程序(浏览到VBoxManage.exe),参数:startvm“ vmname” --type headless,勾选“打开此任务的属性对话框。并完成,勾选无论用户是否登录运行”,仅当计算机使用交流电源时才删除“条件/启动”,如果运行时间超过此时间,则“设置/停止”任务。 (尽管实际上发射速度很快,所以在这里无关紧要)
fgrieu

2

如chad和gonetsoft先前所述,您可以使用VboxManage.exe在启动时启动VM,但是,如果您未指定“ --type headless”,则它实际上会在VirtualBox Manager中显示为正在运行,等等。如果您正常启动了它,那么无头便是隐藏它的原因-并非在所有情况下您都想做的事情...

由于我没有足够的声誉而无法对以前的答案发表评论,因此发布为答案


2

尝试使用VBoxHeadlessTray
它非常易于使用,可在Windows启动时自动还原VM的状态,并在Windows关闭或重新启动时自动保存状态。最棒的是,您可以使用VBoxHeadlessTray来配置每个VM。


看起来很棒。我有时间的时候就必须尝试一下。谢谢。
Trevor Boyd Smith
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.