如今用VMware虚拟机的可能多数仍是使用的NAT网络方式,这个方式须要启动两个服务:vmnat和vmdhcp。若是让它们做为自动服务,开机就启动我的比较不喜欢。因此想办法让服务在用虚拟机的时候启动,退出的时候中止。
Windows的net start/stop命令能够启动中止服务。因此就写了个bat脚原本作这个事情:
vmstart.bat:
------------------
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就启动服务,运行虚拟机,而后会等虚拟机退出,以后中止服务。代价是背后有个cmd.exe在等待虚拟机退出,看不见,不影响什么。
可是在执行bat时会出现一下cmd的黑框框,想不让出现,因此我写了个几行的Win32程序调用ShellExecute()执行bat,并传SW_HIDE参数,就能够不显示黑框了。后来在网上发现别人用VBScript实现更简单:
runbat.vbs:
----------------------
dim wsh
if WScript.Arguments.Count <> 1 then
MsgBox "没有指定要执行的bat!"
WScript.Quit(-1)
end if
set wsh=WScript.CreateObject("WScript.Shell")
wsh.Run WScript.Arguments(0), SW_HIDE, FALSE
----------------------
好了,把这两个文件放到VMPlayer/VMware Station的目录下面,建立个快捷方式,写上:
runbat.vbs vmstart.bat
这就能够了,不过还能够把快捷方式的图标改为虚拟机的图标。
之后启动虚拟机打开这个快捷方式就好了。虽然麻烦了一下,但一劳永逸的事情何乐而不为 :)
P.S. 也能够把这个启动服务的方法用到其余软件上。
P.S. 使用VMPlayer是免费的,不须要注册码,但VMPlayer不能建立和修改虚拟机。
P.S. 新的VMPlayer 2和VMware Station v6体积大了很多,发现主要是里面的linux.iso大了不少,是linux guest的vmware-tools。以前用vmware v5的时候发现debian和ubuntu好像装vmware-tools编译会出错,提示版本不匹配什么的。用这个版本的好了。并且用vmware v5.x时个人XP在登陆时常常要等很久,用这些新版本好像没问题了。
P.S. vmware-tools:安装与uname -r版本一致的linux-headers,我是先dist-upgrade了一下才有匹配的。彷佛还要make include/linux/version.h生成这个文件。
P.S. 把vmware station v6的vmware.exe拷到VMPlayer的目录里去,就能够运行vmware.exe创建和修改虚拟机了,但不能运行,反正咱们平时用VMPlayer运行。
P.S. again... 我常常开了虚拟机而后用putty登陆虚拟机,由于我没装X window。(设置UTF-8编码,putty还能够控制台显示和输入汉字。推荐用fixed sys字体。)我所以想把虚拟机隐藏到托盘,听说VMware Station v6有这个功能,但VMPlayer没有 :( 。能够考虑下PowerMenu这个小软件。但又多了一个累赘...