VMware Workstation 12 vmmon không tìm thấy hoặc không tải


10

Trên Ubuntu 12.04, tôi đã rất vui khi sử dụng VMware Workstation 6. Sau đó, một ngày đẹp trời, lỗi này xảy ra khi khởi động VM:

Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon' is loaded.
Failed to initialize monitor device.

Tôi không chắc chắn về lý do, nhưng có thể, hoàn toàn là suy đoán, do nâng cấp trình điều khiển Nvidia (nó giống như một chuyến viếng thăm văn phòng nha sĩ, vì vậy xin đừng nói với tôi về việc điều khiển lại đồ họa. )
Để theo đuổi độ phân giải, tôi đã cập nhật lên VMware Workstation 12 bằng trình cài đặt GUI.

gksudo bash xxxxx.bundle  

Tôi cho rằng nó đủ thông minh để gỡ cài đặt phiên bản cũ hơn trước khi tiến hành cài đặt phiên bản mới. Tất cả đều tốt, ngoại trừ cùng một vấn đề ở trên xảy ra khi tôi cố gắng khởi động một máy ảo. Thật vậy, như đã tư vấn, tôi không thể tìm thấy tệp hoặc thư mục / dev / vmmon trong hệ thống của mình (điều này cũng đúng trước khi cài đặt lại phiên bản mới hơn.)
Theo một lời khuyên khôn ngoan khác, tôi đã thử:

sudo vmware-modconfig --console --install-all

Đầu ra đầy đủ (e rằng tôi bị hạ cấp vì thiếu cung cấp chi tiết) là:

Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
Using kernel build system.
make: Entering directory `/tmp/modconfig-ha12A3/vmmon-only'
/usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/..    SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic'
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-ha12A3/vmmon-only/vmcore/moduleloop.o
/tmp/modconfig-ha12A3/vmmon-only/linux/driver.c: In function   ‘LinuxDriver_Ioctl’:
/tmp/modconfig-ha12A3/vmmon-only/linux/driver.c:1983: warning: the frame size of 1280 bytes is larger than 1024 bytes
  LD [M]  /tmp/modconfig-ha12A3/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "mcount" [/tmp/modconfig-ha12A3/vmmon-only/vmmon.ko] undefined!
  CC      /tmp/modconfig-ha12A3/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-ha12A3/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/modconfig-ha12A3/vmmon-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/modconfig-ha12A3/vmmon-only'
Using kernel build system.
make: Entering directory `/tmp/modconfig-ha12A3/vmnet-only'
/usr/bin/make -C /lib/modules/3.13.0-49-generic/build/include/..     SUBDIRS=$PWD     SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-49-generic'
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-ha12A3/vmnet-only/vnetUserListener.o
  LD [M]  /tmp/modconfig-ha12A3/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "mcount" [/tmp/modconfig-ha12A3/vmnet-only/vmnet.ko] undefined!
  CC      /tmp/modconfig-ha12A3/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-ha12A3/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-49-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/modconfig-ha12A3/vmnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/modconfig-ha12A3/vmnet-only'
Starting VMware services:
   Virtual machine monitor                                            failed
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                   failed
   VMware Authentication Daemon                                        done
Unable to start services

Tôi thấy một vài thông báo cảnh báo nhưng không có lỗi, do đó thực sự gây khó khăn cho trường hợp vmmon bị thiếu và không tải được .

Theo các lời khuyên khác:

>> sudo /etc/init.d/vmware restart
Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
Starting VMware services:
   Virtual machine monitor                                            failed
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                   failed
   VMware Authentication Daemon                                        done

