VirtualBox – How to Delete a VM When the Hard Drive VDI File is Deleted

hard drivevirtualbox

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?

Best 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:

<MachineRegistry>
  <MachineEntry uuid="UUID" src="Machines\MACHINE_NAME\MACHINE_NAME.xml"/>
</MachineRegistry>
<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="UUID" location="HardDisks\DISC_NAME.vdi" format="VDI" type="Normal"/>
  </HardDisks>
  <DVDImages>
    <Image uuid="UUID" location="C:\IMAGES\IMAGE.iso"/>
  </DVDImages>
  <FloppyImages/>
</MediaRegistry>

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:

<MachineRegistry/>
<MediaRegistry>
  <HardDisks/>
  <DVDImages/>
  <FloppyImages/>
</MediaRegistry>

...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.)

Related Question