木魚ブログ

@sainoky

VMware Tools 9.9.2 + kernel 3.19で共有フォルダがマウントできなくなった時の対応

VMware player 7.1.0 (on Windows) + lubuntu 15.04 (kernel 3.19)で共有フォルダ機能を使おうとしたけどなぜか全然マウントされない。いつものようにVMware Tools再インストールで解決*1しようとしたら共有フォルダ関連のところでコンパイルエラー。正確なエラーメッセージは忘れたけどこんな感じでfile構造体にf_dentryなんてメンバはないと言われる。

/tmp/modconfig-1Xsnv4/vmnet-only/driver.c:1194:20: error: ‘struct file’ has no member named ‘f_dentry’
    if (filp && filp->f_dentry) {
                    ^

さてどうするかなとググったところ、既にパッチがあったのでありがたく利用させていただく。このリポジトリにある13-vmhgfs-f_dentry-kernel-3.19-tools-9.9.2.patchがそれ。 github.com

手順はほぼREADMEのとおりだけど以下かんたんに日本語で。以下すべてゲストマシンでの作業になる。

当該パッチを含むリポジトリをクローン

$ git clone https://github.com/rasa/vmware-tools-patches.git

READMEの手順2は独自パッチを使いたい場合なので今回はスキップしてOK.

VMware Tools本体(VMwareTools-9.9.2-xxxxxxx.tar.gz)をリポジトリルートに置いたら*2スクリプトにより展開+パッチ適用

$ cd vmware-tools-patches
$ ls VMwareTools*
VMwareTools-9.9.2-2496487.tar.gz
$ ./untar-and-patch.sh

ビルド+インストール

$ ./compile.sh

無事ビルドが通り、共有フォルダがマウントされるようになりました。

*1:VMwareで共有フォルダが見えない時の対処 | Res-Log

*2:READMEによるとリポジトリルートにあるdownload-tools.shを使ってダウンロードできるとあるが今回ほしい9.9.2はダウンロードできなかった。既にVMware Playerメニュー -> Manage -> Reinstall VMware Tools...からイメージをマウント済みだったのでこれを利用した