70

I have a SSD Hard drive representing C:\, which is only 30GB.

Therefore, I install all my (non-critical) apps on my large G:\ drive. My VirtualBox installation is on G:\, as well as the hard disks. However, I found that the snapshots directory still defaults to C:\Users\David\.VirtualBox\....

How do I put this on my G:\ drive by default?

1
  • 2
    I followed the steps: > 1. Shutdown intended virtual machine; > 2. Right click on virtual machine, go to Settings > General > Advanced; > 3. Change Snapshots destination folder. A good value is a subfolder of your virtual machine hard disk folder. I click OK, and then go back into this settings page and it reverts to the original setting.
    – user118192
    Feb 13, 2012 at 18:57

8 Answers 8

48

VirtualBox snapshots reside in the Machine Folder. You should be able to change the default machine folder using the menu option File->Preferences, under the General tab.

4
  • 5
    You are right! I figured that out shortly after I asked the question. One thing I would like to add is that you can't change your snapshots directory for a VM in which you currently have snapshots saved. This means that you have to merge all of your snapshots into the Hard Disk first. Very annoying! Apr 4, 2010 at 16:37
  • 2
    Perhaps a symbolic link would work in this situation
    – vol7ron
    Apr 5, 2011 at 22:20
  • 1
    Just a word of caution, you cannot in fact change the path of snapshot folder once you have created one. To achieve this, first stop VBoxSvc.exe and open .vbox file (VirtualBox VM file) in editor. Find the xml tag <Machine> and change it's attribute *snapshotFolder value to the path you want to place snapshot in.
    – A.B.
    Apr 17, 2018 at 12:47
  • Does not solve the problem.
    – Black
    Oct 21, 2022 at 9:57
57

"One thing I would like to add is that you can't change your snapshots directory for a VM in which you currently have snapshots saved."

Not true. First, follow the advice of the first answerer, and change the default machine folder by going to File>>Preferences>>General and changing the path. This only changes the path for subsequent machines you create, not for those you've already got.

Now:

  1. Close VirtualBox
  2. Move the contents of your Users/YourUserName/VirtualBox VMs folder to whereever it is you want it.
  3. Then the edit Users/YourUserName/.VirtualBox/VirtualBox.xml file
    • /Users/YourUserName/Library/VirtualBox/VirtualBox.xml on OS X
  4. Change the paths there to your VMs to wherever you've moved your VM folders.
  5. Reboot your machine, and you're good to go - no Snapshot flattening required!
3
  • Thanks: this nearly worked for me, on a Mac, but not quite. I've put some details in a new answer.
    – Ashley
    Jun 9, 2014 at 21:02
  • 3
    Thanks, this worked well for me. I did not have to reboot my PC (Windows 8.1) - the new paths just worked well.
    – Chethan S.
    Mar 18, 2015 at 6:02
  • The VirtualBox.xml is found under ~/.config/VirtualBox/VirtualBox.xml on some Linux distributions Sep 8, 2018 at 20:24
14

Procedures to change snapshots folder in VirtualBox:

1 - Shutdown intended virtual machine;

2 - Right click on virtual machine, go to Settings > General > Advanced;

3 - Change Snapshots destination folder. A good value is a subfolder of your virtual machine hard disk folder.

Hope this helps preventing loses as I had suffered.

8

Here's a summary of the other answers posted here, along with another option I discovered.

  1. Set the default machine folder by choosing File: Preferences: General. New virtual machines will store their disk files and snapshots under this directory. However, it doesn't affect existing machines.
  2. For an existing machine, open its settings, go to the advanced tab, and change the snapshot folder. This will only work if the machine has no snapshots, so you'll have to merge them all first.
  3. If you can't merge all the snapshots or you don't want to, you can just clone the machine. The clone will use the default machine folder selected above.
4

I'm using OS X. I had a VM with several nested snapshots. I wanted to move this to a new location, but I didn't have enough free disk space to use "clone".

Because I'm on a Mac, the various instructions here didn't quite work for me. This is what I did:

  1. Quit VirtualBox.

  2. Move the various files (the .vdi file, and the folder named after the VM, which contains the .vbox file, the Snapshots folder etc) from the default ~/VirtualBox VMs to the new location.

  3. Edit ~/Library/VirtualBox/VirtualBox.xml with a text editor, updating MachineEntry with the new .vbox file location.

  4. Edit the .vbox file with a text editor, updating the first HardDisk entry with the new .vdi file location.

Using the VirtualBox interface, I also changed VirtualBox > Preferences > General > Default Machine Folder to point to where I want to create new VMs in the future. (This setting seems to be stored in the ~/Library/VirtualBox/VirtualBox.xml file... although this setting can be modified in the UI, it seems that for these other settings, we need to resort to the file editing I describe above.)

2
  • Thanks! Step 4 was not required for me btw but I'd say worth checking in case it does change.
    – joedragons
    Feb 24, 2015 at 20:36
  • On linux use the vboxmanage tool. vboxmanage setproperty machinefolder ~/VMs/ The config file can be viewed and changed manually in ~/.config/VirtualBox/VirtualBox.xml on Debian. Virtualbox has to be killed first.
    – Underverse
    Jun 4, 2017 at 8:14
3

Small steps:

  1. Shutdown the targeted VM
  2. Move the targeted files from C:\Users\my_user\VirtualBox VMs\Windows\Snapshots to G:\My Snapshots Folder or any folder you see fit
  3. Open C:\Users\my_user\VirtualBox VMs\Windows\Windows.vbox config file and find the Machine node (by name)
  4. Replace:
    • snapshotFolder value from Snapshots to G:/My Snapshots Folder (slash is used so you should leave it like that)
    • all location values from Snapshots to G:/My Snapshots Folder
3

Use Clone. No need to change any config files...

  1. Set the destination drive (G:\Vbox) in File ->Preferences -> General Tab

  2. Right click on the VM and select "Clone". Choose "Everything" if you need the snapshots as well. This will copy the VM and snapshots to the desired drive (G:\VBox).

  3. Delete the old VM.

1
  1. Change snapshot folder as they say above
  2. Change C:\Users\.VirtualBox\VirtualBox.xml machine settings to point to new machine
  3. Make sure you kill the VBoxSVC.exe background process before you modify the .xml file. This process has memory of the previous settings and will alert you of inconsistency errors and revert the .xml file back to your previous settings.

dreez

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .