天天看點

vmrun操作vmware workstation虛拟機

    作者遇到伺服器斷電後虛拟機需要手動去啟動的問題,通過網上資料查詢,發現vmrun指令行能滿足虛拟機在無人操作下所有服務正常操作,本文主要講述通過vm指令行如何啟動、挂起、關閉、重新開機、運作虛拟機裡面的程式等,同時這些指令均支援遠端伺服器。可在大量伺服器叢集下發揮重要的作用。

    很多人都找不到vmrun指令如何使用,即使你安裝了vmware workstation,vmrun也不會直接執行,vmrun為vmware workstation自帶的虛拟機指令行操作,vmrun在vmware workstation的安裝目錄下,可通過右鍵選擇vmware workstation啟動快捷方式,右鍵檢視檔案所在路徑,找到vmrun.exe,通過cmd執行vmrun相關指令。如果你想要cmd支援vmrun,可以将vmrun.exe添加到環境變量path中。

一、vmrum基本指令

# 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 列出正在運作的虛拟機

# ps aux | grep vmx 另一種檢視正在運作虛拟機的方法

# 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 删除一個快照

其它指令可通過vmrun -help檢視

二、Examples:

在實體機啟動一個虛拟機

vmrun -T ws start "c:\my VMs\myVM.vmx"

在實體機關閉一個虛拟機

   vmrun -T esx -h https://myHost.com/sdk -u hostUser -p hostPassword stop "[storage1] vm/myVM.vmx"

Running a program in a virtual machine with Workstation on a Windows host with Windows guest

在實體機執行一個虛拟機裡面的程式,注意,guestUser和guestPassword分别為虛拟機使用者名和密碼

   vmrun -T ws -gu guestUser -gp guestPassword runProgramInGuest "c:\my VMs\myVM.vmx" "c:\Program Files\myProgram.exe"

在實體機執行一個遠端虛拟機裡面的程式,注意,guestUser和guestPassword分别為虛拟機使用者名和密碼

   vmrun -T server -h https://myHost.com:8333/sdk -u hostUser -p hostPassword -gu guestUser -gp guestPassword runProgramInGuest "[standard] vm/myVM.vmx" /usr/bin/X11/xclock -display :0

建立虛拟機快照

   vmrun -T ws snapshot "c:\my VMs\myVM.vmx" mySnapshot

恢複快照

   vmrun -T ws revertToSnapshot "c:\my VMs\myVM.vmx" mySnapshot

删除快照

   vmrun -T ws deleteSnapshot "c:\my VMs\myVM.vmx" mySnapshot

啟用共享檔案夾

   vmrun -T ws enableSharedFolders "c:\my VMs\myVM.vmx"

三、示例代碼:

@Rem 随實體機的開機開機

@Rem 下面的指令行組成:
@Rem 第一個參數為vmware workstation vmrun所在路徑,可通過右鍵選擇vmware workstation啟動快捷方式,右鍵檢視檔案所在路徑
@Rem 第二個參數start為啟動關鍵字,其它關鍵字有stop、reset、suspend、pause、unpause等,vmware workstation提供了很多的指令,詳情可通過C:\Program Files (x86)\VMware\VMware Workstation\vmrun -help方式進行檢視
@Rem 第三個參數表示已建好的虛拟機vmx所在的路徑
@Rem 第四個參數nogui參數表示在背景運作虛拟機

@Rem 啟動虛拟機,如果有多個虛拟機,重複下面的指令即可
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" start "G:\VMWare\Windows 10 x64\Windows 10 x64.vmx" nogui

@Rem 運作虛拟機中的一個程式
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" -T ws -gu administrator -gp passwordforguest runProgramInGuest "G:\VMWare\Windows 10 x64\Windows 10 x64.vmx" "C:\Users\wangxch\Desktop\WebStorm-10.0.5.exe"
           

四、開機自啟動,關機自動挂起虛拟機

步驟一:執行“gpedit.msc”,逐級打開“本地計算機政策”-->“計算機配置”-->“Windows設定”-->“腳本”,在視窗右欄中點選“關機”。

步驟二:把需要執行的關機或挂起指令寫入一個 .bat 批處理程式中,添加進去。

五、參考資料

http://blog.csdn.net/devper/article/details/54089342

http://blog.csdn.net/w616589292/article/details/44566127

繼續閱讀