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
vagrant plugin install vagrant-vbguest vagrant vbguest vagrant reload
その3、guest additionsを入れなおす
その1でも、その2でもうまくいかなかったら、
CDからguest additionsを入れなおしたらうまくいった。
まず、VirtualBoxのGUIで対象のVagrantのVMを選択し、
設定→ストレージ→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をセットして起動
VirtualBoxのGUIでVMを起動し、右クリック→表示→ウィンドウが出る→ツールバーの「デバイス」を選択→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が消えてしまうらしい。
(実際フォルダが空になってました)
その時は少し手間ですが入れなおすのがよさそうです。