虛擬機virtualbox,直接復制本機虛擬硬盤vdi使用, 會提示錯誤的解決方法


提示語句為:

打開硬盤文件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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM