在VirtualBox裏複製VDI文件

 在VirtualBox的快速修復界面裏,可以隨時生成當前狀態的備份。當生成了備份之後,會在Snapshots目錄下創建一個新的VDI文件,之後對當前狀態所做的一切操作都將針對最新的VDI文件,而VDI目錄下的初始VDI文件就不會再改變了。

我一般在裝好Guest OS並做完打補丁、安裝常用軟件等操作後就創建一個備份,如果Guest OS發生了問題可以隨時恢復到乾淨的系統。但是有時需要在不同的軟件環境下做不同的事情,開始時我希望能用一個VDI文件生成兩個不同的備份並分別配置成不同的環境,但是發現VirtualBox的備份是線性的,也就是說只能針對當前狀態做一個備份,而恢復備份時也只能恢復到上一個備份的狀態,不能同時存在兩個不同的當前狀態。

沒有辦法,只能把初始的VDI文件複製出來一份用於另外的環境。但是很快發現,複製出來的VDI文件無法在虛擬介質管理器中註冊,因爲每個VDI文件都有一個唯一的uuid,而VirtualBox不允許註冊重複的uuid。

 

看了幫助文件後,發現VBoxManage有一個clonevdi方法可以克隆VDI文件,並賦予它一個新的uuid。具體用法是在命令行裏執行:

VBoxManage clonevdi 原始VDI文件名 新的VDI文件名

直接寫VDI文件名即可,不用指明VDI文件所在路徑,新的文件會在全局設定中指定的VDI目錄下創建。如果VDI文件名裏帶有空格,應該在兩端加上雙引號。VBoxManage命令位於VirtualBox安裝目錄下,缺省路徑是C:\Program Files\Sun\xVM VirtualBox。

用這個方法創建了新的VDI文件後,就可以正常註冊並在另一個虛擬機中使用了。

--------------------------------------------------------------------

個人使用以上辦法在Virtual Box4.2沒有work,又通過使用

VBoxManage.exe internalcommands sethduuid hd-file 的方式修改後才生效。

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands sethduuid D:\

temp\junsos-1\Olive11.1R1.14.vmdk

UUID changed to: 9bf464d8-22d0-48f3-bb2b-524c5b39a1c

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章