日常经常使用 virtual box 中的 linux 虚拟机,但是每次开机后都要 手动打开 virtual box > 点击虚拟机 > 启动。重复而又繁琐
因此,在网上搜索了一下设置 vbox虚拟机开机自动启动的方法,在这里进行记录备份
原文链接:http://blog.ryjer.com/posts/a13fbf58fb.html
一、有界面开机启动
这样开机后会启动一个带有界面的虚拟机,Linux虚拟机不建议这样使用,只建议 windows 等带有 GUI虚拟机使用
创建桌面快捷方式
然后,桌面上会多出如下 快捷方式
添加到开机启动目录
windows 启动时,会自动运行 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
路径下的所有文件。所以,将上面的快捷方式复制到该目录下即可实现开机启动。
(注意:添加开机自启动是高权限操作,需要管理员权限。比如下图的授权提示)
移动完成后,效果如下
然后你就可以重启系统测试一下了
二、无界面开机启动
建议不使用 GUI 的 Linux 服务器虚拟器采用此方式
原理
我们将创建一个 **脚本 ** 来启动vbox虚拟机,而virtual box是支持 CLI 命令的。然后,像上面一样把这个脚本放到启动文件夹下即可
定位 virtual box 安装目录
在桌面图标上 右键
> 打开文件所在的位置(l)
,就可以定位到安装目录了
安装目录打开如下
该目录下有一个 VBoxManage.exe
程序,这就是我们的脚本要使用的程序
创建脚本
首先,创建一个脚本程序,名字随意,拓展名为 .bat
我这里就命名为 vboxstart.bat
,我的脚本内容如下
1 | @echo off |
解释一下,第1行 @echo off
第2行 :: 无界面启动
是注释,没什么用
第3行 cd /d "C:\Program Files\Oracle\VirtualBox"
为打开virtual box 安装文件夹,可在刚刚 定位 virtual box 安装目录 下打开的文件夹上面复制得到(如下图)。注意用双引号引起来
第4行为使用 VBoxManage.exe
启动虚拟机 CentOS_7.9
,启动方式(--type
)为无界面启动(headless
) 。无界面启动是没有窗口的,适合启动 linux 虚拟机后使用 shell 工具连接登录
添加到开机启动文件夹
然后保存,移动到和上面一样的 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
文件夹下。
三、无窗口开机自启动
上面的方式在开机时会产生一个 cmd 窗口,很烦人。与预期中的 无感 不符,百度了好几篇文章,实测下面的能用
创建直接自启动vbs脚本
自启动脚本,这是一个 vbs
格式文件。
随便起个名字放到上面的开机自启动文件夹内。我的名字是 startscript.vbs
1 | Set ws = CreateObject("Wscript.Shell") |
该脚本会执行另一个脚本(第2行),要是你想的话,下面可以多加几行,格式参照第2行
上面的是 C:\vm\startvm.bat
。其内容如下
1 | @echo off |
这个脚本被间接执行,真正完成以无界面模式打开虚拟机 rocky8
的操作