windows开机自动启动目标虚拟机(关机自动关闭),并检测是否可通信

1、设置自动开启关闭

  1. 可以在虚拟机目录创建两个批处理文件(如图)
    windows开机自动启动目标虚拟机(关机自动关闭),并检测是否可通信_第1张图片
    它们的内容分别是

start_vm.bat

"F:\VMware Workstation\vmrun.exe" start "G:\Vmware VMs\Ubuntu18\Ubuntu18.04.vmx" nogui

其中vmrun.exe是vmware安装目录下的一个程序;
最后不加nogui的话,就会打开vmware的界面
stop_vm.bat

"F:\VMware Workstation\vmrun.exe" stop  "G:\Vmware VMs\Ubuntu18\Ubuntu18.04.vmx" soft
  1. 按win+r,输入gpedit.msc,按如图顺序选择start_vm.bat,stop_vm.bat在最开始双击注销进行选择即可
    windows开机自动启动目标虚拟机(关机自动关闭),并检测是否可通信_第2张图片

2、设置检测方式

  1. 编写一个python脚本用来ping目标虚拟机的ip,代码如下
import sys

from ping3 import verbose_ping


if __name__ == "__main__":
    verbose_ping(sys.argv[1], 0, 2)  # 0表示无限ping下去,2表示每隔两秒ping一次

这里不写死ip是因为虚拟机ip可能变,后面通过参数传入比较灵活

  1. 然后把它用pyinstaller打包成exe程序
    pyinstaller.exe -F -n ping_vm ping.py
  2. 新建快捷方式
    按win+r,输入shell:startup回车,在出来的目录里面右键,点击新建 > 快捷方式。对象位置就选择第二步中生成的ping_vm.exe程序,之后一直下一步即可
    exe程序下载:
    链接:https://pan.baidu.com/s/117LrLcPOE67ef7P73hIPrQ?pwd=seny
    提取码:seny
  3. 修改快捷方式
    右键点击快捷方式,点击属性,在目标后面添加一个空格和虚拟机的ip,保存即可
    windows开机自动启动目标虚拟机(关机自动关闭),并检测是否可通信_第3张图片

注:

都完成后,现在电脑开机,就会在后台自动启动目标虚拟机,并打开一个终端一直ping目标ip,等到虚拟机启动完成,并可通信时,终端日志就会正常输出ping的时间,而不是error或者timeout。
现在就不用一开机操作者操作那了,多两三分钟摸鱼时间,只要等到ping窗口告诉网络通了,就可以直接打开vscode远程项目目录了。

本来最开始检测工具也是通过添加登录脚本来实现的,但是怎么搞都无效,只会自动启动虚拟机,不会出现检测ping窗口,无奈只能通过修改开机启动快捷方式来实现了

你可能感兴趣的:(虚拟机自动化)