一直以来,安装VMware tools问题会遇到这样或那样的问题,特别是共享文件夹找不到的问题。有时候在一台电脑上搭建好了一个环境,过了很长时间买了新电脑又想搭建一个环境时,又会遇到问题。现在我把主要几个可能遇到的问题的解决方法说明一下:
我主要装过Fedora 13 和 Fedora 9 这两个系统,VM装过5.5和6.5版本。需要注意的是,根据我的经验,VM5.5版本自带的VM Tools版本过低,就是算安装成功也无法找到共享文件夹。所以要下载一个最新的VMtools.iso安装包。我下的安装包文件名是linux.iso。安装过程如下;
1、把iso加载到VM的光驱中,在虚拟机的Fedora桌面会看到加载的盘,双击,将其中的vmtools.XXX.tar.gz文件拷到home目录下。
2、打开一个终端,进入到home目录,解压vmtools.XXX.tar.gz
3、进入vmtools文件夹,执行./vmware-install.pl,
一路回车,在What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]时提示找不到C Header。
这时,首先检查是否安装了内核开发库kernel-devel
[root@localhost ~]# rpm -q kernel-devel
package kernel-devel is not installed
没有安装,然后查找目前所用的内核版本
[root@localhost ~]# uname -r
2.6.25-14.fc9.i686
可以去安装盘中找kernel-devel-2.6.25-14.fc9.i686.rpm的安装包,如果没有,就到www.kernel.org去下载,网上也蛮多,肯定可以找到相应的版本。
拷贝到自己的目录下,安装
[root@localhost home]# rpm -ivh kernel-devel-2.6.25-14.fc9.i686.rpm
[root@localhost home]# rpm -q kernel-devel
kernel-devel-2.6.25-14.fc9.i686
kernel-devel安装成功。
内核安装完毕后,需要用这个命令确定内核 C header 的安装目录:ls -d /usr/src/kernels/$(uname -r)*/include
5、再重新运行 ./vmware-install.pl ,一路回车下来,C header是找到,但会出现
In file included from include/linux/string.h:11,
from /tmp/vmware-config3/vmhgfs-only/cpName.h:18,
from /tmp/vmware-config3/vmhgfs-only/cpName.c:18:
include/linux/types.h:40: 错误:与‘uintptr_t’类型冲突
/tmp/vmware-config3/vmhgfs-only/vm_basic_types.h:170: 错误:‘uintptr_t’的上一个声明在此 make[2]: *** [/tmp/vmware-config3/vmhgfs-only/cpName.o] 错误 1
make[1]: *** [_module_/tmp/vmware-config3/vmhgfs-only] 错误 2
make[1]: Leaving directory `/usr/src/kernels/2.6.25-14.fc9.i686'
make: *** [vmhgfs.ko] 错误 2
make: Leaving directory `/tmp/vmware-config3/vmhgfs-only'
Unable to build the vmhgfs module.
这其实也是一个比较常见的问题,可以下载一个open-vm-tools,我下载的版本是:open-vm-tools-2008.06.03- 96374.tar.gz
把open-vm-tools/modules/linux里的vmhgfs目录改名成vmhgfs-only然后压成 vmhgfs.tar, 替换vmware-tools-distrib/lib/modules/source下的同名文件,其他几个.tar文件的替换方法一样。最后重新安装vmware-tools即可。运行命令如下:
tar xzvf open-vm-tools-2008.06.03-96374.tar.gz
cd open-vm-tools-2008.06.03-96374/
./configure && make
cd modules/linux/
for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done
cd ../../..
mv -f open-vm-tools-2008.06.03-96374/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/
cd vmware-tools-distrib/
./vmware-install.pl
一路回车,直到出现屏幕分辨率的选项,选你喜欢的分辨率。
6、装好后还有一个问题,当你向共享文件夹写文件时总提示没有权限,root用户都提示没有权限.看了一下日志,是selinux在做怪,配置SElinux太麻烦了,不如关了它.vi /etc/sysconfig/selinux找到SElinux=enforcing这一行把它改为SElinux=disabled.重启后一切就ok了。
7、在多次用不同内核编译VMtools后,可能会出现vmxnet、vmhgsh等已经被老的编译过,版本不对。这时,可以用
find /lib/modules/ | grep vmxnet
命令一一查找到相应的位置,然后删除,再运行./vmware-install.pl及可。
以上就是我安装vm tools的一点心得,希望对入门者有一些用。