桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

VirtualBox上のLinuxゲストにGuest Additionsをインストール

d:id:youandi:20100607#p2
というのをやってみた。
今回のターゲットとなるゲストOS環境は以下の通り。ホストOSはWindowsです。

$ echo $SHELL
/bin/bash

$ lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:略
Distributor ID: CentOS
Description:    CentOS release 5.5 (Final)
Release         5.5
Codename:       Final

$ cat /etc/redhat-release
CentOS release 5.5 (Final)

$ uname -ps
Linux x86_64

以下の作業は、rootユーザ権限が必要。suするかsudoを使う。

前準備

必要となるRPMパッケージをインストール。

# yum install -y gcc-c++ make kernel-devel

Guest Additionsのインストール

  • 仮想マシンのメニューから「Guest Additions のインストール」を選択
  • Guest AdditionsのISOファイルのマウント

自動マウント出来なかった場合は、以下のコマンドを実行。

# mkdir -p /mnt/cdrorm
# mount -r /dev/cdrom /mnt/cdrom

自動マウントされた場合は「/media/〜」にマウントされる。

# ls -l /media/VBOXADDTIONS_3.2.6_63112
dr-xr-xr-x 3 root root     2048 X月 XX XX:XX 32Bit
dr-xr-xr-x 2 root root     2048 X月 XX XX:XX 64Bit
-r-xr-xr-x 1 root root      222 X月 XX XX:XX AUTORUN.INF
-r-xr-xr-x 1 root root  3296720 X月 XX XX:XX VBoxLinuxAdditions-amd64.run
-r-xr-xr-x 1 root root  3296720 X月 XX XX:XX VBoxLinuxAdditions-x86.run
                    ...
-r-xr-xr-x 1 root root     4890 X月 XX XX:XX autorun.sh

プラットフォームを確認して・・・

# uname -ps
Linux x86_64

直接インストーラを起動。

# cd /media/VBOXADDTIONS_3.2.6_63112
# sh ./VBoxLinuxAdditions-amd64.run

Guest Additionsのkernelモジュールの更新

環境によっては、Guest Additionsのインストール時にkernelのソースコードのパスが見つからないと言われる場合がある。そのような場合は以下の作業を実施する。
又、Guest Additionsのインストール後にkernelの更新を行った場合も以下の作業を実施する。

# uname -pr
2.6.18-194.8.1.el5 x86_64
# export KERN_DIR=/usr/src/kernels/$(uname -r)-$(uname -p)
# echo $KERN_DIR
/usr/src/kernels/2.6.18-194.8.1.el5-x86_64
# /etc/init.d/vboxadd setup

共有フォルダの設定

Guest AdditionsをインストールするとVirtualBoxの共有フォルダ機能が利用出来る。

  • ホストマシンの共有を行うフォルダを選択

ここで指定している「TEMP」は1つ前の手順の赤丸部分の文字列を指定する。

# mkdir -p /mnt/vboxshare
# mount -t vboxsf TEMP /mnt/vboxshare
  • 追記

uname -i」だとi686環境では「i386」が帰ってきて失敗するので「uname -p」に変更。