VMware ToolsでLinux 3.xカーネルに他力本願で対応して共有フォルダにアクセスする。

More than 3 years have passed since last update.


はじめに

興味本位で、GentooやFedoraベースのLinuxディストリビューションである「Korora」をVMwareで試してみたくて、VMware Toolsをインストールしようとして「はまった」ので、ここに覚書をしておきます。

open-vm-toolsでスンナリ動く環境の場合は、この記事は不要です。


ここで解説する環境

ホストOS:

- Windows 8.1 Pro 64bit

- VMware Workstation 10

- VMwareで設定した共有フォルダの名前: CommonFolder

ゲストOS:

- korora 23 64bit(4.4.8-300.fc23.x86_64):korora-23-x86_64-cinnamon.iso より2016/05/10時点までのアップデートを適用

- VMwareTools-9.6.2-1688356.tar.gz

- open-vm-tools 10.0.0

Kororaでは、cinnamon、gnome、kde、mate、xfceが選べるようですので、ここはなんとなく使って見たかったcinnamonを選びました。

また、ゲストOSは、おそらく 他人様の努力次第(後述)で Korora以外でも同様の手順で行けるかと思います。


結論までの試行錯誤

さっさと解決方法を見たい方は、以下を飛ばして「 手順 」の項へお進みください。


VMware Toolsのインストールをこれまでの手順で試みる。

まず、Kororaを普通にゲストOSとして仮想マシンにインストールすると、標準でopen-vm-toolsがインストールされた状態で完了します。

ですので、何も考えずにVMware ToolsのCDイメージをマウントし、以下のように進めようとすると、見事に怒られます。


shell

$ sudo umount /run/media/Jaken/korora-23-x86_64-cinnamon

$ sudo mkdir /mnt/cdrom/
$ sudo mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
$ cp /mnt/cdrom/VMwareTools*.tar.gz /tmp/
$ sudo umount /mnt/cdrom
$ tar xfvz /tmp/VMwareTools*.tar.gz
$ cd vmware-tools-distrib/
$ sudo ./vmware-install.pl

The installer found the following conflicting packages installed on the system and will now remove them:

open-vm-tools

open-vm-toolsって何よ?で、少し調べてみると、VMware Toolsを使うよりも、最近は、open-vm-toolsがオススメらしいことがわかります。


初期状態のopen-vm-toolsで試みる。

それなら・・・と、調べながら試行錯誤しても、ホストマシンで設定した共有フォルダが見れませんでした。(私が試した時、現在リポジトリにある最新のバージョンはopen-vm-tools 10.0.0 でした。今後はopen-vm-toolsで対応されれば、この記事の内容は不要になると思います)

私が経験した現象は、 vmware-hgfsclient で共有フォルダの名前は取得できますが、 sudo mount -t vmhgfs .host:/CommonFolder /mnt/CommonFolder みたいにダサい名前の共有フォルダを接続しようとすると、カーネルにvmhgfsモジュールが組み込まれていないために、以下のエラーになってしまうというものでした。

mount: 未知のファイルシステムタイプ 'vmhgfs' です

ディストリビューションによっては、このあたりにちゃんと対応しているようで、ここで問題なく接続できる場合は、すんなり行くようですね。

ubuntuには、 vmware-hgfsmounter というものもあるようですが、Kororaには無さそうでしたので、試していません。


VMware Toolsをインストールする方法を試みる。

ということで、vmhgfsについて調べてみると、VMware Toolsに含まれているモジュールであることがわかり、カーネルイジリなどした事のない私の知識では、open-vm-toolsは厳しいと感じ始めます。

(ただ、深く調べる前に、別の解決方法を見つけてしまったので、open-vm-toolsの素の機能で、もっと簡単にできるのかもしれません。私の知らない方法があれば、ぜひ教えてください!)

そこで、sudo dnf remove -y open-vm-tools* な感じでさっくりアンインストールし、再度チャレンジするのですが、インストーラーの質問にEnterキーで応えつつ、いくつか進めたところで、問題にぶち当たります。

そこで初めて VMware ToolsはLinux 3.xカーネル以上に対応していない ことに気が付きます。

いろいろ見ていると・・・

このあたりを見て、できそうな気持ちにはなるのですが、どうもここまでやる気分になれません。

そこで、さらに調べている中で、以下の方法を発見します。


手順

GitHubでこのプロジェクトを見つけたことで、私はタバコをやめました。

rasa/vmware-tools-patches - GitHub

いや、ほんと、素晴らしい。ありがとうrasaさん、感謝です!


shell

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

$ cd vmware-tools-patches
$ ./patched-open-vm-tools.sh

ドキュメントのQuickest Startのまんまにコマンドを叩いていくと、あっという間に完了です。今まで何を悩んでいたのか、もうすっかり忘れてしまいました。

確認すると、 /mnt/hgfs/CommonFolder に共有フォルダがマウントされていました。また、ゲストOS再起動後の接続もしっかりされていました。

ということで、open-vm-toolsがもう少し使えるようになるまでは、vmware-tools-patchesのお世話になりそうです。