J'essaie d'installer vmware workstation 10.1 sur Ubuntu 14.04 et j'ai eu les erreurs suivantes.
Comment je le répare ?
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
Pour résoudre ce problème, nous devrons appliquer ce correctif à filter.c dans les sources de modules de VMware Player.
créez un fichier dans le répertoire tmp nom filter.c.diff et copiez-collez 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
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 tout fonctionnera correctement.
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 de vmware ne seront pas enregistrées.
exemple
Sudo chown -R one:one .vmware
Où un est mon nom d'utilisateur et un est mon groupe. Sudo chown -R $USER:$USER .vmware
Résoudre le problème du noyau 3.17.2 Ubuntu 14.10
curl http://pastie.org/pastes/9636106/download -o /tmp/vmware-3.17.patch
Reconstruction de modules, Extraction de sources de modules:
cd /usr/lib/vmware/modules/source
for i in vmci vmmon vmnet vsock; do tar -xf $i.tar; done
Appliquez le patch:
patch -p1 -i /tmp/vmware-3.17.patch
Recréer les archives:
for i in *-only; do tar -cf ${i/-only}.tar $i; done
Supprimer les restes:
rm -r *-only
Reconstruire les modules:
vmware-modconfig --console --install-all
Pour résoudre le problème sur le noyau Ubuntu 14.x 3.19.x, procédez comme suit en tant que racine (dans un terminal):
connectez-vous en tant que root (par exemple, Sudo -s)
Entrez votre mot de passe root.
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-only rm -r vmnet-only vmware-modconfig --console --install-all
Je viens d'avoir ce même problème. Vous pouvez aussi 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. Ensuite, redémarrez VMWARE et il devrait compiler et exécuter à nouveau.
Merci à http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html pour la création de ce script.
Ce problème concernait également 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