どんな事でもお気軽にお問い合わせください
06-6567-0924

VirtualBoxの共有フォルダがマウントできなくなった時の対処法


こんにちは。
開発チームのワイルド担当、まんだいです。

VirtualBoxの共有フォルダはとても便利で、とても重宝しています。
でも、ある時急にマウントできなくなったりして、そういう時はどうすればいいか分からないまま、色々別の方法でファイルをやり取りしてやり過ごしていました。

最近、ようやくその原因が分かったので、対応した方法をメモしておこうと思います。

ゲームAPIを開発する場合、本番環境はLinuxという事が多いので、Windowsマシンを使っていますが、VMで近しい環境を手元に置いて、というパターンで未だやり過ごしています。

VM周りの環境ですが、VirtualBoxを利用していて、VMのOSイメージは概ねCentOSです。

 

レベル1 Guest Additions CDからツールを再インストール

まずパッと思いつくのがこれ。

少し古い記事ですが、VirtualBox共有フォルダ覚書 | dark_greenの日記 | スラドにもあるように、カーネルモジュールをyumなどでアップデートした場合に、発生する事が多いですね。
VMなので、もっと雑に扱ってもいいんでしょうか。

VirtualBoxのメニューの「デバイス」から「CDイメージの挿入」という項目を選択すると、インストールツールが自動起動します。
もう既にデスクトップにCDがマウントされている状態なら、CDのアイコンをダブルクリックすればOKです。

紹介しておいて、こう言うのもどうかと思いますが、これで治るくらいなら悩んじゃいませんね。

 

レベル2 共有フォルダの再設定

過去に見えるようになったケースがあったのはこの対処法。

これはVirtualBoxマネージャーにある、VMの設定から設定できます。
もしくは、VMのUIを表示しているなら、右下にフォルダのアイコンがあるのでそちらをクリック。

ホスト側、ゲスト側双方のディレクトリが正しく設定できれば、マウントされる事もあります。

 

レベル3 mount.vboxsfのシンボリックリンクを張り替える

最後に、今回復旧した対処法が、mount.vboxsfのシンボリックリンクのリンク先を変更するというもの。

何がどうなっていたかというと、共有フォルダを実現するための、マウントコマンドとなっている、mount.vboxsfの実体が実は違っていた、というもの。

which mount.vboxsf
/sbin/mount.vboxsf

ls -al | grep vboxsf
mount.vboxsf -> /usr/lib64/VBoxGuestAdditions/mount.vboxsf

 
これ、ファイルがない訳ではなく、/usr/lib64/VBoxGuestAdditions/mount.vboxsfのパスにファイルは存在します。

で、これをどうするかというと、

# cd /sbin
sudo ln -sf /usr/lib/VBoxGuestAdditions/mount.vboxsf mount.vboxsf

 
/usr/lib 以下にもある、VBoxGuestAdditions配下のmount.vboxsf へシンボリックリンクの向き先を変更するだけです。

自動マウント設定になっているようなら、VMを再起動すると、dfコマンドなどでちゃんとマウントされているのが分かります。

OSば64ビット版のCentOSなので、/usr/lib64 でも良さそうなものですが、どうやら違うようですね。
これは、Guest Additions CDのインストーラが悪いんじゃないかと思うんですが、どうなんでしょうか、オラクルさん?

これもカーネルモジュールのバージョンアップをした後から起こったような気がします。

やはりVMのカーネルアップデートは色々と危険がありそうです。

 
以上です。


お問い合わせ 採用情報 エンジニアブログ
ISO27001認証
Contact PageTop
株式会社ビヨンド

© beyond Co., Ltd. All rights reserved.

mautic is open source marketing automation