linux 虚拟机 计算出错,VMWare在Ubuntu x86_64环境运行虚拟机出错

好不容易在我新装的 Ubuntu 7.10 x86_64下把vmware workstation装起来,可是在导入以前的 虚拟机开机的时候提示如下错误:

Unable to change virtual machine power state: Failed to connect to peer process.

初看好像提示CPU的问题,重启进bios 将vt打开,还是同样问题。上网查了很多资料,原来所Vmware提供下载的 x86_64 版本其实并非完全是64位程序,需要兼容32位的库才能正常启动虚拟机。

所以在纯 64 位Linux下面,安装完后,在启动虚拟机时,会出现如下错误:

Unable to change virtual machine power state: Failed to connect to peer process.

原因是因为缺少兼容32的库,无法运行 vmware-vmx,这个程序是 32 位的。

当然,如果专门为此重新编译32位的库,也太麻烦了,我们可以利用现成的 debian 的软件包,需要下载的软件包有:

ia32-libs      (IA32基础库)

ia32-libs-gtk  (GTK库)

libc6-i386     (Glibc库)

lib32zl        (Zlib库)

lib32gcc1      (libgcc_s库)

由于我用的是纯64位的BLFS,没有任何软件包管理器,下载Debian包后,需要手动解压缩里面的文件,这个用 ar 和 tar 命令来完成即可。

# mkdir ia32

# cd ia32

# ar p ../ia32-libs_2.1_amd64.deb data.tar.gz|tar zxf -

# ar p ../ia32-libs-gtk_2.0_amd64.deb data.tar.gz|tar zxf -

# ar p ../libc6-i386_2.6.1-5_amd64.deb data.tar.gz|tar zxf -

# ar p ../lib32z1_1.2.3.3.dfsg-6_amd64.deb data.tar.gz|tar zxf -

# ap p ../lib32gcc1_4.1.1-21_amd64.deb data.tar.gz|tar zxf -

解压缩完成后,会在当前目录下生成如下目录:

emul  etc  lib  lib32  usr

然后拷贝它们到 / 目录下即可

# cp -arf * /

接着将如下路径加入到 /etc/ld.so.conf 中

/emul/ia32-Linux/lib

/emul/ia32-Linux/usr/lib

并运行 ldconfig 更新库缓存

OK,到这里运行 vmware 所需的 IA32 相关的库已经准备妥当,启动虚拟机也没有问题了。

[注]:如果你安装了 vmware-any-any-update-XXX, 可能会出现如下错误:

Version mismatch with vmmon module: expecting 137.0, got 138.0.

解决办法是重新安装 vmware, 不要安装 vmware-any-any-update,那是针对 32 位环境的

步骤很简单:先运行 vmware-uninstall.pl 卸载,然后重新安装即可。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值