読者です 読者をやめる 読者になる 読者になる

clock-up-blog

go-mi-tech

Windows7 のディレクトリを VirtualBox の CentOS にマウントする

Windows VirtualBox CentOS

VirtualBox の共有フォルダ機能を導入するためのアレコレです

いろいろハマったのでメモ。

構成概要

f:id:kobake:20140112221533p:plain
…ということがやりたい。

手順概略

手順1:(VirtualBoxCentOS) VBoxLinuxAdditions のインストール

VirtualBox にて:

[デバイス] - [Guest Additions のCDイメージを挿入] をクリック

f:id:kobake:20140112204949p:plain:w400

CentOSにて:

# yum -y install gcc make kernel-devel libdrm libdrm-devel
# cd /usr/src/kernels/2.6.32-431.3.1.el6.x86_64/include/drm/
# ln -s /usr/include/drm/drm.h drm.h
# ln -s /usr/include/drm/drm_sarea.h drm_sarea.h
# ln -s /usr/include/drm/drm_mode.h drm_mode.h
# ln -s /usr/include/drm/drm_fourcc.h drm_fourcc.h
# mkdir /mnt/cdrom
# mount -r /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom
# ./VBoxLinuxAdditions.run 

これがスムーズにいけば良いんだけど、まぁハマる。
ハマりどころをこの記事の下のほうに書いておきました。

手順2:(Windows) フォルダ作成

普通に C:\hoge とかを作る。既存ディレクトリでもOK。

手順3:(VirtualBox) 共有フォルダ設定の追加

VirtualBox にて、[デバイス] - [共有フォルダー設定] - [新規共有フォルダーを追加] で、目的のディレクトリを追加する。
f:id:kobake:20140112224143p:plain:w400
f:id:kobake:20140112224152p:plain:w400
f:id:kobake:20140112224157p:plain:w400

手順4:(VirtualBoxCentOS) マウント

手順3の共有フォルダ設定の追加で、「自動マウント」にチェックをしておくと、
自動で、「/media/sf_hoge」というディレクトリにマウントが行われる。

ってことで、あとは目的のディレクトリにシンボリックリンク貼ればOK。

# ln -s /media/sf_hoge /var/hoge

手順5:(VirtualBoxCentOS) グループ設定

マウントされたディレクトリ内のファイルは、以下のようにグループが vboxsf になるので、

$ ls -l /var/hoge
…
-rwxrwx---. 1 root vboxsf       14 Jan  9 08:22 aa
drwxrwx---. 1 root vboxsf        0 Nov 16 18:44 blog
…

vboxsfグループに普段使うユーザを追加しておくと良いです。

# gpasswd -a (ユーザ名) vboxsf

ハマりどころ

「Building the main Guest Additions module」が失敗する

# ./VBoxLinuxAdditions.run 
…
Building the main Guest Additions module                   [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
…
# tail /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.
…

KERN_DIR を指定しろと言われて指定しても…

# KERN_DIR=/usr/src/kernels/2.6.32-431.3.1.el6.x86_64 ./VBoxLinuxAdditions.run 
# tail /var/log/vboxadd-install.log
/tmp/vbox.0/Makefile.include.header:106: *** Error: KERN_DIR does not point to a directory.  Stop.

ダメぽ。どうやら「uname -r」が示すバージョンと KERN_DIR が示すディレクトリが食い違っているとダメらしい。

ってことで、こういうときには、

# yum -y update
# shutdown -r now

という暴力的な解決を。

参考:

error: drm/drm.h: No such file or directory

# ./VBoxLinuxAdditions.run 
…
Building the OpenGL support module                         [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
…
# tail -1000 /var/log/vboxadd-install.log
…
include/drm/drmP.h:76:21: error: drm/drm.h: No such file or directory
include/drm/drmP.h:77:27: error: drm/drm_sarea.h: No such file or directory
…

drm.h 等のヘッダが参照できていない。

以下コマンドでシンボリックリンクを作っておくと良い。

# cd /usr/src/kernels/2.6.32-431.3.1.el6.x86_64/include/drm/
# ln -s /usr/include/drm/drm.h drm.h
# ln -s /usr/include/drm/drm_sarea.h drm_sarea.h
# ln -s /usr/include/drm/drm_mode.h drm_mode.h
# ln -s /usr/include/drm/drm_fourcc.h drm_fourcc.h

参考:

});