Erreur d'installation de Vmware Workstation sur Ubuntu


14

J'essaie d'installer vmware workstation 10.1 sur Ubuntu 14.04 et j'ai les erreurs suivantes.

Comment je le répare ?

entrez la description de l'image ici

entrez la description de l'image ici

   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

Il s'agit de la mise en œuvre la plus claire de cette solution de contournement que j'ai rencontrée, merci. Pour moi, la dernière ligne ¨sudo chown -R $ USER: $ USER .vmware¨ créerait cette erreur. L'utilisation de ~ / a résolu ce root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER .vmware chown: ne peut pas accéder à '.vmware': Aucun fichier ou répertoire de ce type root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Réponses:


21

Pour résoudre ce problème, nous devrons appliquer ce correctif à filter.c dans les sources du module VMware Player.

Étape n ° 1

créer un fichier dans le nom du répertoire tmp filter.c.diff et copier-coller le code suivant 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

Étape n ° 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/

Après cela, lancez vmware et cela fonctionnera bien.

   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

Remarque: Vous devez également chown le répertoire .vmware sinon vos modifications vmware ne seront pas enregistrées

exemple

sudo chown -R one:one .vmware

Où l' un est mon nom d'utilisateur et l' autre mon groupe.sudo chown -R $USER:$USER .vmware

AIDEZ-MOI


mais cela ne fonctionne pas sur mon ubuntu 32 bits 14.04 LTS
Vasu Dev Garg

ne fonctionnera pas sur ubuntu 15.04
ubuntico

1
@ubuntico c'est très ancien, consultez wiki sur archlinux pour la station de travail vmware. J'espère que cela vous aidera
Qasim

2
tar: vmnet-only / filter.c: introuvable dans l'archive tar: fermeture avec état d'échec en raison d'erreurs précédentes
Mahdi Rashidi

2
filter.c n'existe pas pour moitar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Katz

4

Pour résoudre le problème sur le noyau Ubuntu 14.10 3.17.2

Étape n ° 1

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

Étape n ° 2

Reconstruire des modules, extraire des sources de modules:

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

Étape n ° 3

Appliquez le patch:

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

Étape n ° 4

Recréez les archives:

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

Étape n ° 5

Supprimer les restes:

rm -r *-only

Étape n ° 6

Reconstruire les modules:

vmware-modconfig --console --install-all

AIDEZ-MOI


1
UNE RÉPONSE ÉTONNANTE A FONCTIONNÉ PARFAITEMENT EN 3.18.0
Trevor Rudolph


3

Pour résoudre le problème sur le noyau Ubuntu 14.x 3.19.x, exécutez les étapes suivantes en tant que root (dans un terminal):

  1. connectez-vous en tant que root (par exemple sudo -s)

  2. Saisissez votre mot de passe root.

  3. Entrez ces commandes:

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

Fonctionne très bien sur Ubuntu 15.04
ubuntico

A eu le même problème sur Ubuntu 16.04 et a essayé d'appliquer le correctif, mais cela a échoué. En fait, la dernière VM Workstation Pro (version 12.1.1) a déjà les modifications du correctif implémenté dans userif.c, et driver.cn'a rien correspondant au code corrigé. J'ai ensuite téléchargé le dernier programme d'installation et l'ai exécuté, ce qui vient de se terminer par un message indiquant que tout était déjà à jour. Cependant, cela a arrêté les services, et j'ai ensuite pu le démarrer et faire compiler les modules.
iisisrael

2

Je viens d'avoir ce même problème. Vous pouvez également simplement créer un script contenant ceci:

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

Assurez-vous simplement de l'exécuter en tant que root. Redémarrez ensuite VMWARE et il devrait se compiler et s'exécuter à nouveau.

Merci à http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html pour la création de ce script.


1

C'était également un problème dans le code source du module du noyau fourni avec VMware Player 6.0.1 lors de l'exécution sous Linux 3.3.13.

VMware a résolu le problème le 17 avril dans VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) et VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

La mise à niveau vers les versions ci-dessus ajoutera la prise en charge d'Ubuntu 14.04 à VMware.

Mikkel

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.