>> sudo modprobe vmmon
FATAL: Error inserting vmmon (/lib/modules/3.13.0-49-generic/misc/vmmon.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Lời khuyên khôn ngoan của tôi, tôi tuyệt vọng tìm kiếm.


Tôi đã cố sao chép tập tin vmmon từ một máy trạm khác đang hoạt động tốt với VMware nhưng không thể. Đó là tệp 0 byte 'đặc biệt'. Vmmon-ster này là gì vậy ???
ng0323

Tôi đã thử gỡ cài đặt thủ công từ dòng lệnh sau đó cài đặt lại phiên bản mới nhất (được tải xuống ngày hôm nay) và lặp lại các lời khuyên trên, nhưng than ôi những nỗ lực của tôi là vô ích!
ng0323

1
Vui lòng thửsudo vmware-modconfig --console --install-all
Charles Green

1
Có cách nào để khắc phục điều đó khi bật ufi boot không?
rafaelphp

@CharlesGreen giải pháp hiệu quả với tôi
Vonfram

Câu trả lời:



8

Vô hiệu hóa Secure Boot từ UEFI là một câu trả lời kém nhưng đó là câu trả lời chính thức trên diễn đàn VMWare.

Tôi gặp vấn đề tương tự khi cài đặt VirtualBox và quản lý để giải quyết vấn đề VMWare của tôi bằng cách sử dụng cùng một phương pháp. Điều này cho phép tôi giữ cho khởi động an toàn được kích hoạt và cũng sử dụng VMWare.

Vấn đề là mô-đun hạt nhân vmware không được ký nên không được tải khi khởi động an toàn được bật. Tuy nhiên, bạn có thể "tự ký" mô-đun, đó là những gì tôi đã làm cho cả máy trạm VMWare và VirtualBox.

  1. Truy cập bài đăng trên diễn đàn này: https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. Chuyển đến bài đăng của Fayce66 vào ngày 6 tháng 5 năm 2016, 08:37
  3. Trong mỗi lệnh thay thế mô-đun hạt nhân "vboxdrv" (tên mô-đun hộp ảo) bằng "vmmon" (tên mô-đun vmware)
  4. Bạn có thể phải thực hiện lại tất cả các lệnh cho mô-đun hạt nhân "vmnet" (mô-đun mạng vmware)

Những bước này làm việc cho tôi. Tôi có thể giữ cho khởi động an toàn được kích hoạt và sử dụng VMWare Workstation.


Sẽ đặt nội dung dưới dạng liên kết pastebin tại đây trong trường hợp liên kết ban đầu bị hỏng (vì có lẽ sẽ quá dài để chặn câu trả lời): pastebin.com/LyLdy3Wb
DeveloperACE

cũng thông báo rằng người trong bình luận đó đã trích dẫn một liên kết đến gorka.eguileor.com/vbox-vmware-in-secureboot-linux (phiên bản cập nhật gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update ) nguồn của anh ấy để sửa chữa, có thể hữu ích cho ai đó
DeveloperACE

Cũng có thể hữu ích để lưu ý rằng mokmanager.efi có thể được gọi là mmx64.efi theo Rodbooks.com/efi-bootloaders/secureboot.html
DeveloperACE

6

Có thể vấn đề của bạn với VMware Workstation 12 là ...

Trên máy chủ Linux có bật chế độ bảo mật, nó không được phép tải bất kỳ trình điều khiển không dấu nào. Do đó, các trình điều khiển VMware, chẳng hạn như vmmon và vmnet, không thể được tải, điều này ngăn máy ảo bật nguồn.

Để khắc phục điều này mà không tắt khởi động an toàn, bạn có thể thực hiện các thao tác sau trong thiết bị đầu cuối để tự ký tên các trình điều khiển:

  1. Tạo một cặp khóa bằng cách sử dụng openssl để ký các mô-đun vmmon và vmnet:

    openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"
    

    (Thay MOK bằng tên của tệp bạn muốn cho khóa.)

  2. Ký các mô-đun bằng khóa được tạo bằng cách chạy các lệnh sau:

    sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
    sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
    
  3. Nhập khóa chung vào danh sách MOK của hệ thống bằng cách chạy lệnh này:

    sudo mokutil --import MOK.der
    
  4. Xác nhận mật khẩu cho yêu cầu đăng ký MOK này.

  5. Khởi động lại máy của bạn. Thực hiện theo các hướng dẫn để hoàn thành đăng ký từ bảng điều khiển UEFI.

Trích dẫn từ bài viết VMWare này: https://kb.vmware.com/kb/2146460


Điều này đã khắc phục vấn đề của tôi, cảm ơn! Chỉ cần chắc chắn có sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmnet)theo trang được liên kết và thêm sudovào mokutil --import MOK.dercuộc gọi ở trên, với tùy chọn sử dụng sudo passwd roottheo sau sudo mokutil --import MOK.der --root-pwnếu như trên không hoạt động.
Campbeln

1

Vô hiệu hóa khởi động an toàn không phải là một câu trả lời kém. Trên thực tế, đây là thiết bị duy nhất hoạt động cho cả hai máy của tôi (Máy tính để bàn và máy tính xách tay) chạy Ubuntu 18.04 LTS và VMPlayer 14.x. Vấn đề xảy ra tại thời điểm mở một tập tin hình ảnh. Thay vì dành nhiều thời gian cho nhiều công việc khác nhau - tôi khuyên bạn nên tắt khởi động an toàn trong thời gian hiện tại và sau đó kích hoạt nó khi hình ảnh đã được tải và sử dụng.
Ashu
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.