如果我们在打开过虚拟机,我们如果要正常关闭本机,就点睡眠,本机系统就会正常关闭。现在用VMware虚拟机的可能多数还是使用的NAT网络方式,这个方式需要启动两个服务:vmnat和vmdhcp。如果让它们作为自动服务,开机就启动比较不喜欢。所以想办法让服务在用虚拟机的时候启动,退出的时候停止。
Windows的net start/stop命令可以启动停止服务。所以就写了个bat脚本来做这个事情:
vmstartbat:
------------------
net start "VMware DHCP Service"
net start "VMware NAT Service"
vmplayer
net stop "VMware DHCP Service"
net stop "VMware NAT Service"
-------------------
记得把那两个服务(vmnat和vmdhcp)改成手动,可以把vmauth这个禁用掉。
用的VMplayer,你用VMware Station就改成vmware。
这样子,执行这个bat就启动服务,运行虚拟机,然后会等虚拟机退出,之后停止服务。代价是背后有个cmdexe在等待虚拟机退出,看不见,不影响什么。
但是在执行bat时会出现一下cmd的黑框框,想不让出现,所以写了个几行的Win32程序调用ShellExecute()执行bat,并传SW_HIDE参数,就可以不显示黑框了。后来在网上发现别人用VBScript实现更简单:
runbatvbs:
----------------------
dim wsh
if WScriptArgumentsCount 1 then
MsgBox "没有指定要执行的bat!"
WScriptQuit(-1)
end if
set wsh=WScriptCreateObject("WScriptShell")
wshRun WScriptArguments(0), SW_HIDE, FALSE
----------------------
把这两个文件放到VMPlayer/VMware Station的目录下面,创建个快捷方式,写上:
runbatvbs vmstartbat
这就可以了,不过还可以把快捷方式的图标改成虚拟机的图标。
以后启动虚拟机打开这个快捷方式就行了。虽然麻烦了一下,但一劳永逸的事情何乐而不为 :)
PS 也可以把这个启动服务的方法用到其他软件上。
PS 使用VMPlayer是免费的,不需要注册码,但VMPlayer不能创建和修改虚拟机。
PS 新的VMPlayer 2和VMware Station v6体积大了不少,发现主要是里面的linuxiso大了很多,是linux guest的vmware-tools。之前用vmware v5的时候发现debian和ubuntu好像装vmware-tools编译会出错,提示版本不匹配什么的。用这个版本的好了。而且用vmware v5x时我的XP在登录时经常要等好久,用这些新版本好像没问题了。
PS vmware-tools:安装与uname -r版本一致的linux-headers,先dist-upgrade了一下才有匹配的。似乎还要make include/linux/versionh生成这个文件。
PS 把vmware station v6的vmwareexe拷到VMPlayer的目录里去,就可以运行vmwareexe建立和修改虚拟机了,但不能运行,反正平时用VMPlayer运行。1、在虚拟机设置界面进行设置,点击虚拟机-设置即可看见虚拟机设置界面。
2、虚拟机在运行Windows系统的时候,我们需要特别注意进行显示器的设置,点击显示器,在右侧页面的设置中,勾选3D图形。
3、在虚拟机设置页面,点击切换至选项页面,点击高级。在右侧页面将抓取的输入内容设置为高,同时勾选禁用内存页面修整。
4、开机或重启,进入BIOS界面,打开高级设置—CPU设置—虚拟化技术,将disable设置为enable后,按F10保存设置即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)