您的位置:首页 > 运维架构 > Linux

XP下VMware模拟Ubuntu不能使用共享文件夹问题解决vmhgfs

2008-03-17 20:30 411 查看
XP下使用VMware workstation 6.0.2虚拟ubuntu后,安装VMware Tools,由于重新编译内核,过程中出现编译错误,导致设置了共享文件夹后,虽然可以看到/mnt/hgfs/但仍旧不能访问共享目录。 到网上查了一些资料,这一篇资料最准确。

问题:主要问题是在安装vmware tools时编译vmhgfs模块出错:
代码:
/tmp/vmware-config0/vmhgfs-only/filesystem.c: In function ‘HgfsInitFileSystem’:
/tmp/vmware-config0/vmhgfs-only/filesystem.c:582: error: too few arguments to function ‘kmem_cache_create’
/tmp/vmware-config0/vmhgfs-only/filesystem.c:593: error: too few arguments to function ‘kmem_cache_create’
make[2]: *** [/tmp/vmware-config0/vmhgfs-only/filesystem.o] Error 1
make[1]: *** [_module_/tmp/vmware-config0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/vmware-config0/vmhgfs-only'
Unable to build the vmhgfs module.
解决:请将vmware tools的安装文件解压到用户目录下(~/vmware-tools-distrib)。
首先进入此目录:
代码:
$ cd ~/vmware-tools-distrib
把将要更改的文件分离出来备份:
代码:
$ mv lib/modules/source/vmhgfs.tar vmhgfs.tar.orig
解压缩此文件:
代码:
$ tar -xvf vmhgfs.tar.orig
编辑文件解压后生成的vmhgfs-only目录中的compat_slab.h:
代码:
$ vim vmhgfs-only/compat_slab.h
找到此行:
代码:
if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)
     Ubuntu7.10的内核版本为2.6.22.14,因此
更改为:
代码:
if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)
就是把小于(<)改为小于等于(<=).

现在我们已基本完成了,仅需重新打包压缩更改的文件夹,并把它拷贝回去(lib/modules/source/vmhgfs.tar):
代码:
tar -cvf lib/modules/source/vmhgfs.tar vmhgfs-only
将此vmhgfs.tar文件复制到ubuntu系统的vmware-tools中(/usr/lib/vmware-tools/modules/source/):
代码:
$ sudo cp lib/modules/source/vmhgfs.tar /usr/lib/vmware-tools/modules/source/vmhgfs.tar
重新设置vmware tools:
代码:
$ sudo vmware-config-tools.pl
一路按回车键。 问题解决。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