我知道在 Linux 主機上克隆 VirtualBox 機器的兩種方法,一種是使用 VirtualBox gui 並作為裝置匯出並重新匯入(在 VirtualBox 的檔案選單中)。
另一種是僅複製虛擬磁碟容器檔案:
VBoxManage clonevdi /mnt/md1/original/root-fs.vdi /mnt/md1/cloned/root-fs.vdi
(取自http://forums.virtualbox.org/viewtopic.php?p=853#p858)
編輯:這似乎不適用於已經是 ~/VirtualBox/VirtualBox.xml 一部分的 VDI 文件,我收到一條錯誤訊息:
錯誤:無法使用 UUID {96a1462b-c30a-4911-a954-d9093122f083} 註冊硬碟“/mnt/md1/original/root-fs.vdi”,因為硬碟“/mnt/md1/original/root-ID”。 96a1462b-c30a-4911-a954-d9093122f083} 的vdi' 已存在於媒體登錄中('/home/mit/.VirtualBox/VirtualBox.xml')
之後我必須建立一個新的虛擬機器並使用複製的虛擬磁碟容器。
是否也可以透過使用檔案系統命令複製虛擬磁碟容器檔案和設定檔來複製虛擬機,然後手動完成其餘操作?
我必須手動編輯 ~/VirtualBox/VirtualBox.xml 並插入新磁碟和新機器:
我可以只編寫 UUID 嗎?
我非常喜歡這種核心的做事方法,因為它允許我自由、快速地備份、恢復、移動或複製機器。或者有更好的方法來做到這一點嗎?
答案1
您可以使用以下命令更改 vdi 的 UUID
VBoxManage internalcommands setvdiuuid disk.vdi
或者如果您使用的是 VBox V4.x 至少到 4.0.10
VBoxManage internalcommands sethduuid disk.vdi
然後使用 GUI 匯入新的“唯一”磁碟。
如果您想克隆特定的 VirtualBox 機器,那麼您最好製作一個設備然後使用它。若要建立設備,請使用 GUI 匯出設備功能或vboxmanage export
命令。然後可以使用 GUI 導入設備功能或命令導入生成的設備vboxmanage import
。
答案2
或者,您可以使用機器 ID 的正確 uuid 編輯「Virtualbox.xml」安裝檔。對於我將虛擬機器從一台主機移動到另一台主機非常有用(兩台主機都是 64 位元 Linux,不知道它是否可以移動到 Windows 或 Mac),請參閱http://sickel.net/blogg/?p=1581了解詳情。
即使原始主機上的 vboxmanager 由於某種原因無法運行,該方法也有效。