我以錯誤的方式從 VirtualBox VM 中刪除了兩個虛擬磁碟。我從來賓配置中刪除了它們,但忘記從媒體列表中刪除它們,並從檔案系統中刪除了檔案和目錄,因此我看到磁碟在媒體列表中出現錯誤。它們具有關聯的快照,因此我收到有關它們正在使用的錯誤。如果我嘗試透過 GUI 刪除關聯的快照,或vboxmanage
收到以下錯誤訊息:
VBoxManage.exe: error: VD: error VERR_PATH_NOT_FOUND opening image file [location]
當然,快照也消失了(這些是我安裝的舊vmdk文件,因此快照可能不是真實的)。如何從 VirtualBox 配置中手動刪除這些幽靈條目?我懷疑有一個配置文件或註冊表項,但我不確定在哪裡查找。
答案1
希望這對某人有幫助。
cat ~/.config/VirtualBox/VirtualBox.xml | grep your_roguedisk.vdi
取得 UUID 的輸出。
$ vboxmanage closemedium disk "{d89ef84a-d754-4da2-b2a1-cc37063d0c6d}" --delete
答案2
錯誤類似下面的截圖:
VERR_PATH_NOT_FOUND
表示提供的檔案路徑無效。使用 VBoxManage 進行任何操作後,VirtualBox 會將檔案路徑保存在全域設定檔中。該檔案是XML格式的檔案。 VirtualBox 在以下目錄中維護全域設定資料:
- Linux 和 Oracle Solaris:
$HOME/.config/VirtualBox/VirtualBox.xml
- Windows:
%UserProfile%\.VirtualBox\VirtualBox.xml
或C:\Users\UserName\.VirtualBox\VirtualBox.xml
- Mac OS X:
$HOME/Library/VirtualBox/VirtualBox.xml
該檔案包含每個虛擬機器的配置。所以把它備份編輯之前。VirtualBox.xml
在任何文字編輯器中開啟該文件。找到您要刪除的檔案路徑。通常路徑駐留在<HardDisk/>
標記中。例如,格式如下:
<HardDisks>
<HardDisk uuid="{3761d018-e224-45d4-aa61-764d2c408712}" location="F:/test.VHD" format="VHD" type="Normal"/>
<HardDisk uuid="{9f4f1f1c-f4c9-4773-a0b3-f0c52f699142}" location="F:/test.VMDK" format="vmdk" type="Normal"/>
</HardDisks>
刪除完整的標記行,否則 VBox 將顯示錯誤。這就是為什麼在進行任何更改之前備份該檔案。有關更多詳細信息,請參閱VirtualBox 文件:10.1.3。全域配置數據。
答案3
受到第一個響應的啟發,該響應不起作用,我找到了解決方案。解決方案是停止 VirtualBox,然後進入引用相關磁碟映像的(或每個)單獨 VM 的目錄,編輯 VM 的 .vbox 文件,刪除硬碟條目(包括快照),然後啟動又是虛擬盒子。媒體管理器將不會顯示這些磁碟的任何條目。