天天看點

Ubuntu下遷移VirtualBox虛拟機

Win10和Ubuntu雙系統;

Virtualbox的一個虛拟機存放在F盤(ntfs分區)的VBox VM檔案夾下,檔案夾名為WinVista;

Virtualbox安裝在Ubuntu下,将F盤分區挂載在/media/Fpan。

【第一個問題:分區挂載後不能讀寫】

切換到wind10關閉快速啟動,重新開機進入ubuntu即可。

【Ubuntu下的操作】

1、給虛拟磁盤(也就是vdi檔案)更改一個新的UUID

cd /usr/lib/virtualbox/

sudo ./VBoxManage internalcommands sethduuid "/media/Fpan/VBox VM/WinVista/WinVista.vdi"

顯示:

UUID changed to: fe69f4b3-bfcb-493d-9dec-731e4f38741b

[如果不想要更改UUID,則可以在WinVista.vbox裡找到<HardDisk uuid="{……}"括弧中有舊的UUID(指令是:cat WinVista.vbox),不過不敢保證之前沒有被改動過,保險起見不如直接改一個。]

2、給虛拟機目錄改名

比如将WinVista改為WinVista-old,這樣做是為了将來建立的虛拟機能用回原來的名字。

3、建立新的虛拟機

打開Virtualbox,然後操作建立,新虛拟機仍儲存在“/media/Fpan/VBox VM”檔案夾下,具體操作在此不贅述。

這時會存在WinVista和WinVista-old兩個子檔案夾,一個是新的,一個是舊的。

4、将舊的WinVista.vdi移動覆寫新的,然後删除掉WinVista-old檔案夾。

建議在檔案界面拖拽操作就行了,選擇覆寫,因為舊的WinVista.vdi比較大,複制的話很費時間。

5、回到Virtualbox打開建立的WinVista虛拟機

錯誤提示:

UUID {fe69f4b3-bfcb-493d-9dec-731e4f38741b} of the medium '/media/Fpan/VBox VM/WinVista/WinVista.vdi' does not match the value {d4767a30-b2c3-476a-a548-0059282ba87e} stored in the media registry ('/home/xxxxx/.config/VirtualBox/VirtualBox.xml').

這時必須關閉Virtualbox

6、修改UUID

cd /media/Fpan/VBox VM/WinVista

sudo nano WinVista.vbox

找到:

<HardDisk uuid="{d4767a30-b2c3-476a-a548-0059282ba87e}"

 <AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">

          <Image uuid="{d4767a30-b2c3-476a-a548-0059282ba87e}"/>

将{d4767a30-b2c3-476a-a548-0059282ba87e}改為{fe69f4b3-bfcb-493d-9dec-731e4f38741b}

然後Ctrl+X,Y,回車儲存退出。

7、重新打開Virtualbox,開啟虛拟機,問題解決。

【總結】

相較于VMWare,Virtualbox虛拟機的遷移并不是簡單的将檔案夾拖動到别的分區然後輕按兩下打開。

這裡有兩個關鍵點,一個是虛拟磁盤(也就是vdi檔案)的UUID問題,另一個是WinVista.vbox中修改。

其實,隻要有虛拟磁盤(也就是vdi檔案)就夠了。建立一個同名虛拟機,然後将舊的vdi檔案覆寫掉新的,再将WinVista.vbox裡相關的UUID修改對就行了。