VMware Workstation 12 vmmon tidak ditemukan atau tidak dimuat

10

Di Ubuntu 12.04, saya dengan senang hati menggunakan VMware Workstation 6. Kemudian, suatu hari, kesalahan ini terjadi ketika memulai 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.

Saya tidak yakin alasannya, tetapi bisa jadi, murni spekulatif, karena meningkatkan driver Nvidia (itu mirip dengan kunjungan ke kantor dokter gigi, jadi tolong jangan bilang padaku untuk main-main lagi dengan driver grafis. )
Dalam mengejar resolusi, saya memperbarui ke VMware Workstation 12 menggunakan installer GUI.

gksudo bash xxxxx.bundle  

Saya menganggap itu cukup pintar untuk menghapus versi yang lebih lama sebelum melanjutkan untuk menginstal versi yang baru. Semuanya baik, kecuali masalah yang sama di atas terjadi ketika saya mencoba memulai mesin virtual. Memang, sebagai penasihat, saya tidak dapat menemukan file atau direktori / dev / vmmon di sistem saya (ini juga berlaku sebelum menginstal ulang ke versi yang lebih baru.)
Mengikuti nasihat bijak lain, saya mencoba:

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

Output lengkap (jangan sampai saya downvoted karena kurang memberikan detail) adalah seperti:

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

Saya melihat beberapa pesan peringatan tetapi tidak ada kesalahan, karenanya membingungkan memang kasus vmmon yang hilang dan tidak dapat dibongkar .

Berikut nasihat lain:

>> 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)

Nasihat bijak-Mu yang saya cari-cari dengan putus asa.

ng0323
sumber
Saya mencoba untuk menyalin file vmmon dari workstation lain yang bekerja dengan baik dengan VMware tetapi tidak bisa. Ini adalah file 'spesial' 0 byte. Apa ini vmmon-ster pengecut ???
ng0323
Saya telah mencoba menghapus secara manual dari baris perintah kemudian menginstal ulang versi terbaru (diunduh hari ini) dan mengulangi nasihat di atas, tetapi upaya saya sia-sia!
ng0323
1
Silakan cobasudo vmware-modconfig --console --install-all
Charles Green
1
Apakah ada cara untuk memperbaikinya dengan ufi boot diaktifkan?
rafaelphp
Solusi @CharlesGreen bekerja untuk saya
TungstenX

Jawaban:

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

Perintah ini memperbaikinya untuk saya

Zack Boniphace
sumber
8

Menonaktifkan Boot Aman dari UEFI adalah jawaban yang buruk tetapi itu adalah jawaban resmi di forum VMWare.

Saya memiliki masalah serupa ketika menginstal VirtualBox dan berhasil menyelesaikan masalah VMWare saya menggunakan metode yang sama. Ini memungkinkan saya untuk tetap mengaktifkan boot aman dan juga menggunakan VMWare.

Masalahnya adalah bahwa modul kernel vmware tidak ditandatangani sehingga gagal dimuat ketika boot aman diaktifkan. Namun Anda dapat "menandatangani sendiri" modul yang saya lakukan untuk VMWare workstation dan VirtualBox.

  1. Buka pos forum ini: https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. Pergi ke pos oleh Fayce66 pada 6 Mei 2016, 08:37
  3. Dalam setiap perintah ganti modul kernel "vboxdrv" (nama modul virtualbox) dengan "vmmon" (nama modul vmware)
  4. Anda mungkin harus melakukan semua perintah lagi untuk modul kernel "vmnet" (modul jaringan vmware)

Langkah-langkah ini berhasil bagi saya. Saya dapat tetap mengaktifkan boot aman dan menggunakan VMWare Workstation.

Tawaran
sumber
akan meletakkan konten sebagai tautan pastebin di sini jika tautan asli rusak (karena mungkin akan terlalu lama untuk memblokirquote dalam jawabannya): pastebin.com/LyLdy3Wb
DeveloperACE
juga mungkin orang di komentar itu mengutip tautan ke gorka.eguileor.com/vbox-vmware-in-secureboot-linux (versi terbaru gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update ) sebagai sumbernya untuk perbaikan, semoga bermanfaat bagi seseorang
DeveloperACE
Juga mungkin berguna untuk mencatat bahwa mokmanager.efi dapat disebut mmx64.efi sesuai dengan rodsbooks.com/efi-bootloaders/secureboot.html
DeveloperACE
6

Mungkin saja masalah Anda dengan VMware Workstation 12 adalah ...

Pada host Linux dengan mode aman diaktifkan, tidak diperbolehkan memuat driver yang tidak ditandai. Karena ini, driver VMware, seperti vmmon dan vmnet, tidak dapat dimuat yang mencegah mesin virtual untuk hidup.

Untuk memperbaiki ini tanpa mematikan boot aman, Anda dapat melakukan hal berikut di terminal untuk menandatangani sendiri driver:

  1. Hasilkan pasangan kunci menggunakan openssl untuk menandatangani modul vmmon dan vmnet:

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

    (Ganti MOK dengan nama file yang Anda inginkan untuk kunci.)

  2. Masuk modul menggunakan kunci yang dihasilkan dengan menjalankan perintah ini:

    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. Impor kunci publik ke daftar MOK sistem dengan menjalankan perintah ini:

    sudo mokutil --import MOK.der
    
  4. Konfirmasikan kata sandi untuk permintaan pendaftaran MOK ini.

  5. Nyalakan ulang mesin Anda. Ikuti instruksi untuk menyelesaikan pendaftaran dari konsol UEFI.

Dikutip dari artikel VMWare ini: https://kb.vmware.com/kb/2146460

EriC
sumber
Ini memperbaiki masalah saya, terima kasih! Pastikan untuk memiliki sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)dan sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $ (modinfo -n vmnet)sesuai halaman yang ditautkan dan tambahkan sudountuk mokutil --import MOK.dermenelepon di atas, dengan opsi untuk menggunakan sudo passwd rootdiikuti oleh sudo mokutil --import MOK.der --root-pwjika seperti di atas tidak berfungsi.
Campbeln
1

Cukup nonaktifkan Boot Aman dari opsi UEFI.

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2103112

bilgitay
sumber
Menonaktifkan boot aman bukanlah jawaban yang buruk. Sebenarnya ini adalah satu-satunya yang bekerja untuk kedua mesin saya (Desktop dan laptop) yang menjalankan ubuntu 18.04 LTS dan VMPlayer 14.x. Masalah terjadi pada saat membuka file gambar. Daripada menghabiskan banyak waktu di berbagai pekerjaan di sekitar - saya akan merekomendasikan lebih baik untuk menonaktifkan boot aman untuk saat ini dan kemudian mengaktifkannya ketika gambar telah dimuat dan digunakan.
Ashu