ryhmrt’s blog

意識低い系プログラマの雑記

VirtualBox の Guest Addition を入れ直す

事の始まり - 共有フォルダのマウントエラー

Vagrantで構成している仮想マシンを再起動したら下記のようなエラーが出て、共有フォルダがマウントされないようになってしまった。

    default: /vagrant => /Users/ryhmrt/Projects/hoge
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`,dmode=777,fmode=666 vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant`,dmode=777,fmode=666 vagrant /vagrant

The error output from the last command was:

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

/Users/ryhmrt/Projects/hoge% vagrant ssh

ググってみると、Guest Addition を入れ直せということらしい。

Guest Addition の iso ファイルを取得

http://download.virtualbox.org/virtualbox/ から辿って最新版の iso ファイルをダウンロード。

ホストの方でダウンロードしてしまったので、scpでゲストに転送するという2度手間をしてしまったが、ゲスト側でcurlでも使ってダウンロードすれば良かった。

Guest Addition インストール

vagrant ssh でゲストに入り

必要なパッケージをインストールをしておく

$ sudo yum install gcc kernel-devel

isoをマウントして

$ sudo mkdir -p /mnt/disk/
$ sudo mount -o loop VBoxGuestAdditions_5.0.8.iso /mnt/disk/

インストーラーを実行する

$ sudo /mnt/disk/VBoxLinuxAdditions.run

こんなエラーが出るけれども、Xは使わないのでそのまま無視

Building the OpenGL support module [失敗]
(Look at /var/log/vboxadd-install.log to find out what went wrong. The module is not built but the others are.)

ホスト側に戻って、 vagrant reload して共有フォルダがきちんとマウントされることを確認