2
votes

I have been trying to install various Vagrant Boxes from Hashicorp's Vagrant Box Catalog but none seem to be compatible with:

  1. Vagrant version: 2.2.9
  2. VirtualBox versions: 6.0.x or 6.1.x
  3. Host: Mac Catalina

I have tried multiple workarounds shared online and either the Guest Additions don't match or there are none available.

Both the plugin and the manual addition of guest additions also doesn't work.

Everything seems to work fine except for the shared folders syncing. Looking to get a workaround to fix the shared folder sync or a standard Linux Vagrant Box that is compatible with the VirtualBox guest additions.

1

1 Answers

1
votes

The issue was fixed by manually mounting the Guest Additions VBoxGuestAdditions.iso file as CD-ROM in the VirtualBox.

Despite this, the Vagrant boxes may fail to sync shared folders via VirtualBox provider and instead use rsync for the same.

This can be fixed by updating the Vagrantfile by explicitly setting the provider type to VirtualBox in the config.

config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

After this vagrant reload and the shared folder sync should work as expected.

$ vagrant reload
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:

  https://www.virtualbox.org/manual/ch04.html#sharedfolders

This option can be disabled globally with an environment variable:

  VAGRANT_DISABLE_VBOXSYMLINKCREATE=1

or on a per folder basis within the Vagrantfile:

  config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/hemanik/vm/
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

Not sure if it was able to find the guest additions default: Checking for guest additions in VM... or if the previous tweaking with the guest additions took effect but the shared folder sync works as expected.

Just for an update, reinstalled Vagrant and the current working versions are as follows:

  1. Vagrant version: 2.2.10
  2. VirtualBox Version: 6.0.24 r139119