2015年9月20日

Windows10とVirtualBox5.0とVagrantではまったの巻その2

 以前の記事で、Windows10とVirtualBox 5.0は、正しく動作しないがあるという記事を書きました。
VirtualBox5.0.4をインストールすることで解決されているようなのでインストールしてみたら既存の仮想マシンが正しく動作しない場合があるという現象がありました。
 具体的には、Guest Additions 5.0.4が使用できないという問題です。

 それを解決する方法です。

ホストOS:Windows 10
ゲストOS:CentOS6.7 64bit版


すでに作成されていたVirtualBoxの仮想マシンにGuest Additionsのバージョンが4.3.4がインストールされている場合、VirtualBox 5.0.4をインストールしているとGuest Additionsが正しく動作しないという問題があります。


VagrantのPluginの「vagrant-vbguest」をインストールしていると本来は、正しいバージョンの「Guest Additions」をインストールしてくれるのですが、なんだかと途中でエラーを起こしてインストールできていないようなのです。

 グーグル先生に聞いてみるとLinuxのカーネルのバージョンが古いのが問題なので新しいものをインストールするようにというのが書いてありました。
※エラーメッセージにも「yum install kernel-devel-2.6.32-431.el6.x86_64」と表示されるので、その通りにしてみます。

>yum install kernel-devel-2.6.32-431.el6.x86_64
 言われたとおりにやってみる→なぜかうまくいかない
 Error: Nothing to doとメセージがでる

>sudo yum install kernel kernel-devel
 グーグル先生に聞いた通りにやっている→うまくいかない
 Error: Nothing to doとメセージがでる

これで新しいカーネルがインストールされるのでゲストOSを再起動すると新しいGuestAddionsがインストールされるはずです。
ですが、インストール自体がされません。

Qiitaでこの問題を解決している記事がありました。

Vagrantのフォルダ同期のエラーの対処

そもそも、yumでkernelのインストールを止めているようでした。
カーネルのアップグレードをする為には、「/etc/yum.conf」のカーネルを対象外にする(?)設定をコメントアウトする必要があるようです。

exclude=kernel*

#exclude=kernel*

これで、「sudo yum install kernel kernel-devel」をすると正しくインストールされます。

あとは、ゲストOSを再起動するだけです。



まとめると
  1. 同期フォルダが同期されなくなった場合、GuestAddionsのバージョンを疑う
  2. Vagrant pluginの「vagrant-vbguest」をインストールする
    vagrant plugin install vagrant-vbguest
  3. なぜか、「GuestAddions」のインストールに失敗する
    Kernelのdevelがインストールされていない為、正しくコンパイルができない。
  4. kernel-develをインストールする
    sudo yum install kernel kernel-devel

    インストールされない場合は、/etc/yum.confのexclude=kernel*をコメントアウトして再度、カーネルをインストールする
  5. ゲストOSを再起動し、フォルダ共有ができるか確認する
    できなかったら、別の問題なので解決方法を探す

これが、VagrantとVirtualBoxの最後のハマりどころになれば良いのですが…。

0 件のコメント:

コメントを投稿