在linux系統中安裝了vmware的workstation。配置了幾個虛擬機,一般虛擬機文件默認位置爲當前用戶的家目錄下的vmware目錄中。linux
若是不當心刪除了總體的vmware目錄,應該怎麼辦。windows
首先,咱們要冷靜。spa
而後咱們要肯定虛擬機是否還在運行。(在內存中運行着)rest
再而後咱們要把虛擬機文件從運行文件中讀取出來blog
最後,咱們要重作虛擬機vmdk,而後啓動。進程
一般狀況下windows的虛擬機可能更好的恢復,可是linux系統因爲會檢測硬件變化,因此恢復起來沒那麼容易。內存
本文講解一下如何恢復windows虛擬機。虛擬機
首先,你要肯定你的虛擬機文件的確被刪除了。肯定方法。io
一、ps命令查看下你的虛擬機文件存放的位置(虛擬機必須還在運行中),命令爲ps -ef|grep vmware重構
這時候咱們能看到還在運行中的虛擬機。咱們這裏面有兩個,主要看。vmx結尾的便可
路徑分別爲/mnt/vmware/Svn/Svn.vmx及/library/vmware/Svn/Svn.vmx
二、肯定咱們要恢復的虛擬機,一般每一個虛擬機都會取不一樣的名字,不像當前截圖中那樣就一個名字。
肯定咱們要恢復的虛擬機名字後。例如咱們要恢復/mnt這個目錄下的虛擬機。他的進程ID爲36908
咱們進入/proc/36908/fd目錄,找到delete項,命令爲ll -a|grep delete
這些deleted項就是咱們須要恢復的內容,其中有用的內容爲vmdk結尾的文件。
新建目錄/restore,命令 mkdir /restore
而後逐條將這些vmdk恢復到這個目錄中,恢復方法很簡單,咱們只要拷貝vmdk文件前面對應的數字便可。
例如我要恢復Svn-s001.vmdk,我只要cp 109 /restore/Svn-S001.vmdk
而後依次將全部的vmdk恢復完畢。
檢查/restore目錄是否有所有的vmdk文件,若是數量和大小都沒有問題,那麼恭喜你,你已經成功了一半
三、重構vmdk和虛擬機
有了vmdk文件還不夠,咱們還要將它導入到虛擬機中並啓動起來,這樣纔算真正的恢復了一個虛擬機。
若是你的條件知足的話,我建議你將這些文件下載下來,在本地進行恢復操做。
打開本地vmware workstation控制檯。
新建虛擬機,其餘無所謂,硬盤必定要和原來的硬盤大小一致。
若是你不記得原來的硬盤大小,這可能會有一些麻煩。不過有一個簡單的方法,可是不通用。
那就是計算vmdk文件的數量。
像我要恢復的這個。
一共有26個vmdk文件,每一個文件4G大小(默認的最大文件),那麼這個虛擬機按照我分配空間的原則,26*4=104.取整就是100G。
新建一個100G的虛擬機,建立時候的位置必定要記好。
另外建立的虛擬機的位置和名字必定要和原來的匹配。
例如你導出的虛擬機文件爲Svn-s***.vmdk,那麼你重建的虛擬機的名字就應該是Svn就是-s前面的。
就是這樣。建立好以後,咱們不要啓動虛擬機,必定不要啓動。。
找到新建立的虛擬機文件夾,刪除Svn-s*.vmdk,若是你的計算沒錯,必定也是26個。
將你備份出來的vmdk文件拷貝到這個目錄中。
啓動虛擬機。。
恭喜你,你在等待一段時間後,應該能夠看到啓動界面。
關於如何恢復linux的虛擬機,咱們會在之後的文章中描述。