I'm attempting to manage a suite of VMs with a vagrantfile, and while it's successfully provisioning the first one, it fails on the second, with the following error (username removed):

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["import", "\\\\?\\C:\\Users\\{user}\\.vagrant.d\\boxes\\geerlingguy-VAGRANTSLASH-ubuntu1604\\1.2.5\\virtualbox\\box.ovf", "--vsys", "0", "--vmname", "packer-ubuntu-16.04-amd64_1551457217364_16812", "--vsys", "0", "--unit", "10", "--disk", "./packer-ubuntu-16.04-amd64-disk001.vmdk"]

Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting \\?\C:\Users\{user}\.vagrant.d\boxes\geerlingguy-VAGRANTSLASH-ubuntu1604\1.2.5\virtualbox\box.ovf...
Progress state: E_INVALIDARG
VBoxManage.exe: error: Appliance import failed
VBoxManage.exe: error: Code E_INVALIDARG (0x80070057) - One or more arguments are invalid (extended info not available)
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleImportAppliance(struct HandlerArg *)" at line 957 of file VBoxManageAppliance.cpp

Is there an issue with trying to spin up multiple boxes from the same base box? I've googled around the issue for a while but not found anything on my specific error message.

My vagrantfile is:

Vagrant.configure("2") do |config|

  hosts = {
    "webserver" => "52201",
    "webserver-service" => "52202",
    "dbserver" => "52203",
    "lb" => "52204"

  hosts.each do |hostname, port|
    config.vm.define hostname do |node|
      node.vm.box = "geerlingguy/ubuntu1604"
      node.vm.hostname = hostname
      node.vm.network "private_network", type: "dhcp"
      node.vm.network "forwarded_port", guest: 22, host: port, id: "ssh"
      node.vm.provider "virtualbox"
      node.vm.provision "shell", inline: "apt-get install -y acl"

I'm using vagrant via WSL, but that's not been an issue in single-VM configurations so I can't see why that would be the problem.


This was fixed by using

    node.vm.provider "virtualbox" do |vb|
        vb.name = hostname
        vb.linked_clone = true

specifically, I believe the linked_clone configuration was the key, although I couldn't say why exactly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.