Where apps hide your files
By default VirtualBox puts every virtual machine in its own folder under ~/VirtualBox VMs, and keeps global settings separately in ~/Library/VirtualBox. This post shows what is in a VM folder, how to find a machine stored elsewhere, and how to move one.
~/VirtualBox VMs
Oracle's manual says VirtualBox creates a common folder called VirtualBox VMs in your home folder and gives every machine its own subfolder named after it. Global settings are kept apart, in:
~/Library/VirtualBox
The main file there is VirtualBox.xml, which holds global options and the list of registered machines, with a pointer to each one's settings file. It is not where machines live, and it is not for hand-editing. The VBOX_USER_HOME environment variable can move this folder, which matters only if someone set it on purpose.
VirtualBox VMs is an ordinary visible folder in your home folder. To open it, choose Go > Go to Folder (⇧⌘G) and type the path, or use Terminal (the quotes handle the space):
open ~/"VirtualBox VMs"
~/Library is hidden in Finder, so use ⇧⌘G for that one too. VirtualBox is not installed on the Mac used for this guide, so the layout comes from Oracle's manual and the VirtualBox source code.
For a machine called "Example VM", the manual lists:
| Item | What it is |
|---|---|
Example VM.vbox | The machine's settings, an XML file |
Example VM.vdi | The virtual hard disk in VDI format (.vmdk or .vhd if you chose those) |
Logs | Log files, added once you start the machine |
Snapshots | Added when you take snapshots; the location can be changed in the machine's settings |
Example VM.vbox-prev | VirtualBox's source calls this the backup of the machine settings file |
The disk is the large file. A dynamically allocated disk grows as the guest writes data; a fixed-size one takes its full size at once. Check real sizes with du -sh ~/"VirtualBox VMs"/*.
A machine can live anywhere, because VirtualBox.xml records where each .vbox is. Ask VirtualBox rather than searching:
VBoxManage list vms
That prints each registered machine's name and identifier. To see the default folder in your setup:
VBoxManage list systemproperties
Look for the line that starts Default machine folder:. Both commands only read. If VBoxManage is not found, it ships inside the app at /Applications/VirtualBox.app/Contents/MacOS/VBoxManage; run it by that full path.
In the VirtualBox Manager window you can also right-click a machine and choose Show in Finder, which reveals its files directly.
The manual puts this in the Preferences window, on the General tab, in the Default Machine Folder field. Oracle's manual describes the File menu on other systems; on a Mac the item sits in the VirtualBox application menu, and its label can read Preferences or Settings depending on the version. The command-line equivalent is VBoxManage setproperty machinefolder <folder>.
This only affects machines you create afterwards. Existing machines stay where they are.
Power the machine off completely first: not saved state, not paused. VirtualBox has a supported move in two forms. In the Manager, select the machine and choose Machine > Move.... In Terminal:
VBoxManage movevm "<name>" --folder "<new folder>"
The manual says movevm moves all the files associated with the machine, settings and disk images included, and updates VirtualBox's configuration automatically. Keep a backup of a machine you cannot afford to lose before you move it.
If you drag a machine's folder to a new place in Finder instead, VirtualBox still points at the old path and lists the machine as inaccessible. Remove that entry, then register the moved .vbox again: Machine > Add... in VirtualBox 7.0 and 7.1, renamed Machine > Open... in 7.2. Keep the old copy until the machine boots from its new place.
With the machine powered off, copy its whole folder to an external drive or the other Mac. That carries the .vbox, the disk, logs and snapshots together. On the new Mac, install VirtualBox and register the copied .vbox with Machine > Add... or Machine > Open.... A copy made while the machine runs may not be usable, so shut the guest down first.
Check the processor first. VirtualBox 7.1's changelog lists Arm virtualization for Linux and BSD guests on Apple silicon Macs, so a machine built for an Intel Mac's x86 processor is not a straight move to an Apple silicon one. Read Oracle's release notes for the version you have before planning it.
Disks and snapshots are what make the folder big. To delete a machine you no longer need, select it and choose Machine > Remove.... In VirtualBox 7.1 the dialog offers Delete all files or Remove only; in 7.2 you tick Delete the virtual machine files and virtual hard disks and click Remove. Only the delete choice frees space; the other keeps the files on disk. Do not drag a disk file to the Trash while the machine is still registered, or VirtualBox will report a missing disk.
Snapshots you no longer need can be deleted from the machine's Snapshots view. That merges their changes into the disk, which needs free space and time, so let it finish.
The .vdi file carries a name you chose long ago, VirtualBox VMs rarely comes up when you search for the app's name, and the settings live in ~/Library, which Finder and Spotlight searches leave out.
Type .vbox or .vdi into Everywhere and every settings file and disk image on the Mac is listed with its folder, so a forgotten machine in an odd place turns up. Your home folder and ~/Library/VirtualBox are covered from the first scan; machines kept on an external drive are covered once Everywhere has Full Disk Access. It searches names only and cannot see inside a disk image.
By default in ~/VirtualBox VMs, one subfolder per machine with its .vbox settings file and disk image. Global settings are in ~/Library/VirtualBox.
Inside the machine's own folder, normally ~/VirtualBox VMs/<name>/<name>.vdi. If the machine is somewhere else, right-click it in the Manager and choose Show in Finder, or run VBoxManage list vms.
Open the preferences window from the VirtualBox menu, go to General and set Default Machine Folder, or run VBoxManage setproperty machinefolder <folder>. Existing machines do not move.
Yes. Power it off, then use Machine > Move... in the Manager or VBoxManage movevm "<name>" --folder "<new folder>", which moves the files and updates VirtualBox's records.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised