Вопрос или проблема
У меня возникла проблема с VMWare на Linux. После попытки запустить гостевую систему Ubuntu или Windows на хосте с Ubuntu 20.04 LTS 64-BIT, появляются следующие три ошибки:
Не удалось открыть /dev/vmmon: Нет такого файла или каталога. Пожалуйста, убедитесь, что загружен модуль ядра ‘vmmon’.
После нажатия OK появляется вторая ошибка:
Не удалось инициализировать монитор устройства.
После нажатия OK на вторую ошибку появляется третья ошибка:
Не удалось изменить состояние питания виртуальной машины: ошибка Transport (VMDB) -14: соединение по каналу прервано
Информация о хосте: AMD 64-Bit FX9800 8-ядерный процессор, 32 ГБ ОЗУ, достаточно места на жестком диске. ОС: Ubuntu 20.04 LTS с последним ядром 5.11.0-40-generic. VMware Workstation Pro 16.2.1 (сборка 18811642). UEFI – безопасная загрузка включена. Одинарная загрузка – ни одного раздела Windows.
Информация о гостевых системах: Оба гостевых, Ubuntu и Windows, настроены на загрузку через BIOS, а не UEFI. Я попробовал создать новую виртуальную машину, использующую UEFI, и возникла та же проблема.
Шаги, которые я предпринял:
-
Удалил через команду терминала
sudo vmware-installer -u vmware-workstation
, перезагрузился, затем переустановил черезsudo sh VMware-Workstation-Full-16.2.1-18811642.x86_64.bundle
(установлено через CLI – графический установщик не использовался). Затем я перезагрузился, та же проблема. Как с предыдущей, так и с новой виртуальной машиной. -
Физически на машине хоста, удалил через команду терминала
sudo vmware-installer -u vmware-workstation
, перезагрузился, затем переустановил черезsudo sh VMware-Workstation-Full-16.2.1-18811642.x86_64.bundle
. Затем я перезагрузился, та же проблема. Как с предыдущей, так и с новой виртуальной машиной. -
Убедился, что dkms установлен и все обновления установлены. Установил пакеты linux-tools-generic-hwe-20.04, libelf-dev, linux-generic, fdutils, затем удалил VMware, перезагрузился и переустановил VMware. Та же проблема при запуске гостевых виртуальных машин.
-
Попробовал сгенерировать SSH ключи по https://kb.vmware.com/s/article/2146460:
$ openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/" $ 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) $ mokutil --import MOK.der
-
Подписал модули с помощью
sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
иsudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
-
Перезагрузился. Проблема сохраняется.
-
Попробовал выполнить
sudo vmware-modconfig --console --install-all
. Вывод будет находиться на https://paste-bin.xyz/12577Последний раздел показал:
Запуск служб VMware: Монитор виртуальной машины неудача Интерфейс связи виртуальной машины выполнено Семейство сокетов интерфейса связи ВМ выполнено Виртуальный Ethernet неудача Демон аутентификации VMware выполнено
Что еще я должен попробовать? Как это исправить?
Есть одна возможность, на которую стоит обратить внимание, это проблема с интернетом или неправильная конфигурация на ВМ.
Монитор виртуальной машины не удался / Виртуальный Ethernet не удался
Отключите безопасную загрузку через BIOS. Вероятная причина этих ошибок – конфликт проверочных проверок на современных операционных системах с алгоритмами VMware.
После перезагрузки хост-машины с отключенной безопасной загрузкой, перейдите в оболочку и повторно выполните команду, которую вы пробовали:
vmware-modconfig --console --install-all
Если появится этот текст:
Это должно решить проблему. Просто учтите, что ВМ не то же самое, что двойная загрузка. Почти все редактирование ВМ требует действий с хост-машины.
.
Ответ или решение
Ошибка "Could not open /dev/vmmon: No such file or directory" — это распространенная проблема при использовании VMware Workstation на Ubuntu, особенно когда речь идет о новом участии в ядре или конфликте с безопасными установками BIOS. Давайте подробно рассмотрим, как можно решить эту проблему, учитывая все предоставленные шаги и условия.
Причина проблемы:
-
Безопасная загрузка (Secure Boot): Одной из причин ошибки является безопасная загрузка, которая мешает загружать неподписанные модули ядра. Модуль vmmon необходим для работы VMware в Linux.
-
Недостаточный модуль vmmon: Файл
/dev/vmmon
отсутствует, что говорит о некорректной загрузке или неполной установке модулей VMware.
Решение проблемы:
-
Отключение Secure Boot:
- Перезагрузите систему и зайдите в настройки BIOS/UEFI.
- Найдите параметр Secure Boot и отключите его.
- Сохраните изменения и выйдите из BIOS.
-
Пересборка модулей VMware:
- После отключения Secure Boot, выполните команду для пересборки всех модулей VMware:
sudo vmware-modconfig --console --install-all
- Убедитесь, что эта команда успешно завершилась, и не выводит ошибок о том, что определенные модули не были загружены.
- После отключения Secure Boot, выполните команду для пересборки всех модулей VMware:
-
Переподпись модулей:
- Если отключение Secure Boot невозможно (например, по требованиям безопасности), вы можете подписать модули вручную:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/" 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) mokutil --import MOK.der
- Вам потребуется перезагрузить систему и следовать инструкциям по добавлению ключа MOK при запуске.
- Если отключение Secure Boot невозможно (например, по требованиям безопасности), вы можете подписать модули вручную:
-
Обновление ПО и Зависимостей:
- Убедитесь, что все обновления для Ubuntu установлены, включая заголовки для текущего ядра.
- Проверьте наличие и установите пакеты:
linux-headers-$(uname -r)
,build-essential
,dkms
.
-
Проверка состояния службы VMware:
- Выполните:
sudo systemctl status vmware
- Найдите любые ошибки и устраните их, следуя подсказкам в логах.
- Выполните:
-
Переустановка VMware Workstation:
- Если предыдущие шаги не помогли, попробуйте переустановить VMware с учетом отключенного Secure Boot и обновленных заголовков ядра.
Заключение:
Внимательное выполнение указанных шагов позволит устранить основные проблемы с модулем vmmon
и обеспечить стабильную работу VMware на вашей системе. Если проблема не решается, стоит обратиться в сообщество или в службу поддержки VMware для получения дальнейшей помощи.