Я пытаюсь установить рабочую станцию 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
Для фиксации этого мы должны будем применить этот патч к filter.c в источниках модуля VMware Player.
создает файл в tmp имени каталога filter.c.diff и копирует, вставляют следующий код init.
нано шаг № 2 /tmp/filter.c.diff
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/
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
После того, как тот просто выполненный 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
Для устранения проблемы на ядре Ubuntu 14.10 3.17.2
Шага № 1
curl http://pastie.org/pastes/9636106/download -o /tmp/vmware-3.17.patch
, источники модуля Извлечения: cd /usr/lib/vmware/modules/source
for i in vmci vmmon vmnet vsock; do tar -xf $i.tar; done
Применяют патч:
patch -p1 -i /tmp/vmware-3.17.patch
Воссоздают архивы:
for i in *-only; do tar -cf ${i/-only}.tar $i; done
Удаляют остатки:
rm -r *-only
Восстанавливают модули:
vmware-modconfig --console --install-all
Для устранения проблемы на Ubuntu 14.x ядро 3.19.x выполните следующие шаги как Корень (в терминале):
входят в систему, поскольку корень (например, sudo-s)
Вводит Ваш Пароль root.
Вводят эти команды:
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
У меня просто была эта та же проблема. Можно также просто создать сценарий, содержащий это:
#!/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
Просто удостоверяются, что Вы выполняете его как корень. Тогда запустите VMware снова, и он должен скомпилировать и работать снова.
Благодаря http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not-working-on.html для создания этого сценария.
Это было также проблемой в исходном коде модуля ядра, поставленном с 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.
Mikkel