Last Updated: May 27, 2023
·
89.52K
· ipoerner

Purge deleted hard disks from Virtual Box

When you remove a virtual hard disk drive from within Virtual Box, the file itself is not removed. Even worse, deleting the file manually and then trying to add a new virtual disk with the same file name in the same path will just yield an error. Virtual Box complains about the file name already being associated with a specific UUID.

All your virtual hard disk drives are stored in the global Virtual Box configuration. You can retrieve a full list using the following command:

vboxmanage list hdds

This will give you the file names and UUIDs to each virtual disk. In order to remove an entry from the list and make the file name available again, simply execute the following command:

vboxmanage closemedium disk <uuid> --delete

After that, both the file and the UUID entry in the configuration should be be purged from the list and you can create a new virtual hard disk drive with the same file name again.

4 Responses
Add your response

This was very helpful, thanks.

over 1 year ago ·

I had the opposite problem of having lots of old VDI images that were no longer registered in virtualbox that I wanted to delete from my host.

I had been using snapshots and linked clones for a couple of years (on a 2TB drive) and had lots of old unused images who's state was not obvious .

My technique was to generate two text files. One containing the list of registered hdd images (as in the main article above), and the other containing the list of images on the host HDD and do a DIFF to compare them (after they were sorted). Then manually delete each as indicated by the difference report:-

  1. Open a command prompt.

a. CD \program files\oracle\virtualbox

b. md temp

c. cd temp

d. ..\vboxmanage list hdds | find "Location" | sort > allregisteredhdds.txt

e. Use a good text editor to manually delete the left column of "Location " to leave the start of each line reading, for example "E:\"

f. dir E:\VM*.vdi /s /b | sort > all_vdi.txt

  1. Right mouse click and select KDIFF allvdi.txt allregistered_hdds.txt

Repeat step 1.f to find VMDK, etc.

Note, all my images were under E:\VM.

over 1 year ago ·

Why do I get different hdds listings when entering the list command prefixed by sudo ? (I get a lot of inaccable entries due to VMDK files I created and deleted from Vbox main menu.)

over 1 year ago ·

OH MY, finally, a solution; I've been looking for a solution for this for months.
VirtualBox listed a virtual hard drive I had as "inaccessible," even though I did have the hard drive. Still, it would not let me change the path to the correct one, would not let me delete it off the hard drive list in the "hard drive selector" in VirtualBox, and would not let me reattach it since it says it's "already exist." How stupid is that?
Anyway, the problem is solved now. Thank you so much!

over 1 year ago ·