【解決】VMware Toolsで共有フォルダが有効にならない

普段仮想環境でLinuxを使う際、VMware Playerを使っているのですが、その中の便利なツールにVMware toolsというものがあります。
これをいれると、Windows、Ubuntu間でテキストのコピペやファイルの移動、共有フォルダの作成などが使えるようになります。
そのためVMware toolsをいれ、共有フォルダ設定をしてみましょう。

まず通常のインストール方法です。
(注意:テキストのコピペやファイルの移動はできますが、共有フォルダの設定は恐らく失敗します。

Ubuntuを起動してログイン後、Player→管理→VMware Toolsのインストールを選択します。
そうするとVMware Toolsがマウントされるので、その中のVMwareTools-***.tar.gz(***はバージョン)をどこでもいいので本体にコピーし解凍します。

例)ホームディレクトリにtempを作ってそこにコピー

$ mkdir ~/temp
$ /media/<ユーザー名>/VMware\ Tools/VMwareTools-***.tar.gz ~/temp/
$ tar xvfz VMwareTools-***.tar.gz

※ただし(VMwaretoolsをダウンロードしています)となり、待ってもマウントされない場合があります。そのときはまずは再起動をして同じ操作をし、それでもだめなら管理者権限で起動させてみてください。

解凍されたディレクトリ内に、vmware-install.plがあるので実行します。
あとはデフォルトでOKです。

$ sudo perl vmware-install.pl

あとは一度終了してVMware Playerの設定で、共有フォルダを有効にしてフォルダを設定します。

すると/mnt/hgfs/share で(本来は)共有されているはずです。

・・・が。うまくいきません。
/mnt/hgfs/内に何も表示されないのです。
調べてみると14.04のアップデート後から共有フォルダの設定ができなくなっているみたいですね。

というわけで、githubでパッチを手に入れちゃいましょう。

gitコマンドをインストールしていない場合は、まずそちらをインストール。

$ sudo apt-get install git

パッチの入手

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

コマンドを実行後vmware-tools-patchesというディレクトリができるので、
その中のpatchesディレクトリから使わないvmhgfs以外のファイルを消します。

ここまで終わったら、通常と同様にVMwareTools-***.tar.gzをディレクトリ”vmware-tools-patches”にコピーします。

あとはuntar-and-patch-and-compile.shを走らせれば完了です。

$ chmod 700 untar-and-patch-and-compile.sh
$ sudo sh untar-and-patch-and-compile.sh

/mnt/hgfs/shareが出来ていると思います。

あるいはそれでもだめならこちらを試してみてください。(だめだった時もありました。)

vmware-tools-distrib/lib/modules/source/vmhgfs.tar内のvmhgfs-only/inode.cを改変

VMwareTools-***.tar.gzを解凍すると、vmware-tools-distribができると思います。
その中の
vmware-tools-distrib/lib/modules/source/vmhgfs.tarを解凍するとできる、
vmhgfs-only内のinode.cで、
d_alias となっているところをすべて d_u.d_aliasに置換してください。

その後また圧縮して$ sudo perl vmware-install.plを走らせれば共有設定できているはずです。

コマンド例

$ cd vmware-tools-distrib/lib/modules/source
$ tar xvf vmhgfs.tar
-> vmhgfs-onlyディレクトリができる
$ vi vmhgfs-only/inode.c
/d_aliasとかいて検索 -> d_u.d_aliasに書き換える
$ tar -cf vmhgfs.tar vmhgfs-only
$ cd ***/vmware-tools-distrib
$ sudo perl vmware-install.pl

毎回ここを呼ぶのが面倒なら、ホームディレクトリにリンクを作っておくといいと思います。

$ ln -s /mnt/hgfs/share ~/

では快適な仮想環境生活を!