在Windows启动

时间:2017-08-31 01:31:27

标签: virtualbox windows-server-2016

我在Windows Server 2016中运行VirtualBox。我希望在Windows启动时启动VirtualBox和VM。我已经看到一些关于在Windows启动时启动VB的帖子,但我没有得到它的工作。即使我这样做了,也不会自动启动VM。我觉得必须有办法做到这一点,但几个小时的谷歌搜索还没有找到方法。

9 个答案:

答案 0 :(得分:12)

我有一个如何在Windows启动期间自动启动VirtualBox VM的示例。我正在运行Windows 10,但在Windows Server 2016上应该没有太大差别。

我系统上的启动文件夹是:

  

C:\ Users \ chriwill \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

在该文件夹中,我放置了一个批处理文件kubuntu.bat,内容如下:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm kubuntu --type headless

在我的示例中,VM名为kubuntu。你必须为你的实例改变它。

<强> ADDON:

如果您需要帮助在Windows实例上找到启动文件夹,请按键WINDOWS+R并输入shell:startup

参考:https://www.virtualbox.org/manual/ch08.html#vboxmanage-startvm

答案 1 :(得分:3)

我需要一个运行为服务的虚拟机(可以在用户首次登录之前从网络上获得),因此fanxings' answer是几乎理想的解决方案。

问题是VBoxManage启动虚拟机,然后直接退出。因此,服务管理器尝试再次运行它。然后再次。再来一次……

我已经用一个小的批处理文件解决了这个问题:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm zztop --type headless
pause

然后使用nssm将此批处理文件作为服务安装。这解决了使用GUI关闭虚拟机的问题,例如用于更改配置-并防止在系统日志中显示多个错误消息。

答案 2 :(得分:3)

预定任务。在操作下,程序/脚本

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"

在参数下

startvm Pihole --type headless

答案 3 :(得分:1)

添加计划任务是一个不错的选择。有很多选择如何预热。

您可以选择在启动时运行任务,而不用考虑用户登录。

答案 4 :(得分:1)

Oracle VirtualBox 6.1.16 支持 automatic startup via a windows service,无需第三方脚本或软件。这些是我遵循的步骤。在整个过程中将我的登录信息替换为您的登录信息。

  1. C:\Users\Tim\.VirtualBox\autostart.properties 中创建配置文件:
    # Default policy is to deny starting a VM, the other option is "allow".
    default_policy = deny
    
    # Bob is allowed to start virtual machines but starting them
    # will be delayed for 10 seconds
    Tim = {
        allow = true
        startup_delay = 10
    }
    
    
  2. VBOXAUTOSTART_CONFIG 添加环境变量并将其设置为 C:\Users\Tim\.VirtualBox\autostart.properties
  3. 从管理 Powershell 创建自动启动服务:
    cd "C:\Program Files\Oracle\VirtualBox"
    .\VBoxAutostartSvc.exe install --user=Tim
    .\VBoxManage.exe modifyvm "Peppermint x64" --autostart-enabled on
    
  4. VirtualBox Autostart Service tim@tim-pc 应用中查找 Services 服务。
  5. 确保服务登录名是您上面配置的本地登录名。
  6. 确保已启用自动启动。
  7. 启动服务。
  8. 在应用程序日志下检查 Windows Event Viewer 应用程序中的错误。错误说明位于“详细信息”标签下。

答案 5 :(得分:1)

解决方案:

如果不对您的系统使用第三方包装器(读作:另一个故障点),就不可能将您要求的作为服务实现。但是,您可以通过任务调度程序轻松地将此作为任务实现,该任务调度程序在每次系统启动/启动时在用户登录之前运行

相关信息可以在我的回答中找到: https://stackoverflow.com/a/67305645/5387389

答案 6 :(得分:0)

对我有用的是

  1. 创建快捷方式。
    • 打开virtualbox
    • 突出显示要启动的VM
    • 点击“计算机”->“在桌面上创建快捷方式”
  2. 添加到Windows启动
    • 开始->运行
    • 键入“ shell:启动”
    • 在此处复制并粘贴快捷方式。

答案 7 :(得分:0)

您可以使用NSSM为它创建服务,例如:

打开cmd

cd /d A:\programs\nssm-2.24\win64 
nssm.exe install  kubuntu

填写表格:

# Application Tab

 Application Path:   C:\Program Files\Oracle\VirtualBox\VBoxManage.exe
Startup directory:   C:\Program Files\Oracle\VirtualBox
        Arguments:   startvm "kubuntu" --type headless


# Details Tab
    Display name:  kubuntu

点击“完成安装服务”。

答案 8 :(得分:0)

如果您想在不登录系统的情况下运行虚拟机,您可以使用 VBoxVmService 实用程序,它以无头模式将一台或多台虚拟机作为 Windows 服务运行,并在启动时自动启动。