CentOS VirtualBox 共有フォルダが参照できなくなった時の対処法

もともと共有フォルダとして使用していた場所がサーバを再起動したことで、CentOSから参照できなくなってしまいました。

しばらくサーバ起動したままだったので、いつ外れたのかもわかりません笑

ということで、再設定したときの手順をご紹介します。

 

環境は以下のような感じです。

CentOS 7.6.1810

VirtualBox 4.3.12

 

再設定

 

デバイス > 共有フォルダの設定を開きます。

...とここで、Guest Additionsがインストールされていないよ的なメッセージがでているのですが、私は最初無視しました笑

おそらく、以前はインストールされている状態にあったのですが、何かの拍子で消えてしまったらしく、再インストールが必要なようです。

 

 

Guest Additionsをインストールする

デバイス > Guest AdditionsのCDイメージの挿入

 

GuestAdditionをマウント

sudo mkdir -p /mnt/cdrom
sudo mount -r /dev/cdrom /mnt/cdrom/

 

必要なパッケージをインストール

sudo yum install -y bzip2 gcc make kernel-devel kernel-headers dkms gcc-c++

 

GuestAdditionsをインストール

sudo sh /mnt/cdrom/VBoxLinuxAdditions.run

 

この時点では以下のようなエラーが返ります。

Building the main Guest Additions module [失敗] (Look at /var/log/vboxadd-install.log to find out what went wrong)

 

ログを確認しろと言われるので、確認

vi /var/log/vboxadd-install.log

 

ctrl + G で最下部へ行くと、以下のようなメッセージが。

cc1: some warnings being treated as errors
make[2]: *** [/tmp/vbox.0/vboxvideo_drm.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make: *** [vboxvideo] Error 2
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.

 

エラーメッセージを調べていたら、この記事にたどりつきました。https://senooken.jp/blog/2015/06/02/

 

記事を参考にし、memobj-r0drv-linux.cのソースコードを修正します。

cd /opt/VBoxGuestAdditions-4.3.12/src/vboxguest-4.3.12/vboxguest/r0drv/linux
sudo vi memobj-r0drv-linux.c

 

1536, 1541行目
変更前 ~ KERNEL_VERSION(3, 13, 0)
変更後 ~ KERNEL_VERSION(3, 10, 0)
を書き換え

/を使うと、後ろに対して検索を行えます。

 

 

Guest Additionをもう一回インストールしてみましょう

sudo /etc/init.d/vboxadd setup

 

今度は先ほどのエラーが消え、新たにBuilding the OpenGL support moduleがエラーになりましたが、これは問題ないので、無視して大丈夫です。

 

再起動

sudo reboot

 

共有フォルダをマウントする

sudo mount -t vboxsf  共有フォルダの設定 共有フォルダ名

 

共有フォルダの設定 は、以下の画像のフォルダ名で設定した名前です。

 

共有フォルダ名 は、Linux内で、共有フォルダとしたいフォルダ名を入力します。

 

もし、mounting failed with the error protocol error

というエラーが返った場合は、

共有フォルダ設定の「自動マウント」にチェックが入っていると思うので、外してください。

 

マウントが成功しましたら、フォルダ共有できているか確かめてください。

しかし、このままでは、サーバを再起動した際に、マウントが解除され、毎回コマンドを叩かねばなりません。

そこで、私は.bash_profileにmountのコマンドを入力しました。

(あまり良い方法ではないと思うけども)

 

これで設定が完了です。

コメントを残す

CAPTCHA