Sunday 23 September 2018

How do I delete a VM in VirtualBox when the hard drive the VDI file was on is deleted?


I'm using VirtualBox hosted on Windows 7 and the physical hard drive that one of my VM's VDI file was on got completely borked and no longer exists.


The problem is that now I can delete neither virtual hard drive nor VM since the attempt to delete the VDI file gives me an error stating that VirtualBox can't find the file and of course, I can't delete the VM without first releasing (or deleting) the VDI file that that machine was using.


UPDATE: Note that I've also removed all storage attachments and the snapshots cannot be deleted for the same reason--it can't find the files (because of the non-existent hard drive).


Does anyone know of a solution?



Answer



Delete your VM xml files on Hard Disk. They are located by default in C:\Users\YOUR_NAME\.VirtualBox\Machines.


After deleting, you'll still receive strange erros messages in Virtualbox. This is because some info about your vms are inside C:\Users\YOUR_NAME\.VirtualBox\VirtualBox.xml.


If you don't mind losing some global configuration in your VirtualBox, just delete this file. Virtualbox will create another if it doesn't exist.


If you just want to remove a specific VM, you have to edit Virtualbox.xml in some xml editor (notepad is fine. notepad++ is better since it has syntax highlighting).


You'll find these fields:















Remove the MachineEntry from the desired VM. If you just have one VM and want to remove everything, just leave the tags empty. For example:









...and you're done. I just tested everythong here and it works flawlessly. If you want to avoid problems, backup your xml configuration files from VirtualBox and specific VMs.


(I didn't mention about snapshots, but I believe it's the same principle.)


No comments:

Post a Comment

Where does Skype save my contact's avatars in Linux?

I'm using Skype on Linux. Where can I find images cached by skype of my contact's avatars? Answer I wanted to get those Skype avat...