一、前言:
ubuntu上的virtualbox中的虛擬機如果關機不當會導致整個虛擬機壞掉,而且采用各種debug方式都難以讓它重新啟動。這時你只能用之前備份的各個VDI文件來恢復系統了。還有另一種場景就是你重新裝了一個virtualbox,想把老的另一個virtualbox中的虛擬機包括各個快照節點在新的virtualbox中重建。網上也有資料介紹,不過往往只有文字,我看了很久都沒搞定。最終決定自己嘗試,下面是成功的圖文教程:
二、步驟:
2.0、首先看老的虛擬機的快照,拍個照保存下他們UUID的樹狀結構(這個非常重要!為了接下來重建快照樹!):
2.1、首先找到老的virtualbox文件夾:
2.2、發現之前壞的win7-64文件夾,並找到win7-64.vdi和Snapshots中的*.vdi文件
2.3、將win7-64.vdi和Snapshots剪切到其他臨時文件夾下,然后完全刪除virtualbox中的win7-64虛擬機,刪除之后去VirtualBox VMs文件夾下去確認win7-64文件夾已經沒有。
2.4、在virtualbox中新建一個同名的win7-64虛擬機,到達下圖步驟時:①去VirtualBox VMs文件夾下發現virtualbox已經新建了一個空的win7-64文件夾;②把之前剪切到臨時文件夾下的win7-64.vdi和Snapshots剪切到win7-64中;③然后在新建虛擬電腦時,選擇使用已有的虛擬硬盤文件,進入VirtualBox VMs/win7-64下選擇win7-64.vdi文件;④接下來就一直點直到建立新的虛擬電腦。
2.5、我們仿照2.0老的快照樹的結構,在新的win7-64中新建成結構一樣的樹狀結構(名字可以不同):
2.6、找到新建win7-64文件夾下的win7-64.vbox文件:
2.7、找到win7-64.vbox中的下面4個uuid部分,根據2.0截圖的uuid,把對應的uuid替換成老的(用replace all),另存為到其他臨時文件夾下~
2.8、關機,刪除VirtualBox VMs/win7-64/Snapshots下的無用的vdi文件(文件名就是uuid),用2.7中保存的臨時vbox文件替換win7-64.vbox(因為virtual關機這個會更新,所以上一步需要備份)。這樣再打開虛擬機,就完成了~
三、甜點:
我的所有異常解決都放在該分類下,保存一些要花一點時間才能搞定的異常問題解決方案。
_==/ i i \==_
/XX/ |\___/| \XX\
/XXXX\ |XXXXX| /XXXX\
|XXXXXX\_ _XXXXXXX_ _/XXXXXX| @beautifulzzzz 2016-01-14 continue~
XXXXXXXXXXXxxxxxxxXXXXXXXXXXXxxxxxxxXXXXXXXXXXX e-mail:beautifulzzzz@qq.com
|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|
XXXXXX/^^^^"\XXXXXXXXXXXXXXXXXXXXX/^^^^^\XXXXXX
|XXX| \XXX/^^\XXXXX/^^\XXX/ |XXX|
\XX\ \X/ \XXX/ \X/ /XX/
"\ " \X/ " /"