我正在开发旧版本的 VirtualBox (3.2.6),我可以在其中进行编辑/etc/sysconfig/vbox
,在那里我可以添加尽可能多的虚拟机以在主机启动时启动。
现在在这个新版本 4.2.6 上无法编辑该文件,因为不再支持。检查在论坛上我发现了一些东西,但我不工作。
cat /etc/default/virtualbox
# /etc/default/virtualbox
#
# -------------------------------------------------------------------------------------------------
# In the "SHUTDOWN_USERS" list all users for which a check for runnings VMs should be done during
# shutdown of "vboxdrv" resp. the server:
# SHUTDOWN_USERS="foo bar"
#
# Set "SHUTDOWN" to one of "poweroff", "acpibutton" or "savestate" depending on which of the
# shutdown methods for running VMs are wanted:
# SHUTDOWN="poweroff"
# SHUTDOWN="acpibutton"
# SHUTDOWN="savestate"
# -------------------------------------------------------------------------------------------------
#
#SHUTDOWN_USERS="foo bar"
#SHUTDOWN="savestate"
VBOXAUTOSTART_DB=/etc/vbox
#VBOXAUTOSTART_CONFIG=/etc/vbox/vbox.cfg
VBOXAUTOSTART_CONFIG=/etc/vbox/vboxauto.conf
这是vboxauto.conf
:
cat /etc/vbox/vboxauto.conf
# Default policy is to deny starting a VM, the other option is "allow".
default_policy = deny
root = {
allow = true
}
然后我这样做:
VBoxManage setproperty autostartdbpath /etc/vbox
和这个
VBoxManage modifyvm <the_machine> --autostart-enabled on
当我尝试查看状态时
rcvboxes status
Virtualbox machines: no virtual machines running. skipped
vboxes.service - LSB: Autostart Virtual Box VMs
Loaded: loaded (/etc/init.d/vboxes)
Active: active (exited) since Tue, 2013-02-05 23:34:57 UYST; 32min ago
Process: 30764 ExecStart=/etc/init.d/vboxes start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/vboxes.service
Feb 05 23:34:57 my.machine vboxes[30764]: Starting Virtualbox machines: no virtual machines configured..unused
Feb 05 23:34:57 my.machine systemd[1]: Started LSB: Autostart Virtual Box VMs.
为什么 VirtualBox 无法看到我的虚拟机,导致它们处于无头状态? 编辑 30 - 5 月
我确实将其配置为/etc/sysconfig/vbox,但是当我在 init.d 下运行它时得到这个
/etc/init.d/vboxes status
Virtualbox machines: no virtual machines running. skipped
vboxes.service - LSB: Autostart Virtual Box VMs
Loaded: loaded (/etc/init.d/vboxes)
Active: inactive (dead) since Sat, 2013-02-02 22:00:49 UYST; 1 day and 21h ago
Process: 4155 ExecStop=/etc/init.d/vboxes stop (code=exited, status=0/SUCCESS)
Process: 3955 ExecStart=/etc/init.d/vboxes start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/vboxes.service
我做了一个小测试并将脚本移动到 /root/bin ,它工作得很好。
./vboxes_test status
test (user: root): running (since 2013-02-04 21:55:46) running
test (user: root): running (since 2013-02-04 21:55:46)
小编辑: 到目前为止,这就是我正在谈论的......无论如何,旧配置(在 /etc/sysconfig/vbox 中添加虚拟机)和现在我重新启动主机,虚拟机也会这样做。问题是我不希望虚拟机在关闭主机电源时重新启动:t*虚拟机必须在主机关闭之前执行 savestate*。
小评论: 如果我之前做了保存状态并重新启动主机..虚拟机确实按照我想要的方式工作...
有任何信息可以使其发挥作用吗?
答案1
我认为您正在寻找的命令是这样的:
VBoxManage modifyvm <Machine Name> --autostop-type savestate
以下是 savestate 的替代方案[disabled|savestate|poweroff|acpishutdown]
:
如果这不起作用,我相信您可以使用该acpishutdown
选项来配置虚拟机,以便当它收到触发器时acpishutdown
也可以保存状态。
如果上述方法不起作用,则始终可以使用以下命令手动执行保存状态:
VBoxManage controlvm <vm> savestate
然后重新启动主机系统。