三蔵開発メモ

Web開発やインフラ関連のメモを共有します

Vagrant VirtualBox CentOSで共有フォルダをマウントしてくれないときに試した方法

VirtualBoxのアップデートなどをすると、
guest additionsが更新されたりして、うまく既存のVMのマウントがされなくなってしまうことがあったので、
試したことメモ。

その1、vagrant vbguestでguest additonsをアップデート

ホスト機のコマンドプロンプトで以下を試す

vagrant plugin install vagrant-vbguest
vagrant vbguest
vagrant reload

これで無事アップデートされればOK

その2、カーネルアップデート

その1だけだとうまくいかない場合は、 ゲストVMカーネルをアップデートするとうまくいく。
ゲスト機で以下のコマンドを試す。

sudo yum install kernel-devel gcc

コマンドプロンプトVM再起動

vagrant plugin install vagrant-vbguest
vagrant vbguest
vagrant reload

その3、guest additionsを入れなおす

その1でも、その2でもうまくいかなかったら、
CDからguest additionsを入れなおしたらうまくいった。

まず、VirtualBoxGUIで対象のVagrantVMを選択し、
設定→ストレージ→IDEコントローラーにCDを空で追加する(プラスボタンを押すと追加できる)

ゲスト機内で必要パッケージ追加
sudo yum install bzip2 kernel-devel
sudo yum install kernel kernel-tools
カーネルバージョン確認
sudo yum list installed | grep kernel

kernelとkernel-develのバージョンが一緒になっていればOK

guest additionsのCDをセットして起動

VirtualBoxGUIVMを起動し、右クリック→表示→ウィンドウが出る→ツールバーの「デバイス」を選択→Guest Additions CDイメージの挿入
ゲスト機にログインして以下のコマンド実行

sudo mkdir /media/cdrom
sudo mount /dev/cdrom /media/cdrom
cd /media/cdrom
sudo sh VBoxLinuxAdditions.run

無事インストールされるはずなので、
その後コマンドプロンプトvagrant reloadすれば完了。
マウントもされるはず。

まとめ

guest additonsはゲスト機とホスト機のバージョンが違うと、
vagrantは自動で最新に更新してくれるらしいが、
そこで既存Ver削除→新Verインストールと手順を踏んでいて、
既存削除後新Verをインストールするときにこけると、guest additionsが消えてしまうらしい。
(実際フォルダが空になってました)
その時は少し手間ですが入れなおすのがよさそうです。