Erro ao instalar a estação de trabalho do VMware no Ubuntu


14

Estou tentando instalar o vmware workstation 10.1 no Ubuntu 14.04 e obtive os seguintes erros.

Como faço para corrigir isso?

insira a descrição da imagem aqui

insira a descrição da imagem aqui

   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

Esta é a implementação mais clara desta solução alternativa que encontrei, obrigado. Para mim, a última linha "sudo chown -R $ USER: $ USER .vmware" criaria esse erro. Usando o ~ / resolveu essa raiz @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER .vmware chown: não pode acessar '.vmware': nenhum arquivo ou diretório raiz @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Respostas:


21

Para corrigir isso, precisamos aplicar esse patch ao filter.c nas fontes do módulo VMware Player.

Etapa 1

crie um arquivo no nome do diretório tmp filter.c.diff e copie e cole o seguinte código 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

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

Depois disso, basta executar o vmware e ele funcionará bem.

   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: Você também precisa exibir o diretório .vmware, caso contrário suas alterações no vmware não serão salvas.

exemplo

sudo chown -R one:one .vmware

Onde um é meu nome de usuário e outro é meu grupo.sudo chown -R $USER:$USER .vmware

SOCORRO


mas ele não funciona no meu 32 bit Ubuntu 14.04 LTS
Vasu Dev Garg

não funcionará no ubuntu 15.04
ubuntico

1
@ubuntico isso é muito antigo, verifique o wiki no archlinux para a estação de trabalho vmware. Espero que ele vai ajudar você
Qasim

2
tar: vmnet-only / filter.c: Não encontrado no arquivo tar: Saindo com status de falha devido a erros anteriores
Mahdi Rashidi

2
não filter.c não existe para mimtar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Katz

4

Para corrigir o problema no kernel do Ubuntu 14.10 3.17.2

Etapa 1

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

Etapa 2

Reconstruindo módulos, Extrair fontes do módulo:

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

Etapa no 3

Aplique o patch:

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

Etapa 4

Recrie os arquivos:

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

Etapa no 5

Remova as sobras:

rm -r *-only

Etapa 6

Reconstruir módulos:

vmware-modconfig --console --install-all

SOCORRO


1
RESPOSTA SURPREENDENTE funcionou perfeitamente no 3.18.0
Trevor Rudolph


3

Para corrigir o problema no kernel 3.19.x do Ubuntu 14.x, execute as seguintes etapas como raiz (em um terminal):

  1. efetue login como root (por exemplo, sudo -s)

  2. Digite sua senha de root.

  3. Digite estes comandos:

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

Funciona muito bem no Ubuntu 15.04
ubuntico

Teve o mesmo problema no Ubuntu 16.04 e tentou aplicar o patch, mas isso falhou. Como se vê, o VM Workstation Pro mais recente (versão 12.1.1) já possui as alterações do patch implementado userif.ce driver.cnão possui nada que corresponda ao código corrigido. Em seguida, baixei o instalador mais recente e o executei, que acabou com uma mensagem de que tudo já estava atualizado. No entanto, isso interrompeu os serviços, e então eu pude iniciá-lo e compilar os módulos.
Iisisrael 15/07/2017

2

Eu apenas tive esse mesmo problema. Você também pode apenas criar um script contendo isso:

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

Apenas certifique-se de executá-lo como root. Em seguida, inicie o VMWARE novamente e ele deverá compilar e executar novamente.

Agradecemos a http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html por criar este script.


1

Esse também foi um problema no código-fonte do módulo do kernel entregue com o VMware Player 6.0.1 ao executar no Linux 3.3.13.

A VMware corrigiu o problema em 17 de abril no VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) e no VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

A atualização para as versões acima adicionará suporte ao Ubuntu 14.04 ao VMware.

Mikkel

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.