Vagrant が mount.vboxsf: mounting failed with the error: No such device が出て、共有フォルダがマウント出来なくなった

vagrant up の際に、突如次のエラーを出すようになりました。

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=1000,gid=1000 vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

sshで入れるのですが、どうも、共有フォルダがマウント出来ていないっぽいです。

原因を探していたらこれっぽいです。

yum update の際にカーネルのバージョンが上がったみたいで、VirtualBoxで管理しているカーネルバージョンと差異が生じているとか。

vagrant-vbguestというvagrantのプラグインを使って、VirtualBoxの管理バージョンを更新すればいいらしい。

プラグインのインストール

vagrant plugin install vagrant-vbguest

実行

vagrant vbguest

実行にはvagrantが立ち上がっている必要があるっぽい。

Installing Virtualbox Guest Additions 6.1.18 - guest version is unknown
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.1.18 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 5.1.26 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel 
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 
3.10.0-1160.36.2.el7.x86_64.
Redirecting to /bin/systemctl start vboxadd.service
Redirecting to /bin/systemctl start vboxadd-service.service
Unmounting Virtualbox Guest Additions ISO from: /mnt

Virtualbox Guest Additionsのアップデートやカーネルのビルド、更新が行われたみたいですね。

vagrantの再起動

vagrant reload

で、共有ドライブも無事マウントされて起動しました♪

vagrantってVirtualboxのバージョンがずれてきても動かなくなったりしますので、結構ナイーブですね。