在vmware workstation5.5下面安装vmtools的时候,提示
The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match your running kernel (version 2.6.18.2-34-default). Even if the module were to compile successfully, it would not load into the running kernel.
网上百毒了一下,结果根本没有相关错误提示,找到了几篇差不多的,也大概也你抄我,我抄你的.根本没有实质问题.后在google上帮助下,找到了一篇文章.现翻译如下.有愿意看原文的可以通过下面地址访问.
http://www.atlink.it/~conti/2007/12/19/vmware-uts_release/
VMWare Tools有时在具有最新内核的客户机上安装的话,会造成安装失败. 提示信息像上面我提到的一样.可能版本号略有不同.
其它的一些方式如更改时间,关闭进程等并不能解决你的问题. 这个问题的存在是由于 内核源码结构改变了, 但是VMWare Tools安装脚本并没有识别出来. 安装脚本寻找的是在 /usr/src/kernels/$(uname -r)*/include/linux/version.h 的字符串 “ #define UTS_RELEASE $kernel_number”但是 UTS_RELEASE 这个变量是在 utsrelease.h.
要解决这个问题,你可以更改一下VMWare Tools的安装脚本 或者是将utsrelease.h的内容加到version.h中去,我想第二种方案是最快的.
# cd /usr/src/kernels/$(uname -r)*/include/linux
# cat utsrelease.h >> version.h
执行下面命令. 我来解释一下. $(uname -r)是显示当前linux内核版本,以变量的形式显示的. 不同的系统内核所在的位置不一样, 我使用的是Ubuntu 8.10 LTS, 所需要的文件的位置是在 /lib/modules/$(uname -r) */build/include/linux
不过不知道为什么, 我在用sudo执行第二条命令的时候,提示我权限不够,可是我已经加sudo了,没办法,我直接sudo su,用root进入到上面的目录将文件更改了.
因此,在vmware安装的时候,要你指定内核的时候,你要指定 /lib/modules/$(uname -r) */build/include即可. 还是那句话,不同的系统,内核的位置不同,vmware tools有的时候不够聪明,识别不出来.
引用自:http://www.atlink.it/~conti/2007/12/19/vmware-uts_release/
The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match your running kernel (version 2.6.18.2-34-default). Even if the module were to compile successfully, it would not load into the running kernel.
网上百毒了一下,结果根本没有相关错误提示,找到了几篇差不多的,也大概也你抄我,我抄你的.根本没有实质问题.后在google上帮助下,找到了一篇文章.现翻译如下.有愿意看原文的可以通过下面地址访问.
http://www.atlink.it/~conti/2007/12/19/vmware-uts_release/
VMWare Tools有时在具有最新内核的客户机上安装的话,会造成安装失败. 提示信息像上面我提到的一样.可能版本号略有不同.
其它的一些方式如更改时间,关闭进程等并不能解决你的问题. 这个问题的存在是由于 内核源码结构改变了, 但是VMWare Tools安装脚本并没有识别出来. 安装脚本寻找的是在 /usr/src/kernels/$(uname -r)*/include/linux/version.h 的字符串 “ #define UTS_RELEASE $kernel_number”但是 UTS_RELEASE 这个变量是在 utsrelease.h.
要解决这个问题,你可以更改一下VMWare Tools的安装脚本 或者是将utsrelease.h的内容加到version.h中去,我想第二种方案是最快的.
# cd /usr/src/kernels/$(uname -r)*/include/linux
# cat utsrelease.h >> version.h
执行下面命令. 我来解释一下. $(uname -r)是显示当前linux内核版本,以变量的形式显示的. 不同的系统内核所在的位置不一样, 我使用的是Ubuntu 8.10 LTS, 所需要的文件的位置是在 /lib/modules/$(uname -r) */build/include/linux
不过不知道为什么, 我在用sudo执行第二条命令的时候,提示我权限不够,可是我已经加sudo了,没办法,我直接sudo su,用root进入到上面的目录将文件更改了.
因此,在vmware安装的时候,要你指定内核的时候,你要指定 /lib/modules/$(uname -r) */build/include即可. 还是那句话,不同的系统,内核的位置不同,vmware tools有的时候不够聪明,识别不出来.
引用自:http://www.atlink.it/~conti/2007/12/19/vmware-uts_release/