Errore durante l'installazione di Vmware Workstation su Ubuntu


14

Sto cercando di installare vmware workstation 10.1 su Ubuntu 14.04 e ho riscontrato i seguenti errori.

Come lo aggiusto ?

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

   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

Questa è l'implementazione più chiara di questa soluzione alternativa che ho riscontrato, grazie. Per me l'ultima riga ¨sudo chown -R $ USER: $ USER .vmware¨ creerebbe questo errore. Usando ~ / risolto quel root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER .vmware chown: impossibile accedere a '.vmware': nessun file o directory root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Risposte:


21

Per risolvere questo problema dovremo applicare questa patch a filter.c nei sorgenti del modulo VMware Player.

Passaggio n. 1

crea un file nel nome della directory tmp filter.c.diff e copia incolla il seguente codice 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

Passo 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/

Dopodiché esegui vmware e funzionerà benissimo.

   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

Nota: è anche necessario chown la directory .vmware altrimenti le modifiche di vmware non verranno salvate

esempio

sudo chown -R one:one .vmware

Dove uno è il mio nome utente e uno è il mio gruppo.sudo chown -R $USER:$USER .vmware

AIUTO


ma non funziona sul mio Ubuntu 14.04 LTS a 32 bit
Vasu Dev Garg

non funzionerà su Ubuntu 15.04
ubuntico il

1
@ubuntico è molto vecchio, controlla wiki su archlinux per workstation vmware. Spero che ti possa aiutare
Qasim,

2
tar: solo vmnet / filter.c: non trovato nell'archivio tar: uscita con stato di errore a causa di errori precedenti
Mahdi Rashidi,

2
filter.c non esiste per metar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Katz il

4

Per risolvere il problema sul kernel Ubuntu 14.10 3.17.2

Passaggio n. 1

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

Passo n. 2

Ricostruzione dei moduli, estrazione delle fonti dei moduli:

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

Passaggio n. 3

Applica la patch:

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

Passo n. 4

Ricrea gli archivi:

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

Passaggio n. 5

Rimuovi gli avanzi:

rm -r *-only

Passaggio n. 6

Ricostruisci i moduli:

vmware-modconfig --console --install-all

AIUTO


1
RISPOSTA INCREDIBILE LAVORATA PERFETTAMENTE IN 3.18.0
Trevor Rudolph,


3

Per risolvere il problema sul kernel Ubuntu 14.x 3.19.x, eseguire i seguenti passaggi come Root (in un terminale):

  1. accedi come root (es. sudo -s)

  2. Inserisci la tua password di root.

  3. Immettere questi comandi:

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

Funziona alla grande su Ubuntu 15.04
ubuntico il

Ha avuto lo stesso problema su Ubuntu 16.04 e ha provato ad applicare la patch, ma non è riuscito. A quanto pare, l'ultima VM Workstation Pro (versione 12.1.1) ha già le modifiche dalla patch implementata in userif.ce driver.cnon ha nulla che corrisponda al codice della patch. Ho quindi scaricato l'ultimo programma di installazione ed eseguito, che è appena finito con un messaggio che tutto era già aggiornato. Ciò, tuttavia, ha interrotto i servizi e sono stato quindi in grado di avviarlo e compilare i moduli.
Iisisrael,

2

Ho avuto questo stesso problema. Puoi anche creare uno script contenente questo:

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

Assicurati solo di eseguirlo come root. Quindi riavviare VMWARE e dovrebbe essere compilato ed eseguito nuovamente.

Grazie a http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html per la creazione di questo script.


1

Questo era anche un problema nel codice sorgente del modulo kernel fornito con VMware Player 6.0.1 durante l'esecuzione su Linux 3.3.13.

VMware ha risolto il problema il 17 aprile in VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) e VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

L'aggiornamento alle versioni precedenti aggiungerà il supporto per Ubuntu 14.04 a VMware.

Mikkel

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.