[VirtualBox] clonemedium 時遇到 hard disk already exists 的錯誤

[VirtualBox] clonemedium 時遇到 hard disk already exists 的錯誤

今天想照之前的做法,將 VM 的 VMDK 轉成 VDI 後,調大硬碟的空間

不過 VBoxManage clonemedium 的指令卻意外的出錯了,

說無法註冊 disk1.vmdk:

testuser@localhost ~/VirtualBox VMs/win32 build $ VBoxManage clonemedium disk disk1.vmdk disk1.vdi --format VDI
VBoxManage: error: Cannot register the hard disk '/Users/testuser/VirtualBox VMs/win32 build/disk1.vmdk' {60e62059-416a-4a58-a7c4-16a21e746112} because a hard disk '/Users/testuser/VirtualBox VMs/win32 build/-disk1.vmdk' with UUID {60e62059-416a-4a58-a7c4-16a21e746112} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

 

有一點奇怪,這個 disk1.vmdk 本來就是 win32 build 這台 VM 的硬碟檔,

為什麼 clonemedium 還要去註冊 (register) 這個 vmdk 呢?

 

上面的大哉問就留給 VirtualBox 的工程師去想…

要解決這個問題,是不是只要先讓這個 vmdk 脫離 VirtualBox 的掌控,就不會出現這個錯誤呢?

 

抱持著這個想法來試試看~

先到 VirtualBox > File > Virtual Media Manager,

找到想要被複製的 .vmdk (本例中是 disk1.vmdk),按下 Remove 按鈕:

Screen Shot 2016-07-15 at 11.30.22 AM  

 

VirtualBox 會詢問你是否確定要移除,按下 Remove 確認:

Screen Shot 2016-07-15 at 11.30.30 AM

 

VirtualBox 會再次確認是否要連檔案也移除,還是只是從 VirtualBox 的登錄中移除~

這邊我們可以選 Keep 保留檔案,但將 disk1.vmdk 從 VirtualBox 的登錄中移除:

Screen Shot 2016-07-15 at 11.30.58 AM  

 

做完這個動作,disk1.vmdk 就脫離 VirtualBox 的掌控了,

因此 VirtualBox 還會問你是否要將這個 vmdk 從 VM 中也移除掉…

是可以移除掉的,因為之後我們會建出新的硬碟檔~

 

再重新執行一次 clonemedium,這一次就順利成功了,

(clonemedium 完之後,原始的 vmdk 和轉出來的 vdi 看來都會被註冊到 VirtualBox 上)

只要再將轉出來的 disk1.vdi 加到 VM 裡成為一顆新的硬碟就行了:

testuser@localhost ~/VirtualBox VMs/win32 build $ VBoxManage clonemedium disk disk1.vmdk disk1.vdi --format VDI
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: 7f6a9ffc-f355-4812-a32a-a2d5a95bb4ce

 

比較奇怪的是,之前我並沒有遇過這種 .vmdk 問題…

而在 disk1.vmdk 和 disk1.vdi 都被註冊回 VirtualBox 之後,

我又試著執行一次 clonemedium disk1.vmdk disk2.vdi,卻也沒辦法重現問題…

猜想這應該也是 VirtualBox 的一個 bug 吧~

 

(本頁面已被瀏覽過 1,226 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料