Kesalahan Menginstal Vmware Workstation Di Ubuntu

14

Saya mencoba menginstal vmware workstation 10.1 di Ubuntu 14.04 dan saya mendapat kesalahan berikut.

Bagaimana saya memperbaikinya ?

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                   failed
   VMware Authentication Daemon                                        done
Qasim
sumber
Ini adalah implementasi paling jelas dari solusi yang saya temui ini, terima kasih. Bagi saya baris terakhir ¨ sudo chown -R $ USER: $ USER .vmware¨ akan membuat kesalahan ini. Menggunakan ~ / menyelesaikan root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER .vmware chown: tidak dapat mengakses '.vmware': Tidak ada file atau direktori root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Jawaban:

21

Untuk memperbaikinya, kita perlu menerapkan tambalan ini ke filter.c di sumber modul VMware Player.

Langkah No 1

buat file dalam nama direktori tmp filter.c.diff dan salin tempel kode berikut init.

nano /tmp/filter.c.diff

205a206
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
206a208,210
> #else
> VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
> #endif
255c259,263
<    transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
---
>    #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
>       transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
>    #else
>       transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
>    #endif

Langkah No 2

sudo -E -s

cd /usr/lib/vmware/modules/source/ 

cp vmnet.tar vmnet.tar.original

tar xvf vmnet.tar vmnet-only/filter.c

patch vmnet-only/filter.c < /tmp/filter.c.diff

tar -uvf vmnet.tar vmnet-only/filter.c

rm -rf vmnet-only/

Setelah itu jalankan vmware dan itu akan berfungsi dengan baik.

   Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                    done
   VMware Authentication Daemon                                        done
   Shared Memory Available                                             done

Catatan: Anda juga perlu menandai direktori .vmware jika tidak, perubahan vmware Anda tidak akan disimpan

contoh

sudo chown -R one:one .vmware

Di mana satu adalah nama pengguna saya dan satu adalah grup saya.sudo chown -R $USER:$USER .vmware

TOLONG

Qasim
sumber
tapi itu tidak bekerja pada ubuntu 32 bit saya 14,04 LTS
Vasu Dev Garg
tidak akan berfungsi di ubuntu 15.04
ubuntico
1
@ubuntico ini sudah sangat tua, periksa wiki di archlinux untuk vmware workstation. Saya harap ini akan membantu Anda
Qasim
2
tar: vmnet-only / filter.c: Tidak ditemukan di arsip tar: Keluar dengan status kegagalan karena kesalahan sebelumnya
Mahdi Rashidi
2
filter.c tidak ada untuk sayatar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Katz
4

Untuk memperbaiki masalah ini pada kernel Ubuntu 14.10 3.17.2

Langkah No 1

curl http://pastie.org/pastes/9636106/download -o /tmp/vmware-3.17.patch

Langkah No 2

Modul membangun kembali, Ekstrak sumber modul:

cd /usr/lib/vmware/modules/source
for i in vmci vmmon vmnet vsock; do tar -xf $i.tar; done

Langkah No 3

Terapkan tambalan:

 patch -p1 -i /tmp/vmware-3.17.patch

Langkah No 4

Buat kembali arsip:

for i in *-only; do tar -cf ${i/-only}.tar $i; done

Langkah No 5

Hapus sisa makanan:

rm -r *-only

Langkah No 6

Membangun kembali modul:

vmware-modconfig --console --install-all

TOLONG

Qasim
sumber
1
JAWABAN MENAKJUBKAN BEKERJA SECARA SEMPURNA DI 3.18.0
Trevor Rudolph
3

Untuk memperbaiki masalah pada Ubuntu 14.x kernel 3.19.x, jalankan langkah-langkah berikut sebagai Root (di terminal):

  1. login sebagai root (mis. sudo -s)

  2. Masukkan kata sandi Root Anda.

  3. Masukkan perintah ini:

curl http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch
cd / usr / lib / vmware / modules / source
tar -xf vmnet.tar
patch -p0 -i /tmp/vmnet-3.19.patch
mv vmnet.tar vmnet.tar.SAVED
tar -cf vmnet.tar vmnet-only
rm -r vmnet-only
vmware-modconfig --console --install-all
Saddam ZEMMALI
sumber
Berfungsi bagus di Ubuntu 15.04
ubuntico
Punya masalah yang sama pada Ubuntu 16.04, dan mencoba menerapkan tambalan, tetapi gagal. Ternyata, VM Workstation Pro terbaru (versi 12.1.1) sudah memiliki perubahan dari patch diimplementasikan userif.c, dan driver.ctidak memiliki apa pun yang cocok dengan kode yang ditambal. Saya kemudian mengunduh installer terbaru dan menjalankannya, yang baru saja berakhir dengan pesan bahwa semuanya sudah mutakhir. Namun, itu menghentikan layanan, dan saya kemudian dapat memulainya dan menyusun modul.
iisisrael
2

Saya hanya punya masalah yang sama. Anda juga dapat membuat skrip yang berisi ini:

#!/bin/bash

cat << EOF > /tmp/filter.c.patch
--- vmnet-only/filter.c 2013-10-18 15:11:55.000000000 -0400
+++ vmnet-only/filter.c 2013-12-21 20:15:15.000000000 -0500
@@ -27,6 +27,7 @@
 #include "compat_module.h"
 #include <linux/mutex.h>
 #include <linux/netdevice.h>
 +#include <linux/version.h>
 #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
 #   include <linux/module.h>
 #else
@@ -203,7 +204,11 @@
 #endif

 static unsigned int
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
 VNetFilterHookFn(unsigned int hooknum,                 // IN:
+#else
+VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
+#endif
 #ifdef VMW_NFHOOK_USES_SKB
                  struct sk_buff *skb,                  // IN:
 #else
@@ -252,7 +257,12 @@

     /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
 -   transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
 +   
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+    transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+#else
+    transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
+#endif

    packetHeader = compat_skb_network_header(skb);
    ip = (struct iphdr*)packetHeader;
EOF

cd /usr/lib/vmware/modules/source
# untar the vmnet modules
tar -xvf vmnet.tar
#run a the patch you should have just saved earlier
 patch vmnet-only/filter.c < /tmp/filter.c.patch
# re-tar the modules
tar -uvf vmnet.tar vmnet-only
#delete the previous working directory
rm -rf vmnet-only

Pastikan Anda menjalankannya sebagai root. Kemudian mulai VMWARE lagi dan itu harus dikompilasi dan dijalankan lagi.

Terima kasih kepada http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html untuk membuat skrip ini.

christopherbrown0317
sumber
1

Ini juga merupakan masalah dalam kode sumber modul kernel yang disampaikan dengan VMware Player 6.0.1 ketika berjalan di Linux 3.3.13.

VMware telah memperbaiki masalah pada 17 April di VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) dan VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

Memutakhirkan ke rilis di atas akan menambah dukungan untuk Ubuntu 14.04 ke VMware.

Mikkel

Mikkel Kirkgaard Nielsen
sumber