提示語句為: 打開硬盤文件D:\Virtualbox\debian9 - 副本.vdi 失敗.
明細(D) Cannot register the hard disk ‘D:\Virtualbox\debian9 - 副本.vdi’ {e0c7ce1c-049c-4f55-89b9-05e13b281319} because a hard disk ‘D:\Virtualbox\debian9.vdi’ with UUID {e0c7ce1c-049c-4f55-89b9-05e13b281319} already exists.
返回 代碼: E_INVALIDARG (0x80070057)
組件: VirtualBoxWrap
界面: IVirtualBox {9570b9d5-f1a1-448a-10c5-e12f5285adad}
被召者 RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
是因為uuid重復,需要修改。
新建批處理文件文件 sethduuid.bat,復制下面代碼,保存運行。
注意:其中的變量 vboxmanagepath 和 hdvdipath 需要修改為實際位置。
@echo off :: 直接復制vdi, 會提示虛擬電腦控制台-錯誤 :: 根據錯誤提示可知,無法直接使用復制過來的vdi文件作為已有的虛擬硬盤文件原因是同一主機下兩個vdi文件的UUID重復。 :: 因此修改其中一個vdi文件的UUID即可解決。 :: 我們通過VBoxManage + internalcommands sethduuid這一子命令加vdi文件所在路徑來對拷貝后vdi文件的UUID進行修改。 Rem 參考於 https://www.linuxidc.com/Linux/2017-05/144372.htm :: 設置虛擬機安裝VBoxManage所在的位置 set vboxmanagepath="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" :: 設置需要改變uuid虛擬硬盤的位置 set hdvdipath="D:\Virtualbox\debian9.vdi" echo= %vboxmanagepath% internalcommands sethduuid %hdvdipath% pause
本文參考於 https://www.linuxidc.com/Linux/2017-05/144372.htm
