0%

windows10实现virtual box (vbox)虚拟机开机启动

日常经常使用 virtual box 中的 linux 虚拟机,但是每次开机后都要 手动打开 virtual box > 点击虚拟机 > 启动。重复而又繁琐

因此,在网上搜索了一下设置 vbox虚拟机开机自动启动的方法,在这里进行记录备份

原文链接:http://blog.ryjer.com/posts/a13fbf58fb.html

一、有界面开机启动

这样开机后会启动一个带有界面的虚拟机,Linux虚拟机不建议这样使用,只建议 windows 等带有 GUI虚拟机使用

创建桌面快捷方式

image-20210813120509134

然后,桌面上会多出如下 快捷方式

image-20210813130124998

添加到开机启动目录

windows 启动时,会自动运行 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 路径下的所有文件。所以,将上面的快捷方式复制到该目录下即可实现开机启动。

(注意:添加开机自启动是高权限操作,需要管理员权限。比如下图的授权提示)

image-20210813131209370

移动完成后,效果如下

image-20210813131441278

然后你就可以重启系统测试一下了

二、无界面开机启动

建议不使用 GUI 的 Linux 服务器虚拟器采用此方式

原理

我们将创建一个 **脚本 ** 来启动vbox虚拟机,而virtual box是支持 CLI 命令的。然后,像上面一样把这个脚本放到启动文件夹下即可

定位 virtual box 安装目录

在桌面图标上 右键 > 打开文件所在的位置(l),就可以定位到安装目录了

image-20210813140139174

安装目录打开如下

image-20210813140331832

该目录下有一个 VBoxManage.exe 程序,这就是我们的脚本要使用的程序

image-20210813140443776

创建脚本

首先,创建一个脚本程序,名字随意,拓展名为 .bat

我这里就命名为 vboxstart.bat ,我的脚本内容如下

1
2
3
4
@echo off
:: 无界面启动
cd /d "C:\Program Files\Oracle\VirtualBox"
VBoxManage.exe startvm "CentOS_7.9" --type headless

解释一下,第1行 @echo off

第2行 :: 无界面启动 是注释,没什么用

第3行 cd /d "C:\Program Files\Oracle\VirtualBox" 为打开virtual box 安装文件夹,可在刚刚 定位 virtual box 安装目录 下打开的文件夹上面复制得到(如下图)。注意用双引号引起来

image-20210813141002020

第4行为使用 VBoxManage.exe 启动虚拟机 CentOS_7.9,启动方式(--type)为无界面启动(headless) 。无界面启动是没有窗口的,适合启动 linux 虚拟机后使用 shell 工具连接登录

添加到开机启动文件夹

然后保存,移动到和上面一样的 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 文件夹下。

image-20210813141528907

三、无窗口开机自启动

上面的方式在开机时会产生一个 cmd 窗口,很烦人。与预期中的 无感 不符,百度了好几篇文章,实测下面的能用

创建直接自启动vbs脚本

自启动脚本,这是一个 vbs 格式文件。

随便起个名字放到上面的开机自启动文件夹内。我的名字是 startscript.vbs

1
2
Set ws = CreateObject("Wscript.Shell") 
ws.run "C:\vm\startvm.bat",vbhide

该脚本会执行另一个脚本(第2行),要是你想的话,下面可以多加几行,格式参照第2行

上面的是 C:\vm\startvm.bat。其内容如下

1
2
3
4
@echo off
:: 无界面启动
cd /d "C:\Program Files\Oracle\VirtualBox"
VBoxManage.exe startvm "rocky8" --type headless

这个脚本被间接执行,真正完成以无界面模式打开虚拟机 rocky8 的操作