在 Ubuntu 14.04 上安装 VMware 3.1.6(32 位)

在 Ubuntu 14.04 上安装 VMware 3.1.6(32 位)

我一直在 xubuntu 12.04 上使用 vmware 3.1.6 补丁,效果非常好。我必须使用 3.1.6,因为我必须使用这些 32 位笔记本电脑,而 3.1.6 是最后一个允许我在非 64 位硬件上安装的版本。

这是我一直在使用的补丁: 修补

现在,在更新到 xubuntu 14.04 后,我无法让它再次运行。我尝试过升级安装、清理模块、尝试过全新的全新安装、不同的补丁等等,但现在我已经力不从心了。

这是我通常的安装方式:

sudo bash VMware-Player-3.1.6-744570.i386.bundle

然后链接新的内核头文件:

sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

安装构建必需品:

sudo apt-get install build-essential linux-headers-$(uname -r)

应用补丁:

sudo bash patch-modules_3.2.0.sh

我现在收到此错误:

patching file vmblock-only/linux/dentry.c
patching file vmblock-only/linux/filesystem.c
patching file vmci-only/linux/driver.c
patching file vmmon-only/linux/driver.c
patching file vmmon-only/linux/hostif.c
patching file vmmon-only/linux/iommu.c
patching file vmnet-only/compat_netdevice.h
patching file vmnet-only/driver.c
patching file vmnet-only/filter.c
patching file vmnet-only/hub.c
patching file vmnet-only/netif.c
patching file vmnet-only/userif.c
patching file vsock-only/linux/af_vsock.c
patching file vsock-only/linux/util.c
Stopping VMware services:
   VMware USB Arbitrator                                               done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
Using 2.6.x kernel build system.
make: Gehe in Verzeichnis '/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/3.13.0-34-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
make[1]: Betrete Verzeichnis '/usr/src/linux-headers-3.13.0-34-generic'
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driver.o
In file included from /tmp/vmware-root/modules/vmmon-only/./include/vcpuset.h:103:0,
                 from /tmp/vmware-root/modules/vmmon-only/./include/modulecall.h:37,
                 from /tmp/vmware-root/modules/vmmon-only/./common/vmx86.h:33,
                 from /tmp/vmware-root/modules/vmmon-only/linux/driver.h:29,
                 from /tmp/vmware-root/modules/vmmon-only/linux/driver.c:100:
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2185:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2348:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Ptr, 32, void const *, void *, uintptr_t)
 ^
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2185:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/vm_atomic.h:2350:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’
 MAKE_ATOMIC_TYPE(Int, 32, int, int, int)
 ^
In file included from /tmp/vmware-root/modules/vmmon-only/./include/vmware.h:40:0,
                 from /tmp/vmware-root/modules/vmmon-only/linux/driver.c:98:
/tmp/vmware-root/modules/vmmon-only/./include/vcpuset.h: In function ‘VCPUSet_Singleton’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/vcpuset.h:120:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE(VCPUID_INVALID >= 32); // Ensure test below catches invalid VCPUs
    ^
/tmp/vmware-root/modules/vmmon-only/./include/busmem_def.h: In function ‘BUSMEMDEFS’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:297:7: note: in definition of macro ‘MY_ASSERTS’
       assertions \
       ^
/tmp/vmware-root/modules/vmmon-only/./include/busmem_def.h:67:12: note: in expansion of macro ‘ASSERT_ON_COMPILE’
            ASSERT_ON_COMPILE(sizeof(BusMem_PageList) <= PAGE_SIZE);)
            ^
/tmp/vmware-root/modules/vmmon-only/./include/pshare_ext.h: In function ‘PSHARE_EXT’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:297:7: note: in definition of macro ‘MY_ASSERTS’
       assertions \
       ^
/tmp/vmware-root/modules/vmmon-only/./include/pshare_ext.h:62:12: note: in expansion of macro ‘ASSERT_ON_COMPILE’
            ASSERT_ON_COMPILE(PSHARE_HINT_UPDATES_MAX <=
            ^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h: In function ‘VA64ToPtr’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h:77:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE(sizeof (void *) == 4);
    ^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h: In function ‘PtrToVA64’:
/tmp/vmware-root/modules/vmmon-only/./include/vm_assert.h:275:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
                    ^
/tmp/vmware-root/modules/vmmon-only/./include/iocontrols.h:113:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE(sizeof ptr <= sizeof (VA64));
    ^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2057:26: error: invalid operands to binary == (have ‘kuid_t’ and ‘kuid_t’)
       if (current_euid() == current_uid() &&
                          ^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2058:20: error: invalid operands to binary == (have ‘kuid_t’ and ‘kuid_t’)
    current_fsuid() == current_uid() &&
                    ^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2059:26: error: invalid operands to binary == (have ‘kgid_t’ and ‘kgid_t’)
           current_egid() == current_gid() &&
                          ^
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:2060:20: error: invalid operands to binary == (have ‘kgid_t’ and ‘kgid_t’)
    current_fsgid() == current_gid()) {
                    ^
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/driver.o] Fehler 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-3.13.0-34-generic'
make: *** [vmmon.ko] Fehler 2
make: Verlasse Verzeichnis '/tmp/vmware-root/modules/vmmon-only'
Unable to install vmmon


All done, you can now run VMWare Player.
Modules sources backup can be found in the '/usr/lib/vmware/modules/source-player3.1.6-2014-08-21-12:12:54-backup' directory

3.1 内核似乎发生了一些变化...我尝试了在谷歌搜索时找到的不同方法,但都没有奏效。在另一件事的问题上发现了这个,错误似乎与此有关。但由于我不是程序员,所以我无法理解:

http://ubuntuforums.org/showthread.php?t=2217794

任何帮助都将不胜感激,因为我想继续使用这里的一些旧的 32 位笔记本电脑和 14.04 lts 版本。但是如果没有我使用的已构建映像和软件包的 vmware player 3.1.6,我将不得不寻找一个全新的模拟解决方案...

答案1

尝试较新版本的 vmware player,应该无需任何额外添加即可与新的 ubuntu 配合使用。

Vmware player 现在的版本是 6.x,并且仍然免费。

相关内容