【來自同事筆記分享】
背景:很多時候宿主機會因為各種原因導致關機或重啟,但是里面配置的各個虛擬機不會隨宿主機啟動而啟動,而是需要人為的再去一個一個的操作,無疑會對工作造成一定的影響
因此,正文來了:
VMware虛擬機中有個自帶的vmrun命令,該命令不論是windows還是linux都是支持的,主要語法如下:
基本命令:
# vmrun -T ws start "/opt/VMware/win2k8r2.vmx" nogui ---啟動無圖形界面虛擬機 (-T 是區分宿主機的類型,ws|server|server1|fusion|esx|vc|player,可能比較常用的是ws、esx和player,不過我沒有加-T在Workstation也能正常運行, 可能esx和server就需要了)
# vmrun start "/opt/VMware/win2k8r2.vmx" gui ---啟動帶圖形界面虛擬機
# vmrun stop "/opt/VMware/win2k8r2.vmx"hard | soft ----強制關閉虛擬機(相當於直接關電源) | 正常關閉虛擬機
# vmrun reset "/opt/VMware/win2k8r2.vmx" hard | soft ----冷重啟虛擬機 | 熱重啟虛擬機
# vmrun suspend "/opt/VMware/win2k8r2.vmx" hard | soft ---掛起虛擬機(可能相當於休眠)
# vmrun pause "/opt/VMware/win2k8r2.vmx" ---暫停虛擬機
# vmrun unpause "/opt/VMware/win2k8r2.vmx" ---停止暫停虛擬機
# vmrun list ---列出正在運行的虛擬機
# vmrun -T ws snapshot "/opt/VMware/win2k8r2.vmx" snapshotName ----創建一個快照
# vmrun -T ws reverToSnapshot "/opt/VMware/win2k8r2.vmx" snapshotName -----從一個快照中恢復虛擬機
# vmrun -T ws listSnapshots "/opt/VMware/win2k8r2.vmx" ----列出虛擬機快照數量及名稱
# vmrun -T ws deleteSnapshot "/opt/VMware/win2k8r2.vmx" snapshotName ---刪除一個快照
示例:
1、windows
首先我們可以用vmrun list查出要目前正在運行的虛擬機
然后我們可以新建一個bat腳本,然后添加系統開機啟動就可以,腳本如下
然后把腳本放到如下目錄(win10親測可用),有其他啟動方法也可以用
C:\Users\xuwb\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2、linux
一樣先查出原來機器上運行的虛擬機
然后,把啟動命令加入到/etc/rc.d/rc.local,如下,centos6.5親測可用
3、備注
1)虛擬機vmx的路徑支持空格及其他特殊字符,start命令中不需要轉義,直接復制list顯示的就可以
2)nogui這個一定要加,否則開機起不起來
3)這種方式啟動的是無圖形界面的,如果要看圖形界面,自己再手工打開VMware即可