知我者谓我心忧,不知我者谓我何求。 顺天命者,悲;逆,亡?

vmware安装运行出错问题及解决办法汇总

2007-12-24 12:57:44

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 /tmp
wget http://labs.eshangrao.com/files/vmnet.tar
cd /usr/lib/vmware/modules/source
mv vmnet.tar vmnet.tar.old
cp /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"

保存下 就可以启动了。

TAG:

删除 Guest 发布于2008-04-24 21:12:37
虚拟操作系统的文件夹里有一个vmx后缀的文件
删除 董来 发布于2007-12-29 10:10:12
谢谢 搞定了.
删除 Guest 发布于2007-12-28 11:09:26
开源的不完善性还是比较严重的
当然我和楼主一样支持开源
只有那些不懂开源的人才会胡乱吹嘘开源
删除 Guest 发布于2007-12-28 11:08:04
虚拟机的安装目录里由  以 vmx 为后缀的文件的
删除 董来 发布于2007-12-27 11:15:50
qq51800315联系谢谢
删除 董来 发布于2007-12-27 11:14:50
找不到"vmx"文件呀....
我来说两句

-5 -3 -1 - +1 +3 +5

Open Toolbar