vmware 6.0 for linux 在ubuntu上安装时会出两个错误。
参考 http://www.lupaworld.com/30912/viewspace_24530.html
内容如下
/tmp/vmware-config4/vmmon-only/./include/compat_kernel.h:21: 警告:在 ‘_syscall1’ 的声明中,类型默认为 ‘int’
make[2]: *** [/tmp/vmware-config4/vmmon-only/linux/driver.o] 错误 1
make[1]: *** [_module_/tmp/vmware-config4/vmmon-only] 错误 2
/tmp/vmware-config3/vmnet-only/userif.c: 在函数 ‘VNetCopyDatagramToUser’ 中:
/tmp/vmware-config3/vmnet-only/userif.c:630: 错误:‘const struct sk_buff’ 没有名为 ‘h’ 的成员
/tmp/vmware-config3/vmnet-only/userif.c:630: 错误:‘const struct sk_buff’ 没有名为 ‘nh’ 的成员
/tmp/vmware-config3/vmnet-only/userif.c:636: 错误:‘const struct sk_buff’ 没有名为 ‘h’ 的成员
第一个问题
因为新内核头文件部分函数有所改动导致的(上面已经提示了),解决它就直接改源码,将 vmmon.tar 包里的 vmmon-only/include/compat_kernel.h 的
#define __NR_compat_exit __NR_exit
inline _syscall1(int,compat_exit, int, exit_code);
二行直接换成
int compat_exit(int exit_code);
重新打包回去,然后直接 vmware-config.pl 把 vmmon 装上就可以了
对第二个问题的修复方法
cd /tmpwget http://labs.eshangrao.com/files/vmnet.tarcd /usr/lib/vmware/modules/sourcemv vmnet.tar vmnet.tar.oldcp /tmp/vmnet.tar ./然后按提示重新编译Vmware模块就可以了:vmware-config.pl
另外就是运行虚拟操作系统时的错误。
如果vmware提示
VMware Workstation unrecoverable error: (vcpu-0)
Failed to allocate page for guest RAM!
A log file is available in "/media/sda3/Virtual Machines/xp/xp/vmware.log". A core file is available in "/media/sda3/Virtual Machines/xp/xp/core". Please request support and include the contents of the log file and core file.
那需要对vmx文件进行修改,增加以下一行内容:
mainMem.useNamedFile = "FALSE"
保存下 就可以启动了。