vmhgfsモジュールは、Ubuntu Linuxカーネルを3.13.0-46-generic(2015年2月)に更新した後、VMware Tools 9.9.0(Fusion7.1)およびVMware Tools 9.9.2(Fusion7.1.1 Build 2496486)にコンパイルできません(共有フォルダー機能VMware ToolsがMacOSX Yosemite(ホスト)上のUbuntu 14.04 LTS(ゲスト)で機能しないのですか?
こんにちはコミュニティとVMware開発チーム、
2015年2月13日、UbuntuとMacOSXの間の共有フォルダー機能が失われました。おそらく、Linuxカーネルを3.13.0-46-genericに更新すると、この問題が発生しました(ただし、UbuntuのVMware Toolsの既存のコンパイル済みvmhgfsモジュールは、Linuxカーネルの更新によって破損しません!)。古いLinuxカーネルでは問題なく、VMware Fusion 7.0.0とUbuntu 14.04 LTSおよびMacOSXを1年間使用します。 VMware Tools 9.9.2でVMware Fusion 7.1.0およびFusion7.1.1ビルド2496486に更新し、versで最初に発生した共有フォルダー機能の問題を修正することを期待しています。 7.0.0。
コンパイルされたvmhgfsモジュールと新しいLinuxカーネル3.13.0-46-genericの間に非互換性があると想定できます。
VMwareツール9.9.0以降を再インストールしようとしました。 9.9.2が、vmhgfsモジュールをコンパイルできず、共有フォルダー機能が機能していません。他のすべてのVMwareツール機能は正常に動作しています。
Ubuntu 14.04 LTSでは、ターミナルコマンドlsmod | grep "vm。" vmhgfsモジュールをリストしません
Vmhgfsモジュールのコンパイル中に、「/ vmhgfs-only /」および「make []:」の近くにいくつかの「エラー」がありました。
ターミナルジャーナルの1つを以下に示します。
include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
make[2]: *** [/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.o] Error 1
make[1]: *** [_module_/tmp/modconfig-h4Zwi0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-46-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-h4Zwi0/vmhgfs-only'
また、/ mnt/hgfsは空ですが、たとえばMacの「ドキュメント」ディレクトリでフォルダー共有が有効になっています。ターミナルでvmware-hgfsclientを実行すると、共有フォルダーのリストが取得されますが、/ mnt/hgfsは空です。
Vmhgfsモジュールと新しいLinuxカーネル3.13.0-46-genericとの非互換性を修正してください。
宜しくお願いします、
トニ
ツールは手動でパッチを適用できます。 vmhgfs.tarで、inode.c d_alias
をd_u.d_alias
に変更し、tarに戻してからツールを再コンパイルする必要があります。
これを実行するスクリプト(32ビットubuntu 14.04、Windowsホスト上のvmwareワークステーション11.1でテスト済み)は次のとおりです。
#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m
注:これにより、ツールは古いカーネルバージョン、つまり3.13.0-45と互換性がなくなります。
カーネル3.13.0-46にアップデートした後も同じ経験をしました。 vmware-tools-patches によると、利用可能なパッチはありません。
次のLinuxカーネルでは、パッチはまだ正常に適用されていません。
3.13.x
vmhgfs
を修正しました:
@Will Wolcottの答えと同様に、 vmware-tools-patchesの最近の変更 は、カーネル3.13の14.04での問題を回避します。