Помилка встановлення робочої станції Vmware на 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¨ створить цю помилку. Використовуючи ~ / вирішено, що цей корінь @ me: / usr / lib / vmware / module / source # sudo chown -R $ USER: $ USER. / usr / lib / vmware / module / 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
ubuntico

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
Katz

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
Тревор Рудольф


3

Щоб виправити проблему на ядрі Ubuntu 14.x 3.19.x, виконайте такі кроки як Root (у терміналі):

  1. увійдіть як корінь (наприклад, sudo -s)

  2. Введіть свій Root пароль.

  3. Введіть ці команди:

завиток http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch
cd / usr / lib / vmware / module / source
tar -xf vmnet.tar
патч -p0 -i /tmp/vmnet-3.19.patch
mv vmnet.tar vmnet.tar.ЗАБАВЛЕНО
tar -cf vmnet.tar лише для vmnet
rm -r тільки vmnet
vmware-modconfig --console --встановити все


З'явився той самий випуск на Ubuntu 16.04 і спробував застосувати патч, але це не вдалося. Як виявляється, остання версія VM Workstation Pro (версія 12.1.1) вже має зміни від патчу, реалізовані в userif.c, і driver.cнічого не відповідає патч-коду. Потім я завантажив останній інсталятор і запустив його, що закінчилося повідомленням про те, що все вже оновлено. Це, однак, зупинило послуги, і тоді я зміг запустити його і скомпілювати модулі.
iisisrael

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.