歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> VMWare在Ubuntu x86_64環境運行虛擬機出錯

VMWare在Ubuntu x86_64環境運行虛擬機出錯

日期:2017/2/28 17:09:24   编辑:Linux教程

好不容易在我新裝的 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 卸載,然後重新安裝即可。

Copyright © Linux教程網 All Rights Reserved