No.325
【Vagrant】共有フォルダのマウントに失敗する
突然共有フォルダに接続できなくなった時に
Vagrantの環境を長く使っていると、特に何もしていないのに突然共有フォルダの接続に失敗することがある。
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.
...
/sbin/mount.vboxsf: mounting failed with the error: No such device
いろいろ要因はあるようなのだが、自分はVirtualBox Guest Additionsが使用するkernel-develの不整合以外の原因だったことがない。
というわけで、まずはそれを疑う。
Vagrant起動時のメッセージに下記のような文がないだろうか。バージョンは環境によって変わるので適宜読み換えて欲しい。
No package kernel-devel-3.10.0-693.17.1.el7.x86_64 available
ここまでわかれば簡単。共有フォルダの処理までいってるということはゲストOSは起動しているはず。sshで接続してエラーに表示されているkernel-develをインストールしてあげれば良い。
例としてCentOSなら
にて目的のバージョンのkernel-develを見つけ、下記のようにyumコマンドでインストールすればOK。
sudo yum install http://ftp.riken.jp/Linux/cern/centos/7/updates/x86_64/Packages/kernel-devel-3.10.0-693.17.1.el7.x86_64.rpm
あとはvagrant reloadでゲストOSを再起動すれば問題ないはずだ。