VirtualBox VM から 2 つの仮想ディスクを間違った方法で削除しました。ゲスト構成から削除しましたが、メディア リストから削除するのを忘れ、ファイル システムからファイルとディレクトリを削除したため、メディア リストでディスクがエラーとして表示されます。これらにはスナップショットが関連付けられているため、使用中であるというエラーが表示されます。関連付けられているスナップショットを 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) のディレクトリに移動し、VM の .vbox ファイルを編集し、HardDisk エントリ (スナップショットを含む) を削除してから、VirtualBox を再度起動することです。メディア マネージャーには、これらのディスクのエントリは表示されません。