如今用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這個小軟件。但又多了一個累贅...