要約:VirtualBox本体のバージョンは4.3.6で、同じバージョンのGuest Additionsはインストール失敗するけど最新バージョンのGuest Additions 4.3.28がインストールでき、共有フォルダを使えるようになった。
Contents


実行環境(昨日と同じ)、概略
• ホストOSWindows7 32bit
• ゲストOSCentOS 7 64bit
• ゲストOSの元 …
OS Boxes - CentOS 7(VDIファイル)
• 仮想化ソフトウェア … Portable VirtualBox 4.3.6

このポータブル版VirtualBoxは少し古いです。というのは、その後のバージョンだと
MicrosoftModern.IEにあるWindowsの仮想マシンを入れられなかったから。自分の環境のせいかもしれないけど。

ちょうど1ヶ月前にこのVirtualBox 4.3.6CentOS 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の時とほぼ同じ。まずカーネル更新から(要ルート権限)。
# yum -y update kernel


続いて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-mountMake Permanentにチェックを入れ、次の起動以降は常に有効に、かつ自動的にマウントされるように。設定後、右下の共有フォルダアイコンに色が付けばOK。マウスを持ってくとフォルダ情報がポップアップで出ます。ただし実際に有効になるのは次の起動以降。


↓ 再起動すると、なぜか画面解像度が今までの800x600から1024x768に変わり、変更できない。いずれGUIは使わなくなるので今回は放置。それより共有フォルダが使えるか確認します。


/media下に「sf_共有フォルダ名」でマウントされているのを確認。所有グループはvboxsfになり、共有フォルダへ書き込むにはこのグループにユーザを登録する必要があります
(612日の記事で、postgresユーザを例に行ったように)。とりあえず今日はルート権限で読み込みできるかテスト。
ls -l /media
sudo ls -l /media/sf_win_r
sudo cat /media/sf_win_r/test.txt

/media/sf_win_rの実体はホスト機(Windows
7)のRAMDiskで、その一覧と、そこにあるテキストファイルを読み込めました。日本語のファイル名・テキストも問題なく表示。昨日までは「VirtualBox Guest Additionsが入れられなかったら別の共有方法を考えないと…」と晴れない気分でしたが、無事できて一安心。