Vagrant を 立ち上げようとして `Failed to mount folders in Linux guest. the "vboxsf" file system is not available.` って出た話。

vagrant 立ち上げに失敗しました。

f:id:ikkitang1211:20170902124641p:plain

解決策1

# 一度 vagrant を 終了.
$ vagrant halt 
$ vagrant plugin install vagrant-vbguest
    Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
    Installed the plugin 'vagrant-vbguest (0.14.2)'!
$ vagrant reload

原因

何に怒ってたの?

ホスト側のディレクトリ (格納フォルダ) と ゲスト側のディレクトリ ( /vagrant ) フォルダを マウントをしようとして失敗して、怒ってたみたい。

何をしたら直ったの?

ホストとゲスト間のフォルダ共有は Guest Additions が提供している。

ホストとゲスト間の Guest Additions のバージョンが不一致だと、度々このマウントエラーが発生する。

vagrant up 時に ホスト側の Guest Additons を ゲスト側にインストールしてくれるプラグインvagrant-vbguest を入れる事で、ホストとゲストの Guest Additions のバージョンを一緒にしました。

参考URL

qiita.com

でも、まだ失敗する。。。

No package kernel-devel-3.10.0-229.el7.x86_64 available.

解決策2

解決策1 をやった後に、行う。

ホスト側

# vagrant が立ち上がってなければ、立ち上げる
$ vagrant up
$ vagrant ssh

ゲスト側 (vagrant ssh 後)

$ sudo yum -y installftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.0/x86_64/updates/security/kernel-devel-3.10.0-229.el7.x86_64.rpm

該当バージョンの kernel-devel をインストールしました。

RPM Scientific Linux 7 kernel-devel 3.10.0 x86_64 rpm

上記URLで探したんですけど、見つけるのが中々大変でした。

ホスト側

$ vagrant reload 
$ vagrant vbguest --status
    [default] GuestAdditions 5.0.30 running --- OK.

無事立ち上がりました

参考URL

qiita.com