You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04 LTS Desktop下如何设置VirtualBox虚拟机开机自动启动?

Ubuntu 22.04 LTS Desktop下如何设置VirtualBox虚拟机开机自动启动?

我完全懂你折腾半天没搞定的崩溃感!其实Ubuntu 22.04上给VirtualBox虚拟机设开机自启真没那么玄乎,给你两种亲测有效的方法,选顺手的来就行:

方法一:图形界面设置(适合不想敲命令的朋友)

  • 打开VirtualBox,找到你要设置的虚拟机,右键点击它选择「设置」
  • 在设置窗口切换到「系统」选项卡,调整「启动顺序」把「硬盘」拖到最顶端,确保虚拟机优先从自身硬盘启动,避免启动时卡住
  • 返回VirtualBox主界面,点击顶部菜单栏的「文件」→「首选项」
  • 在首选项窗口选择「常规」→「启动」,先勾选「启动时启动VirtualBox」,然后点击右侧的「添加」按钮,把目标虚拟机加入自启列表;还可以设置启动延迟(比如30秒),让系统先加载完必要服务再启动虚拟机,减少冲突概率
  • 点击「确定」保存设置,重启系统测试即可

方法二:systemd服务配置(更稳定,适合图形方法失效的情况)

如果图形界面的方法不管用,用systemd配置是更可靠的方案:

  1. 先打开终端,用以下命令确认你的虚拟机准确名称(和VirtualBox里显示的完全一致):
    VBoxManage list vms
  2. 创建一个用户级的systemd服务文件,比如(把MyVM换成你的虚拟机名称):
    nano ~/.config/systemd/user/vbox-MyVM.service
  3. 在文件中粘贴以下内容,注意替换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
  1. 保存退出后,重新加载systemd配置:
    systemctl --user daemon-reload
  2. 启用该服务,设置为开机自启:
    systemctl --user enable vbox-MyVM.service
  3. 可以先手动启动服务测试是否正常:
    systemctl --user start vbox-MyVM.service
    如果能正常启动虚拟机,重启系统后就会自动运行了

注意事项

  • 不管用哪种方法,确保虚拟机是正常关机状态,不要是挂起状态,否则开机自启可能出现异常
  • 使用systemd方法时,虚拟机名称一定要和VirtualBox里的完全一致,拼写错误会导致服务启动失败
  • 如果之前在「启动应用程序」里添加过虚拟机自启命令,建议先删除,避免多种自启方式冲突

备注:内容来源于stack exchange,提问作者John

火山引擎 最新活动