VMware虚拟机服务的vmware-hostd自动启动和中止

安装了虚拟机 任务管理器会出现vmware-hostd.exe  占用了80端口,致使xampp打不开,因此就想关闭vmware,解决方案以下:
开始——运行——services.msc,找到VM打头的服务,改成手动,并中止服务。
如下内容转自:
http://bbs.cfanclub.net/thread-497122-1-1.html
其中 要用VM虚拟机的时候  VMware Authorization Service是必须开启的 VMware DHCP Service、VMware NAT Service是跟网络有关的。不开启虚拟机用不了网络。VMware Agent Service和VMware USB Arbitration Service设置为手动就能够,用虚拟机的时候通常也不用启动。还有2个网络链接 VMware Network Adapter VMnet一、VMware Network Adapter VMnet8
这两个要是不用虚拟机的话也用不到。一会就和那些服务一块儿开启和禁止。
下面说语句
启动中止服务的语句 net start/stop \"服务名称\" (ps:填写的是服务名称 不是显示名称这个别搞错了)
开启禁止网络链接的语句 netsh interface set interface \"网络链接名\" enable/disable
(\"\"这个引号最好带上,为了不没必要要的麻烦。)
也就是说 简单的 代码就是
启动的
  1. @echo off
  2. echo 正在启用服务...
  3. net start \"VMAuthdService\"
  4. net start \"VMnetDHCP\"
  5. net start \"VMware NAT Service\"
  6. echo 正在启用网络链接...
  7. netsh interface set interface \"VMware Network Adapter VMnet1\" enable
  8. netsh interface set interface \"VMware Network Adapter VMnet8\" enable
  9. echo 网络链接VMware Network Adapter VMnet一、VMware Network Adapter VMnet8启动成功...
  10. pause
复制代码
禁止的
  1. @echo off
  2. echo 正在禁用服务服务...
  3. net stop \"VMAuthdService\"
  4. net stop \"VMnetDHCP\"
  5. net stop \"VMware NAT Service\"
  6. echo 正在禁用网络链接...
  7. netsh interface set interface \"VMware Network Adapter VMnet1\" disable
  8. netsh interface set interface \"VMware Network Adapter VMnet8\" disable
  9. echo 网络链接VMware Network Adapter VMnet一、VMware Network Adapter VMnet8禁用成功...
  10. pause
复制代码
echo 后面加的是你想说的话。。。这些就随便了。
总之代码简单来讲就是这样了。
这样两个简单的批处理文件,就解决这些问题了。
(PS:若是Win7系统下运行请右键选择 以管理员身份运行 不然将会出现错误5!)
若是还麻烦能够把这两个合成一个。
下面是我如今用的
  1. @echo off
  2. for /f \"skip=3 tokens=4\" %%i in ('sc query \"VMAuthdService\"') do set \"zt=%%i\" &goto :next
  3. :next
  4. if /i \"%zt%\"==\"RUNNING\" (
  5. echo 服务VMware Authorization Service正在运行
  6. ) else (
  7. echo 服务VMware Authorization Service已中止
  8. )
  9. for /f \"skip=3 tokens=4\" %%i in ('sc query \"VMnetDHCP\"') do set \"zt=%%i\" &goto :next
  10. :next
  11. if /i \"%zt%\"==\"RUNNING\" (
  12. echo 服务VMware DHCP Service正在运行
  13. ) else (
  14. echo 服务VMware DHCP Service已中止
  15. )
  16. for /f \"skip=3 tokens=4\" %%i in ('sc query \"VMware NAT Service\"') do set \"zt=%%i\" &goto :next
  17. :next
  18. if /i \"%zt%\"==\"RUNNING\" (
  19. echo 服务VMware NAT Service正在运行
  20. ) else (
  21. echo 服务VMware NAT Service已中止
  22. )
  23. pause
  24. echo 1:启用VM虚拟机服务(VMware Authorization Service、VMware DHCP Service、VMware NAT Service)及网络链接(VMware Network
  25. Adapter VMnet一、VMware Network Adapter VMnet8)
  26. echo 2:禁用VM虚拟机服务(VMware Authorization Service、VMware DHCP Service、VMware NAT Service)及网络链接(VMware Network
  27. Adapter VMnet一、VMware Network Adapter VMnet8)
  28. choice /c:12 /m \"根据选项请选择...\"
  29. if errorlevel 2 goto two
  30. if errorlevel 1 goto one
  31. :one
  32. echo 正在启用服务...
  33. net start \"VMAuthdService\"
  34. net start \"VMnetDHCP\"
  35. net start \"VMware NAT Service\"
  36. echo 正在启用网络链接...
  37. netsh interface set interface \"VMware Network Adapter VMnet1\" enable
  38. netsh interface set interface \"VMware Network Adapter VMnet8\" enable
  39. echo 网络链接VMware Network Adapter VMnet一、VMware Network Adapter VMnet8启动成功...
  40. echo 按任意键退出...
  41. pause>nul
  42. exit
  43. :two
  44. echo 正在禁用服务服务...
  45. net stop \"VMAuthdService\"
  46. net stop \"VMnetDHCP\"
  47. net stop \"VMware NAT Service\"
  48. echo 正在禁用网络链接...
  49. netsh interface set interface \"VMware Network Adapter VMnet1\" disable
  50. netsh interface set interface \"VMware Network Adapter VMnet8\" disable
  51. echo 网络链接VMware Network Adapter VMnet一、VMware Network Adapter VMnet8禁用成功...
  52. echo 按任意键退出...
  53. pause>nul
  54. exit
复制代码
加了个 检测服务是否开启 都是一些简单的语句。
若是不爱本身写的 能够把 代码直接复制到记事本里 把 文件名改成 VMware虚拟机服务、网络链接.bat 就OK。
=======================================================================================
 
如今用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这个小软件。但又多了一个累赘...
相关文章
相关标签/搜索