縮小虛擬機器的虛擬磁碟

因為開發軟體的需要,不少人會安裝虛擬機器來隨時準備測試開發好的軟體,或是特定環境下的互動。一般來說,會安裝個樣本環境,再透過複製方式來變更不同的虛擬機器,以減少啟動序號的損耗。
我是用微軟的 Microsoft Virtual Server 2005 R2 Ent. ,在安裝樣本環境時,會因為虛擬記憶體、安裝程式的暫存空間,導致安裝好的樣本環境龐大,並包含不必要的檔案,而動態大小的虛擬磁碟特性是會隨著使用逐漸增大,寫出過的空間就不會再被釋放,就變得很麻煩,因為太大的檔案也不能燒到光碟做備份。
我是用下面的步驟來處理檔案縮小,Win2003 的測試樣本環境從 10.7 GB 降到 6.8 GB ,WinXP 從 5.02 GB 降到 3.0 GB ,不使用 RAR 或 ZIP 壓縮,免得複製完還要解壓縮。
  1. 先把分配的記憶體調到足夠的大小,例如 1GB ,完成最新安全性更新後,刪除所有的暫存檔與復原點 (因為定期有光碟備分,就不需要復原點了) ,最後關閉虛擬記憶體,並確認虛擬記憶體的檔案完成刪除。
  2. 重新啟動虛擬機器,讓刪除虛擬記憶體的虛擬機器完成這個步驟。並關閉虛擬機器。
  3. 複製虛擬磁碟為新的檔案,在虛擬機器掛上這個虛擬磁碟,並建立一個空白的動態虛擬磁碟。
  4. 啟動虛擬機器並將空白的虛擬磁碟完成格式化,將複製的虛擬磁碟內容全部拷貝到新的空白磁碟 (省略目錄 System Volume Information),完成後關閉虛擬機器。
  5. 將原先的虛擬磁碟更名保存,新的虛擬磁碟更名為原先的虛擬磁碟,並將步驟 3 加入的虛擬磁碟移除參照,啟動虛擬機器測試,可能需要一次重新啟動虛擬機器。
  6. 檢查事件檢視簿,若發生 dbdtc 錯誤,依照事件檢視簿說明重新建置記錄檔即可,重新啟動虛擬機器,看看是否還有錯誤事件,完成後關閉虛擬機器,刪除舊的與複製的虛擬磁碟,即可燒錄。

由於是由原先的虛擬磁碟複製新檔來拷貝,所以不用擔心會有權限不一致或是檔案遭鎖定無法複製,此外從新複製一個虛擬磁碟時,會從前面往後新增,就可以把先前虛擬記憶體、安裝軟體的暫存空間釋放,當然這樣做過之後,一些 undelete 的軟體就不能跑了。

我想應該是有比較方便的軟體可以做這樣的動作,不過沒去搜尋,暫時就先這樣做,把問題解決讓檔案能燒錄即可。

廣告
Categories: 技術分享 | 4 則迴響

文章分頁導航

4 thoughts on “縮小虛擬機器的虛擬磁碟

  1. Tenyi

    第三步之後,可以掛上dos可開機ISO,用Ghost複製到新的vhd,做完關機,再把新的vhd設定成C,重新開機確定沒問題就可以刪除舊的vhd。在下實測過,用TrueImage開機ISO比Ghost還快一些,其他的方法都沒這種方法快。

    按讚數

  2. 子璉

    謝謝你提供資訊
    大家一起參考吧~
    ^_^

    按讚數

  3. 子璉

    今天試了 WinXP With SP2 + SP3 後,分別用我上面的方法跟下面的其它做法測試:
    我的做法 5.4 GB -> 3.8 GB
    其它做法 5.4 GB -> 4.3 GB
    估計是差在:System Volume Information 這個目錄
    我的做法複製時不處理這個目錄,所以會比較小。

    按讚數

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: