Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55012
  • 博文数量: 12
  • 博客积分: 480
  • 博客等级: 下士
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-15 13:42
文章分类
文章存档

2010年(3)

2009年(2)

2008年(7)

我的朋友

分类: WINDOWS

2008-03-27 19:59:33

现在用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这个小软件。但又多了一个累赘...
 
谁有什么使用VMware虚拟机的问题可以提出来大家商量一下 :)
阅读(11523) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~