Ubuntu 22.04 LTS Desktop下如何设置VirtualBox虚拟机开机自动启动?
Ubuntu 22.04 LTS Desktop下如何设置VirtualBox虚拟机开机自动启动?
我完全懂你折腾半天没搞定的崩溃感!其实Ubuntu 22.04上给VirtualBox虚拟机设开机自启真没那么玄乎,给你两种亲测有效的方法,选顺手的来就行:
方法一:图形界面设置(适合不想敲命令的朋友)
- 打开VirtualBox,找到你要设置的虚拟机,右键点击它选择「设置」
- 在设置窗口切换到「系统」选项卡,调整「启动顺序」把「硬盘」拖到最顶端,确保虚拟机优先从自身硬盘启动,避免启动时卡住
- 返回VirtualBox主界面,点击顶部菜单栏的「文件」→「首选项」
- 在首选项窗口选择「常规」→「启动」,先勾选「启动时启动VirtualBox」,然后点击右侧的「添加」按钮,把目标虚拟机加入自启列表;还可以设置启动延迟(比如30秒),让系统先加载完必要服务再启动虚拟机,减少冲突概率
- 点击「确定」保存设置,重启系统测试即可
方法二:systemd服务配置(更稳定,适合图形方法失效的情况)
如果图形界面的方法不管用,用systemd配置是更可靠的方案:
- 先打开终端,用以下命令确认你的虚拟机准确名称(和VirtualBox里显示的完全一致):
VBoxManage list vms - 创建一个用户级的systemd服务文件,比如(把
MyVM换成你的虚拟机名称):nano ~/.config/systemd/user/vbox-MyVM.service - 在文件中粘贴以下内容,注意替换
YourVMName为你实际的虚拟机名称:
[Unit] Description=VirtualBox Auto Start VM: YourVMName After=graphical.target [Service] Type=simple # 后台启动虚拟机(不显示VirtualBox窗口),如果想开机直接弹出窗口,去掉 --type headless 参数 ExecStart=/usr/bin/VBoxManage startvm "YourVMName" --type headless # 关机时优雅关闭虚拟机 ExecStop=/usr/bin/VBoxManage controlvm "YourVMName" acpipowerbutton # 虚拟机意外崩溃时自动重启(不需要可删除此行) Restart=on-failure [Install] WantedBy=graphical.target
- 保存退出后,重新加载systemd配置:
systemctl --user daemon-reload - 启用该服务,设置为开机自启:
systemctl --user enable vbox-MyVM.service - 可以先手动启动服务测试是否正常:
systemctl --user start vbox-MyVM.service
如果能正常启动虚拟机,重启系统后就会自动运行了
注意事项
- 不管用哪种方法,确保虚拟机是正常关机状态,不要是挂起状态,否则开机自启可能出现异常
- 使用systemd方法时,虚拟机名称一定要和VirtualBox里的完全一致,拼写错误会导致服务启动失败
- 如果之前在「启动应用程序」里添加过虚拟机自启命令,建议先删除,避免多种自启方式冲突
备注:内容来源于stack exchange,提问作者John




