VMware Workstation 12 vmmon не знайдено або не завантажено


10

У Ubuntu 12.04 я із задоволенням використовую VMware Workstation 6. Потім, одного прекрасного дня, ця помилка сталася при запуску 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.

Я не впевнений у цій причині, але це могло бути, суто спекулятивним, через модернізацію драйвера Nvidia (це було схоже на відвідування стоматологічного кабінету, тому, будь ласка, не кажіть мені знову возитися з графічним драйвером. )
Дотримуючись резолюції, я оновив до VMware Workstation 12 за допомогою інсталятора GUI.

gksudo bash xxxxx.bundle  

Я припускаю, що було достатньо розумним видалити старішу версію, перш ніж приступати до встановлення нової версії. Все добре, за винятком тієї ж проблеми, яка виникала вище, коли я намагався запустити віртуальну машину. Дійсно, як радили, я не міг знайти файл чи каталог / dev / vmmon у своїй системі (це також справедливо перед перевстановленням на нову версію.)
Після чергової мудрої поради я спробував:

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

Повний вихід (щоб я не був сприйнятий через відсутність деталізації) такий:

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

Я бачу пару попереджувальних повідомлень, але жодних помилок, отже, збиває з пантелику справді справа про зниклий та не завантажуваний vmmon .

Наступні поради:

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

Твою мудру пораду я відчайдушно шукаю.


Я спробував скопіювати файл vmmon з іншої робочої станції, яка добре працювала з VMware, але не змогла. Це "спеціальний" файл у байті 0 байтів. Що це за підступний vmmon-ster ???
ng0323

Я спробував вручну видалити з командного рядка, потім перевстановив останню версію (завантажену сьогодні) і повторив вищевказані поради, але на жаль, мої зусилля були марними!
ng0323

1
Будь ласка, спробуйтеsudo vmware-modconfig --console --install-all
Чарльз Грін

1
Чи є спосіб виправити це за допомогою включеного завантаження ufi?
rafaelphp

Для мене працювало рішення @CharlesGreen
TungstenX

Відповіді:



8

Відключення безпечного завантаження від UEFI є поганою відповіддю, але це офіційна відповідь на форумі VMWare.

У мене була аналогічна проблема при установці VirtualBox і мені вдалося вирішити свою проблему VMWare за допомогою того ж методу. Це дозволяє мені підтримувати захищене завантаження, а також використовувати VMWare.

Проблема полягає в тому, що модуль ядра vmware не підписаний, тому він не завантажується, коли ввімкнено захищене завантаження. Однак ви можете "самостійно підписати" модуль, що я і зробив для робочої станції VMWare і VirtualBox.

  1. Перейдіть до цього повідомлення на форумі: https://forums.virtualbox.org/viewtopic.php?f=7&t=77363&start=15
  2. Перейти до повідомлення від Fayce66 6 травня 2016, 08:37
  3. У кожній команді замініть модуль ядра "vboxdrv" (назва модуля віртуальної скриньки) на "vmmon" (назва модуля vmware)
  4. Можливо, вам доведеться знову виконати всі команди для модуля ядра "vmnet" (мережевий модуль vmware)

Ці кроки працювали для мене. Я в змозі підтримувати захищене завантаження та використовувати VMWare Workstation.


я поставитимуть вміст як пастбінне посилання сюди, якщо оригінальне посилання перерветься (оскільки, ймовірно, буде занадто довго, щоб
DeveloperACE

Крім того, особа в цьому коментарі цитувала посилання на gorka.eguileor.com/vbox-vmware-in-secureboot-linux (оновлена ​​версія gorka.eguileor.com/vbox-vmware-in-secureboot-linux-2016-update ) як його джерело для виправлення, може бути корисним комусь
DeveloperACE

Також може бути корисним зауважити, що mokmanager.efi може називатися mmx64.efi відповідно до rodsbooks.com/efi-bootloaders/secureboot.html
DeveloperACE

6

Можливо, ваша проблема з VMware Workstation 12 полягає в тому, що ...

На хості Linux із увімкненим захищеним режимом забороняється завантажувати непідписані драйвери. Завдяки цьому драйвери VMware, такі як vmmon та vmnet, не можуть бути завантажені, що заважає віртуальній машині включатись.

Щоб виправити це, не вимикаючи безпечне завантаження, ви можете зробити наступне в терміналі, щоб самопідписати драйвери:

  1. Створіть пару ключів, використовуючи openssl для підписання модулів vmmon та vmnet:

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

    (Замініть MOK на ім'я файлу, який ви хочете для ключа.)

  2. Підпишіть модулі за допомогою згенерованого ключа, виконавши ці команди:

    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. Імпортуйте відкритий ключ до списку MOK системи, виконавши цю команду:

    sudo mokutil --import MOK.der
    
  4. Підтвердьте пароль для цього запиту на реєстрацію MOK.

  5. Перезавантажте машину. Дотримуйтесь інструкцій, щоб завершити реєстрацію з консолі UEFI.

Цитується з цієї статті VMWare: https://kb.vmware.com/kb/2146460


Це вирішило мою проблему, дякую! Просто переконайтеся, що 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)згідно пов'язаної сторінки і додати sudoдо mokutil --import MOK.derзателефонувати вище, з можливістю використовувати sudo passwd rootпотім , sudo mokutil --import MOK.der --root-pwякщо як зазначено вище , не працює.
Кемпбелн

1

Просто відключіть безпечне завантаження від параметрів UEFI.

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


Відключення безпечного завантаження не є поганою відповіддю. Насправді це єдиний, який працював для обох моїх машин (для настільних ПК та ноутбуків) під керуванням ubuntu 18.04 LTS та VMPlayer 14.x. Проблема виникає під час відкриття файлу зображення. Замість того, щоб витрачати багато часу на різні роботи - я б рекомендував краще відключити захищений завантажувач на даний момент і пізніше включити його, коли зображення завантажено та використовується.
Ашу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.