在vmware中安装了Ubuntu11.04,为了能方便应用鼠标硬盘,安装VMware Tools
但是在安装的过程中遇到一个c header 问题:
What is the location of the directory of C header files that match your running kernel?
安装停在这里,怎么也过不去。
解决方法:安装linux-headers
#sudo apt-get install linux-headers--<tab键>
重启,查看版本
#uname -r
2.6.38-8-generic
将[/usr/src/linux/include] 改成/usr/src/linux-headers-2.6.38-8-generic/include
此时会出现提示说Path is not valid
但事实是 Kernel 中有一个变量 UTS_RELEASE 的不存在了。以前这个定义放在 /usr/src/linux-headers-2.6.35-22-generic/include/linux/version.h ,而现在已经移到了/usr/src/linux-headers-2.6.35-22-generic/include/generated/utsrelease.h。所以简单的方法,将utsrelease.h拷贝到/usr/src/linux-headers-2.6.35-22-generic/include/linux,
#cp /usr/src/linux-headers-2.6.35-22-generic/include/generated/utsrelease.h /usr/src/linux-headers-2.6.35-22-generic/include/linux/
然后我们只需要在version.h中添加 #define UTS_RELEASE "2.6.38-8-generic"
如果version.h是只读文件,则需要改下权限
#sudo chmod 777 /usr/src/linux-headers-2.6.38-8-generic/include/linux/version.h
#sudo vi /usr/src/linux-headers-2.6.38-8-generic/include/linux/version.h
接下来继续,因为 autoconf.h 不再VMware tools 安装程序预设的寻址目录中。可以简单的把它链接过来:
#cd /usr/src/linux-headers-2.6.38-8-generic/include/linux
#sudo ln -s ../generated/autoconf.h ./
之后顺利装完,运行命令:
#vmware-toolbox
启动vmtools界面 则表示安装成功。