要約:VirtualBox本体のバージョンは4.3.6で、同じバージョンのGuest Additionsはインストール失敗するけど最新バージョンのGuest Additions 4.3.28がインストールでき、共有フォルダを使えるようになった。
Contents
実行環境(昨日と同じ)、概略
• ホストOS…Windows7 32bit
• ゲストOS…CentOS 7 64bit
• ゲストOSの元 … OS Boxes - CentOS 7(VDIファイル)• 仮想化ソフトウェア … Portable VirtualBox 4.3.6
このポータブル版VirtualBoxは少し古いです。というのは、その後のバージョンだとMicrosoftのModern.IEにあるWindowsの仮想マシンを入れられなかったから。自分の環境のせいかもしれないけど。
ちょうど1ヶ月前にこのVirtualBox 4.3.6でCentOS 6.6の仮想マシンを作り(正確にはVMware Playerからの移行)、カーネル更新と若干のパッケージ追加、そして再起動してすんなりGuest Additionsをインストールできました。ところがCentOS 7で同じ手順で行うとインストール失敗。ウェブ検索して成功事例を参考に別のパッケージを入れても駄目で、いったん諦めました。
でも、昨日の最後に書いたようにGuest AdditionsがないとVirtualBox上で共有フォルダが作れず不便。せっかくPostgreSQL 9.5 Alpha 1をインストールしたことだし、何か方法はないかと調べたらVirtualBoxのフォーラムで「Guest Additionsだけ新しいバージョンにしたら、うまくいった」との情報が。詳細は下記。で自分は最新のGuest Additions 4.3.28を試したら、嘘みたいにあっさりインストールできました。
»End user forums for VirtualBox - CentOS 7 guest additions「VirualBox 4.3.12にGuest Additions 4.3.14をインストールでき、動いてる。VirualBox 4.3.14はエラーが起きて使わなかった。」
「自分も。VirualBox 4.3.12にGuest Additions 4.3.14を入れて、何の問題もない。」
「VirualBox 4.3.8をインストールし、Guest Additions 4.3.8は使わず、Guest Additions 4.3.14を使う。」
準備
最初にGuest Additionsのイメージファイル(ISO)を用意。http://dlc-cdn.sun.com/virtualbox/に各バージョンのファイルがまとまってあり(Guest Additionsだけでなく本体やExtension Packなども)、4.3.28のフォルダからVBoxGuestAdditions_4.3.28.isoをダウンロードします。約56MB。
以下インストール前の準備で、CentOS 6.6の時とほぼ同じ。まずカーネル更新から(要ルート権限)。
続いてCentOS 6.6の時と同様にパッケージ(下記5つ)を追加しますが、うちdkms(Dynamic Kernel Module Support)だけ見つからないので、リポジトリの追加が必要。
yum info kernel-devel
yum info kernel-headers
yum info gcc
yum info gcc-c++
yum info dkms # not found
前はepelの長いリポジトリURLを打ってましたが、epel-releaseという便利なパッケージを入れるだけで良いらしい。これでdkmsが見つかるのを確認して、5パッケージまとめてyumインストール。
# yum -y install epel-release
yum info dkms # for confirmation
# yum -y install kernel-devel kernel-headers gcc gcc-c++ dkms
ここで再起動。ブートメニューに新しいカーネルのが追加されてました。以上で準備は終わり。
VirtualBox Guest Additions 4.3.28インストール
CUIでも出来ますが、画像の方が分かりやすいので。仮想マシンのウィンドウ右下にあるアイコン群のうち、光学ドライブの所を右クリック。Guest Additionsのイメージファイルをマウントします。
本体と同じバージョン4.3.6でなく、先ほど用意したVBoxGuestAdditions_4.3.28.isoを選択。マウントされたら自動実行の確認ダイアログが出ます。ルートパスワード入力を経てインストール開始。
インストール開始後、Building the VirtualBox Guest Additions kernel modulesの所で結構待ちます。以前の失敗時は、ここであっさりFAILEDになってすぐ終わってました。時間かかったものの無事終了。
共有フォルダ作成
Guest Additionsがインストールできたら、再起動しないですぐマウスのシームレスな移動が出来ました。これでホスト側のウィンドウにフォーカスを戻す時のキー入力が不要になって楽。早速、右下のアイコン群から共有フォルダの所を右クリックし、設定ダイアログを開きます。
↓ とりあえずRAMDiskを共有。Auto-mountとMake Permanentにチェックを入れ、次の起動以降は常に有効に、かつ自動的にマウントされるように。設定後、右下の共有フォルダアイコンに色が付けばOK。マウスを持ってくとフォルダ情報がポップアップで出ます。ただし実際に有効になるのは次の起動以降。
↓ 再起動すると、なぜか画面解像度が今までの800x600から1024x768に変わり、変更できない。いずれGUIは使わなくなるので今回は放置。それより共有フォルダが使えるか確認します。
/media下に「sf_共有フォルダ名」でマウントされているのを確認。所有グループはvboxsfになり、共有フォルダへ書き込むにはこのグループにユーザを登録する必要があります(6月12日の記事で、postgresユーザを例に行ったように)。とりあえず今日はルート権限で読み込みできるかテスト。
ls -l /media
sudo ls -l /media/sf_win_r
sudo cat /media/sf_win_r/test.txt
/media/sf_win_rの実体はホスト機(Windows7)のRAMDiskで、その一覧と、そこにあるテキストファイルを読み込めました。日本語のファイル名・テキストも問題なく表示。昨日までは「VirtualBox Guest Additionsが入れられなかったら別の共有方法を考えないと…」と晴れない気分でしたが、無事できて一安心。