VirtualBox 开机自启动虚拟机
在无法完全脱离Windows生态系统的情况下,我们可能需要在Linux环境下运行虚拟机来解决问题。
然而,每次手动启动虚拟机可能会有些麻烦,因此我们可以设置自动启动功能。
创建配置文件
touch /etc/default/virtualbox
nano /etc/default/virtualbox
在打开的编辑器中添加以下内容:
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/vbox.cfg
接下来,我们需要编辑虚拟机配置文件:
nano /etc/vbox/vbox.cfg
确保文件中包含以下内容:
INSTALL_DIR=/usr/lib/virtualbox
然后,在文件末尾添加以下内容:
default_policy = deny
user1[seele] = {
allow = true
}
接着,我们需要修改文件的权限和所属组:
sudo chgrp vboxusers /etc/vbox
sudo chmod 1775 /etc/vbox
最后,设置自动启动的数据库路径:
VBoxManage setproperty autostartdbpath /etc/vbox
创建系统服务
现在,我们将创建一个 systemd 服务以实现虚拟机的自动启动:
sudo nano /etc/systemd/system/autostart_vm@.service
在编辑器中添加以下内容:
[Unit]
Description=Guest VM %I
After=network.target vboxdrv.service
Before=runlevel2.target shutdown.target
[Service]
User=seele
Group=vboxusers
Type=forking
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/usr/bin/VBoxManage startvm %i --type headless
ExecStop=/usr/bin/VBoxManage controlvm %i acpipowerbutton
[Install]
WantedBy=multi-user.target
启用自动启动
查看可用的虚拟机列表,记住要启动的虚拟机名字:
VBoxManage list vms
然后,启用自动启动服务,将“Windows”替换为你要自动启动的虚拟机名称:
sudo systemctl enable autostart_vm@Windows
现在,重新启动系统,查看虚拟机是否会自动启动。