解决vmware虚拟机中,已安装vmware-tools却没法共享文件夹的问题

    众所周知,在win7主机与linux虚拟机之家开启文件夹共享,可以省去每次都ftp的麻烦。在测试的时候,可以方便很多。linux

    以前我在宿主机win7里面安装了vmware,而后装了一个centos虚拟机。而后正常安装了 vmware-tools,一切顺利,最后也出现了“Enjoy” 的提示。可是就是死活没法与win7共享文件夹。这在之前是没有发生过的事情。在将vmware卸载重装升级为 vmware 10 以后,问题依旧。最近因为是在没法忍受,怒上心头,誓要解决该问题。c++

    在网上参考了这两篇文章(1,解决 CentOS 7.0 在VMware 10下安装 WMware Tools错误的问题http://blog.csdn.net/hang_zheng/article/details/41520271。2,VM下Ubuntu 10.10里安装VMtools成功仍是没法显示共享文件夹问题:http://www.linuxidc.com/Linux/2011-02/32038.htm),将两篇文章结合起来看,就解决了个人问题。为避免用户本身花时间总结,下面我说出个人探索历程,但愿可以给看官一点启发。之后即便遇到的不是我这同一种类型的错误,也能用相似的办法解决。centos

    现象:设置了文件夹共享,可是在 虚拟机的 /mnt/hgfs目录里面并无个人共享文件夹。因而尝试执行 vmware-toolbox-cmd 命令,看看 vmware-tools 是否正常。测试

    问题:执行 vmware-toolbox-cmd 命令直接报错:
    vmware-toolbox-cmd: Missing command
    Try 'vmware-toolbox-cmd help' for more information..net

    此时我就想到从新安装 vmware-tools,因而执行 sudo vmware-install.pl。看到这么几句话:orm

If you wish to have the shared folders feature, you can install the driver by
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine.
These packages are available on your distribution's installation CD.
[ Press Enter key to continue ]htm

    意思是说,若是想开去 文件夹共享的特性,在确保安装了几个库文件以后,执行 vmware-config-tools.pl 来安装。这提示仍是很到位的。而后就是安装这几个库了: sudo yum install kernel-headers make gcc gcc-c++ kernel-devel binutils. 而后执行  vmware-config-tools.pl 脚本,却报以下错误:blog

 

/tmp/modconfig-dBTDLE/vmhgfs-only/./shared/compat_dcache.h:57:38: error: 'struct dentry' has no member named 'd_count'
 #define compat_d_count(dentry) dentry->d_countget

提示说这个头文件有问题!可是我想去/tmp/modconfig-dBTDLE/vmhgfs-only/./shared 目录里面找到compat_dcache.h文件,发现 /tmp 目录里面压根就没有那个文件夹啊,它是临时生成的。把这一行报错百度以后,找到了第一篇文章,而后里面的这一句: 修改vmhgfs-only/compat_dcache.h 。但是找遍了全部的目录,也没有发现 这个东西。因而继续找,找到了第二篇文章,第二篇文章里面虽说的是另一个问题的解决办法,找的文件不是 compat_dcache.h,而是 compat_slab.h ,可是 它却告诉了我 vmhgfs-only 这个文件夹是怎么来的!因而,将这两篇文章结合起来看,我就知道我应该进入个人 vmware 文件夹cmd

/home/lk/vmware-tools-distrib/lib/modules/source里面,解压vmhgfs.tar(终端命令:tar -xvf vmhgfs.tar),解压后生成文件夹vmhgfs-only,删除文件夹vmhgfs.tar(rm -f vmhgfs.tar)(由于后面要修改后从新压缩生成该名称文件夹),而后进入/vmhgfsr-only/share 找到compat_dcache.h,首先用命令:chmod +w compat_dcache.h修改该文件的只读属性为可写,用vi或gedit进入对其修改(vi compat_dcache.h),找到该行:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)

,将该行替换为:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)(即将 11 改成 10),保存退出.

原来的 vmhgfs.tar 已经删除了, 从新打包成 vmhgfs.tar,

tar -cvf vmhgfs.tar vmhgfs-only/,

从新运行 ./vmware-install.pl 便可。

相关文章
相关标签/搜索