VirtualBoxをMac上で動かした際にゲストOSのCentOS5に共有フォルダをマウントする方法です。
- ホストOS:Mac
- ゲストOS:CentOS5
WindowsのVMWarePlayerで使っていた仮想環境をMacのVirtualBoxで動かす
でゲストOSの環境をVMWarePlayerから引っ張ってきた状態からスタートします。
CentOS5に共有フォルダの設定
http://mpweb.mobi/windows/share-centos.php
などを参考にVirtualBOXの設定画面から共有フォルダの設定を行います。
Guest Additionsインストール
CentOSにGuest Additionsをインストールします。まずCDイメージですが、
/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso
にあるので、自分のフォルダに適当にコピーしておきます。
その上でゲストOSを起動して、CDにVBoxGuestAdditions.isoのセットを行います。
システム上でマウントをします。
# mkdir /mnt/cdrom # mount -r /dev/cdrom /mnt/cdrom # yum install gcc # yum install make # yum install kernel-devel # cd /mnt/cdrom # ls -l
インストーラを実行します。
# sh ./VBoxLinuxAdditions.run
エラーが出ました。
Verifying archive integrity... All good. Uncompressing VirtualBox 4.3.20 Guest Additions for Linux............ VirtualBox Guest Additions installer Removing installed version 4.3.20 of VirtualBox Guest Additions... Copying additional installer modules ... add_symlink: link file /usr/lib/VBoxGuestAdditions already exists Installing additional modules ... Removing existing VirtualBox non-DKMS kernel modules [ OK ] Building the VirtualBox Guest Additions kernel modules The headers for the current running kernel were not found. If the following module compilation fails then this could be the reason. The missing package can be probably installed with yum install kernel-devel-2.6.18-128.1.6.el5 Building the main Guest Additions module [FAILED] (Look at /var/log/vboxadd-install.log to find out what went wrong) Doing non-kernel setup of the Guest Additions [ OK ] Installing the Window System drivers Installing X.Org 7.1 modules [ OK ] Setting up the Window System to use the Guest Additions [ OK ] The following X.Org/XFree86 configuration files were originally generated by the VirtualBox Guest Additions and were not modified: /etc/X11/xorg.conf You may need to restart the hal service and the Window System (or just restart the guest system) to enable the Guest Additions. Installing graphics libraries and desktop services componen[ OK ]
ログを見てみます。
# cat /var/log/vboxadd-install.log /tmp/vbox.0/Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop. Creating user for the Guest Additions. Creating udev rule for the Guest Additions kernel module.
カーネルのソースのパスを指定する必要があるようです。
ただ今回の場合、
yum install kernel-devel-2.6.18-128.1.6.el5
を行った際に、該当するパッケージがなくてインストールが上手く行っていませんでした。
現在利用中のカーネルのバージョンを確認します。
# rpm -qa kernel\* | sort kernel-2.6.18-128.1.6.el5 kernel-2.6.18-92.1.22.el5 kernel-2.6.18-92.el5 kernel-devel-2.6.18-400.1.1.el5 kernel-headers-2.6.18-128.1.6.el5
あたらしすぎるkernel-develがインストールされているので、kernelと同じバージョンのkernel-develをインストールし直します。
# yum install kernel-devel -y # yum remove kernel-devel # wget http://vault.centos.org/5.3/updates/i386/RPMS/kernel-devel-2.6.18-128.1.6.el5.i686.rpm # yum localinstall kernel-devel-2.6.18-128.1.6.el5.i686.rpm # export KERN_DIR=/usr/src/kernels/2.6.18-128.1.6.el5-i686
改めてGuest Additionsをインストールします。
# sh ./VBoxLinuxAdditions.run
マウントを行います。
mount -t vboxsf -o dmode=0777,fmode=0777 share(共有フォルダ名) /mnt/hgfs/share/(マウント先)
リブート対応
リブート時にも自動的にマウントするように設定を行います。
# vim /etc/rc.local mount -t vboxsf -o dmode=0777,fmode=0777 share(共有フォルダ名) /mnt/hgfs/share/(マウント先)
エラーログとその対処方法
unknown filesystem type ‘vboxsf’
マウントしようとした時に
mount: unknown filesystem type ‘vboxsf’
が出る場合、「Guest Additions」をゲストOS側にインストールする必要があります。
mounting failed with the error: No such device
マウントしようとした時に
/sbin/mount.vboxsf: mounting failed with the error: No such device
が出る場合、「Guest Additions」のインストールが正常に完了していません。
Guest Additionsインストールエラー
# cat /var/log/vboxadd-install.log /tmp/vbox.0/Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop.
カーネルのソースコードのパスが上手く取れていません。
export KERN_DIR=
を指定します。