Virtualbox不能随系统启动,网上的一些方法大多是要添加到用户的启动菜单中。这样还需要用户登录后才能启动。非常不方便。
参考了 https://superuser.com/questions/922993/how-to-run-a-headless-vm-with-vboxmanager-as-a-windows-service 文中提供两种方法:
1、通过NSSM创建windows服务调用vbox自带的VboxHeadless.exe免登陆启动虚拟机。
2、安装vboxvmservice实现开机免登陆启动虚拟机。这里我选择了第二种方法。
下载vboxvmservice默认安装后需要修改配置文件格式如下:
1 | [Settings] |
安装完如下图:

有文档说,每次更改完VBoxVmService.ini配置文件之后都需要通过-u和-i参数卸载重新安装服务后才能生效,具体没有测试。
1 | C:\vms>VmServiceControl.exe |
安装完毕后查看VBoxVmService.log提示错误:
1 | Error finding machine! Could not find a registered machine named 'testwin' |
该错误需要在服务管理器中找到VBoxVmService将登录标签设置为当前登录用户即可解决。

vboxvmservice让虚拟机随系统自启动有一个问题就是使用virtualbox自带的管理工具的时候将显示该虚拟机状态为“已关闭”。请不要再使用自带管理工具进行管理了。