VMware Workstation 12 vmmon не найден или не загружен

10

В Ubuntu 12.04 я счастливо использовал VMware Workstation 6. Затем в один прекрасный день эта ошибка произошла при запуске виртуальной машины:

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 с помощью программы установки с графическим интерфейсом.

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)

Твой мудрый совет я отчаянно ищу.

ng0323
источник
Я попытался скопировать файл vmmon с другой рабочей станции, которая работала с VMware, но не смогла. Это 0-байтовый «специальный» файл. Что это за подлый вмон-стер ???
ng0323
Я попытался вручную удалить из командной строки, затем переустановил последнюю версию (скачанную сегодня) и повторил приведенные выше рекомендации, но, увы, мои усилия были напрасны!
ng0323
1
Пожалуйста, попробуйтеsudo vmware-modconfig --console --install-all
Чарльз Грин
1
Есть ли способ исправить это с включенной загрузкой ufi?
rafaelphp
Решение @CharlesGreen мне помогло
TungstenX

Ответы:

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

Эта команда исправила это для меня

Зак Бонифаций
источник
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" (имя модуля virtualbox) на "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

ERIC
источник
Это исправило мою проблему, спасибо! Просто убедитесь, что у вас есть 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

bilgitay
источник
Отключение безопасной загрузки не является плохим ответом. На самом деле это единственный, который работал на обеих моих машинах (на настольном компьютере и ноутбуке) под управлением Ubuntu 18.04 LTS и VMPlayer 14.x. Проблема возникает во время открытия файла изображения. Вместо того, чтобы тратить много времени на различные работы - я бы рекомендовал на время отключить безопасную загрузку, а затем включить ее, когда образ был загружен и использован.
Ашу