Fehler beim Installieren von Vmware Workstation unter Ubuntu


14

Ich versuche, vmware workstation 10.1 unter Ubuntu 14.04 zu installieren, und es treten folgende Fehler auf.

Wie behebe ich das?

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

   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

Dies ist die klarste Implementierung dieser Problemumgehung, auf die ich gestoßen bin, danke. Für mich würde die letzte Zeile "sudo chown -R $ USER: $ USER .vmware" diesen Fehler erzeugen. Mit dem Befehl ~ / löste das root @ me auf: / usr / lib / vmware / modules / source # sudo chown / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Antworten:


21

Um dies zu beheben, müssen wir diesen Patch auf filter.c in VMware Player-Modulquellen anwenden.

Schritt Nr. 1

erstellen sie eine datei im tmp verzeichnis name filter.c.diff und kopieren sie den folgenden code 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

Schritt Nr. 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/

Danach starten Sie einfach vmware und es wird gut funktionieren.

   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

Hinweis: Sie müssen auch das VMware-Verzeichnis abrufen, da Ihre VMware-Änderungen sonst nicht gespeichert werden

Beispiel

sudo chown -R one:one .vmware

Wobei einer mein Benutzername und einer meine Gruppe ist.sudo chown -R $USER:$USER .vmware

HILFE


aber es funktioniert nicht auf meinem 32-Bit-Ubuntu 14.04 LTS
Vasu Dev Garg

wird nicht funktionieren auf Ubuntu 15.04
Ubuntico

1
@ubuntico das ist sehr alt, check wiki auf archlinux für vmware workstation. Ich hoffe, es wird Ihnen helfen
Qasim

2
tar: vmnet-only / filter.c: Nicht im Archiv gefunden tar: Beenden mit Fehlerstatus aufgrund früherer Fehler
Mahdi Rashidi

2
filter.c existiert nicht für michtar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Katz

4

So beheben Sie das Problem unter Ubuntu 14.10 Kernel 3.17.2

Schritt Nr. 1

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

Schritt Nr. 2

Module neu erstellen, Modulquellen extrahieren:

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

Schritt Nr. 3

Wenden Sie den Patch an:

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

Schritt Nr. 4

Erstellen Sie die Archive neu:

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

Schritt Nr. 5

Reste entfernen:

rm -r *-only

Schritt Nr. 6

Module neu erstellen:

vmware-modconfig --console --install-all

HILFE


1
ERSTAUNLICHE ANTWORT IN 3.18.0 PERFEKT GEARBEITET
Trevor Rudolph


3

Führen Sie die folgenden Schritte als Root (in einem Terminal) aus, um das Problem auf dem Ubuntu 14.x-Kernel 3.19.x zu beheben:

  1. Loggen Sie sich als root ein (zB sudo -s)

  2. Geben Sie Ihr Root-Passwort ein.

  3. Geben Sie diese Befehle ein:

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 nur vmnet
rm -r nur vmnet
vmware-modconfig --console --install-all

Funktioniert hervorragend auf Ubuntu 15.04
Ubuntico

Hatte das gleiche Problem auf Ubuntu 16.04 und versuchte, den Patch anzuwenden, aber das schlug fehl. Wie sich herausstellt, wurden in der neuesten VM Workstation Pro (Version 12.1.1) bereits die Änderungen gegenüber dem Patch implementiert userif.c, und driver.ces ist nichts vorhanden, das mit dem gepatchten Code übereinstimmt. Ich habe dann den neuesten Installer heruntergeladen und ausgeführt, was gerade mit einer Meldung endete, dass alles bereits auf dem neuesten Stand war. Dadurch wurden die Dienste jedoch gestoppt, und ich konnte sie starten und die Module kompilieren lassen.
Israel

2

Ich hatte gerade das gleiche Problem. Sie können auch einfach ein Skript erstellen, das Folgendes enthält:

#!/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

Stellen Sie einfach sicher, dass Sie es als root ausführen. Starten Sie dann VMWARE erneut und es sollte kompiliert und erneut ausgeführt werden.

Vielen Dank an http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html für das Erstellen dieses Skripts.


1

Dies war auch ein Problem im Quellcode des Kernelmoduls, der mit VMware Player 6.0.1 unter Linux 3.3.13 ausgeliefert wurde.

VMware hat das Problem am 17. April in VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) und VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

Durch das Aktualisieren auf die oben genannten Versionen wird VMware mit Ubuntu 14.04 unterstützt.

Mikkel

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.