端くれプログラマの備忘録 Vagrant [Vagrant] 共有フォルダのマウントエラーに対処する

[Vagrant] 共有フォルダのマウントエラーに対処する

共有フォルダのマウントエラーに直面。

> vagrant up
...
==> default: Mounting shared folders...
 default: /vagrant => C:/temp/ubuntu14.04-docker
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3`
vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
The error output from the last command was:
stdin: is not a tty
/sbin/mount.vboxsf: mounting failed with the error: No such device
>

vboxのビルドで解決するケース

以前に作成した仮想マシンではvboxをビルドすることで解決した。

すなわち、仮想マシンにログインして以下コマンドを実行。

$ sudo /etc/init.d/vboxadd setup

その後、仮想マシンを再起動。

> vagrant halt
> vagrant up

そうすると、共有フォルダのマウントエラーは解決された。

参考サイト:
vagrantでmountエラーの解決方法 – Qiita
http://qiita.com/osamu1203/items/10e19c74c912d303ca0b

vboxのビルドに失敗するケース

だけど、今回作成した仮想マシンではvboxのビルドがエラーになった。

$ sudo /etc/init.d/vboxadd setup
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

Building the main Guest Additions module ...fail!
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions ...done.

ログ(/var/log/vboxadd-install.log)を見ると、「ヘッダファイルが見つからない」的なエラーが記されている。ネットから落としてきたVagrantイメージにvboxをビルドするのに必要なファイルが欠けているのだろうと予想。

Stackoverflowに同様の事例があったので、この解決法をなぞってみる。

ubuntu – Cannot compile Vagrant VirtualBox Guest Additions on 3.8 Kernel – Stack Overflow
http://stackoverflow.com/questions/20458497/cannot-compile-vagrant-virtualbox-guest-additions-on-3-8-kernel

vagrant-vbguestプラグインをインストールしてから仮想OSを立ち上げる。

> vagrant plugin install vagrant-vbguest
> vagrant up

すると、プラグインがGuest Additionをアップデートしてくれて、共有フォルダのマウントエラーが解決した。ホッ

参考サイト:
VagrantのboxのGuest Additionsのアップデート方法 – Qiita
http://qiita.com/isaoshimizu/items/e217008b8f6e79eccc85