Lỗi khi cài đặt máy trạm Vmware trên Ubuntu


14

Tôi đang cố gắng cài đặt máy trạm vmware 10.1 trên Ubuntu 14.04 và tôi đã gặp các lỗi sau.

Làm thế nào để tôi sửa nó ?

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

   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

Đây là cách thực hiện rõ ràng nhất của cách giải quyết này mà tôi đã gặp, cảm ơn. Đối với tôi, dòng cuối cùng udosudo chown -R $ USER: $ USER .vmware¨ sẽ tạo ra lỗi này. Sử dụng ~ / đã giải quyết root @ me: / usr / lib / vmware / module / source # sudo chown -R $ USER: $ USER .vmware chown: không thể truy cập '.vmware': Không có tập tin hoặc thư mục gốc như vậy @ me: / usr / lib / vmware / mô-đun / nguồn # sudo chown -R $ USER: $ USER ~ / .vmware
user298928

Câu trả lời:


21

Để khắc phục điều này, chúng tôi sẽ cần áp dụng bản vá này cho bộ lọc.c trong các nguồn mô-đun VMware Player.

Bước 1

tạo một tập tin trong tên thư mục tmp filter.c.diff và sao chép dán đoạn mã init sau đây.

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

Bước 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/

Sau đó chỉ cần chạy vmware và nó sẽ hoạt động tốt.

   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

Lưu ý: Bạn cũng cần phải chỉnh sửa thư mục .vmware nếu không các thay đổi vmware của bạn sẽ không lưu

thí dụ

sudo chown -R one:one .vmware

Trong đó một là tên người dùng của tôi và một là nhóm của tôi.sudo chown -R $USER:$USER .vmware

CỨU GIÚP


nhưng nó không hoạt động trên Ubuntu 32.04 LTS của tôi
Vasu Dev Garg

sẽ không hoạt động trên Ubuntu 15.04
ubuntico

1
@ubuntico cái này rất cũ, hãy kiểm tra wiki trên archlinux cho máy trạm vmware. Tôi hy vọng nó sẽ giúp bạn
Qasim

2
tar: vmnet-only / filter.c: Không tìm thấy trong kho lưu trữ tar: Thoát với trạng thái lỗi do các lỗi trước đó
Mahdi Rashidi

2
filter.c không tồn tại đối với tôitar: vmnet-only/filter.c: Not found in archive tar: Exiting with failure status due to previous errors
Katz

4

Để khắc phục sự cố trên Ubuntu 14.10 kernel 3.17.2

Bước 1

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

Bước 2

Xây dựng lại các mô-đun, trích xuất các nguồn mô-đun:

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

Bước 3

Áp dụng các bản vá:

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

Bước 4

Tái tạo tài liệu lưu trữ:

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

Bước 5

Loại bỏ thức ăn thừa:

rm -r *-only

Bước 6

Xây dựng lại các mô-đun:

vmware-modconfig --console --install-all

CỨU GIÚP


1
CÂU TRẢ LỜI TUYỆT VỜI HOÀN HẢO TRONG 3.18.0
Trevor Rudolph


3

Để khắc phục sự cố trên Ubuntu 14.x kernel 3.19.x, hãy chạy các bước sau dưới dạng Root (trong một thiết bị đầu cuối):

  1. đăng nhập bằng root (ví dụ: sudo -s)

  2. Nhập mật khẩu Root của bạn.

  3. Nhập các lệnh sau:

curl http://pastie.org/pastes/9934018/doad -o /tmp/vmnet-3.19.patch
cd / usr / lib / vmware / mô-đun / nguồn
tar -xf vmnet.tar
bản vá -p0 -i /tmp/vmnet-3.19.patch
mv vmnet.tar vmnet.tar.SAVED
tar -cf vmnet.tar chỉ dành cho vmnet
chỉ rm -r vmnet
vmware-modconfig --console --install-all

Hoạt động tuyệt vời trên Ubuntu 15.04
ubuntico

Có vấn đề tương tự trên Ubuntu 16.04 và đã thử áp dụng bản vá, nhưng không thành công. Hóa ra, VM Workstation Pro mới nhất (phiên bản 12.1.1) đã có các thay đổi từ bản vá được triển khai userif.cdriver.ckhông có gì phù hợp với mã được vá. Sau đó tôi đã tải xuống trình cài đặt mới nhất và chạy nó, kết thúc bằng một thông báo rằng mọi thứ đã được cập nhật. Tuy nhiên, điều đó đã làm dừng các dịch vụ và sau đó tôi có thể khởi động nó và biên dịch các mô-đun.
iisisrael

2

Tôi chỉ có vấn đề tương tự. Bạn cũng có thể chỉ cần tạo một tập lệnh có chứa điều này:

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

Chỉ cần chắc chắn rằng bạn chạy nó như root. Sau đó khởi động lại VMware và nó sẽ biên dịch và chạy lại.

Cảm ơn http://fazlearefin.blogspot.ca/2014/03/vmware-workstation-10-not- Work-on.html để tạo tập lệnh này.


1

Đây cũng là một vấn đề trong mã nguồn mô-đun hạt nhân được phân phối với VMware Player 6.0.1 khi chạy trên Linux 3.3.13.

VMware đã khắc phục sự cố vào ngày 17 tháng 4 trong VMware Player 6.0.2 ( https://www.vmware.com/support/player60/doc/player-602-release-notes.html ) và VMware Workstation 10.02 ( https: // www.vmware.com/support/ws10/doc/workstation-1002-release-notes.html ).

Nâng cấp lên các bản phát hành ở trên sẽ thêm hỗ trợ cho Ubuntu 14.04 cho VMware.

Mikkel

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.