Ошибка установки Vmware Workstation в Ubuntu


14

Я пытаюсь установить рабочую станцию ​​vmware 10.1 на Ubuntu 14.04, и я получил следующие ошибки.

Как мне это исправить?

введите описание изображения здесь

введите описание изображения здесь

   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

Это самая ясная реализация этого обходного пути, с которым я столкнулся, спасибо. Для меня последняя строка ¨sudo chown -R $ USER: $ USER .vmware¨ создаст эту ошибку. Использование ~ / решило, что root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER .vmware chown: нет доступа к .vmware: нет такого файла или каталога root @ me: / usr / lib / vmware / modules / source # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Ответы:


21

Чтобы это исправить, нам нужно применить этот патч к filter.c в исходных кодах модуля VMware Player.

Шаг № 1

создайте файл в каталоге tmp с именем filter.c.diff и скопируйте и вставьте следующий код 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

Шаг № 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/

После этого просто запустите vmware, и он будет работать нормально.

   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

Примечание. Вам также необходимо указать каталог .vmware, иначе изменения в vmware не сохранятся.

пример

sudo chown -R one:one .vmware

Где один - мое имя пользователя, а другой - моя группа.sudo chown -R $USER:$USER .vmware

ПОМОГИТЕ


но он не работает на моем 32-битном Ubuntu 14.04 LTS
Vasu Dev Garg

не будет работать на Ubuntu
15.04

1
@ubuntico это очень старый, проверьте вики на archlinux для рабочей станции vmware. Я надеюсь, что это поможет вам
Касим

2
tar: только для vmnet / filter.c: не найден в архиве. tar: выход с состоянием ошибки из-за предыдущих ошибок
Махди Рашиди

2
filter.c не существует для меняtar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Кац

4

Чтобы решить проблему с ядром Ubuntu 14.10 3.17.2

Шаг № 1

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

Шаг № 2

Восстановление модулей, Извлечение источников модулей:

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

Шаг № 3

Примените патч:

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

Шаг № 4

Воссоздать архивы:

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

Шаг № 5

Удалить остатки:

rm -r *-only

Шаг № 6

Перестройте модули:

vmware-modconfig --console --install-all

ПОМОГИТЕ


1
УДИВИТЕЛЬНЫЙ ОТВЕТ РАБОТАЛ СОВЕРШЕННО В 3.18.0
Тревор Рудольф

pastie.org/pastes/9636106/download не работает @Qasim
Джон Д

3

Чтобы устранить проблему в ядре Ubuntu 14.x 3.19.x, выполните следующие действия как Root (в терминале):

  1. войдите как root (например, sudo -s)

  2. Введите свой пароль root.

  3. Введите эти команды:

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
vmware-modconfig --console --install-all


Возникла та же проблема в Ubuntu 16.04 и попытался применить патч, но это не удалось. Как оказалось, последняя версия VM Workstation Pro (версия 12.1.1) уже содержит изменения, реализованные в патче userif.c, и driver.cне имеет ничего, соответствующего исправленному коду. Затем я скачал последний установщик и запустил его, который закончился сообщением, что все уже обновлено. Это, однако, остановило службы, и я смог запустить его и скомпилировать модули.
июня

2

У меня была такая же проблема. Вы также можете просто создать скрипт, содержащий это:

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

Просто убедитесь, что вы запускаете его как root. Затем снова запустите VMWARE, и он должен скомпилироваться и снова запуститься.

Благодаря http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html за создание этого скрипта.


1

Это также было проблемой в исходном коде модуля ядра, поставляемом с VMware Player 6.0.1 при работе в Linux 3.3.13.

VMware исправил проблему 17 апреля в VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) и VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

Обновление до вышеуказанных выпусков добавит поддержку Ubuntu 14.04 в VMware.

Миккель

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.