vagrant 立ち上げ時に以下のようなエラーが起こるためVagrantfileの
Vagrant.configure(2) do |config|
.
.
.
end
の中に以下の記述を追加したところ解消した
if Vagrant.has_plugin?("vagrant-vbguest")
config.vbguest.auto_update = false
end
尚、実行環境は
Host OS: mac OS 10.15.7 Catalina
Vagrant: 2.2.16
VirtualBox: 6.1.22
Box: ubuntu/xenial64
である。
発生したエラーとその対処は以下の通り
エラー1
Vagrant+VirtualBoxにおける仮想マシン(VM)立ち上げ時において、
$ vagrant up
を実行すると共有フォルダでマウントエラーが発生する。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'bento/centos-6.8' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
・
・
・
default: Warning: Connection reset. Retrying...
default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 5.1.18
default: VirtualBox Version: 5.2
==> default: Configuring and enabling network interfaces...
・
・
・
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:
mount -t vboxsf -o uid=500,gid=500 vagrant /vagrant
The error output from the command was:
/sbin/mount.vboxsf: mounting failed with the error: No such device
原因
- VirtualBoxには、VirtualBox Guest Addition がインストールされている。⇒ VirtualBox Guest Addition = ゲスト(Guest Additions)
- 自分の環境にあるホスト(VirtualBox)には、デフォルトの設定により仮想マシン(VM)起動時にバージョンが古ければ自動更新される。
そのため、起動時にホスト(VirtualBox)のみバージョン更新されるので、ホスト(VirtualBox)のバージョンとホスト(VirtualBox)にインストールされているゲスト(Guest Additions)のバージョン間に差異が生じバージョン不一致によるマウントエラーが起きる。
このエラーへの対処
というプラグインをインストールすることにより、
起動時
$ vagrant up
に自動的にホスト(VirtualBox)のバージョンに合わせて、ゲスト(Guest Additions)のバージョンを更新してくれるらしい。
$ vagrant plugin install vagrant-vbguest
ホスト(VirtualBox)とゲスト(Guest Additions)のバージョンが同等になり、このエラーは解決する
エラー2
vagrant up時にエラー発生
GuestAdditions seems to be installed (6.0.8) correctly, but not running.
原因
先ほどインストールした vagrant-vbguest の自動アップデート機能がオンになってるのが原因だと思われる。
このエラーへの対処
Vagrantfileに以下の記述を追加
if Vagrant.has_plugin?("vagrant-vbguest")
config.vbguest.auto_update = false
end
追加後、vagrant halt → vagrant upで動き出す
※これでもうまくいかない場合、一度VMを消去し、プラグインインストール→Vagrantfileに記述を追加をしなければならない。
参考
https://qiita.com/chubura/items/4166585cf3f44e33271d
https://github.com/dotless-de/vagrant-vbguest/issues/333