VMWARE 16: Не удается загрузить гостевую ОС на Ubuntu 20.04 LTS – ошибка “Не удалось открыть /dev/vmmon”

Вопрос или проблема

У меня возникла проблема с 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. Давайте подробно рассмотрим, как можно решить эту проблему, учитывая все предоставленные шаги и условия.

Причина проблемы:

  1. Безопасная загрузка (Secure Boot): Одной из причин ошибки является безопасная загрузка, которая мешает загружать неподписанные модули ядра. Модуль vmmon необходим для работы VMware в Linux.

  2. Недостаточный модуль vmmon: Файл /dev/vmmon отсутствует, что говорит о некорректной загрузке или неполной установке модулей VMware.

Решение проблемы:

  1. Отключение Secure Boot:

    • Перезагрузите систему и зайдите в настройки BIOS/UEFI.
    • Найдите параметр Secure Boot и отключите его.
    • Сохраните изменения и выйдите из BIOS.
  2. Пересборка модулей VMware:

    • После отключения Secure Boot, выполните команду для пересборки всех модулей VMware:
      sudo vmware-modconfig --console --install-all
    • Убедитесь, что эта команда успешно завершилась, и не выводит ошибок о том, что определенные модули не были загружены.
  3. Переподпись модулей:

    • Если отключение 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 при запуске.
  4. Обновление ПО и Зависимостей:

    • Убедитесь, что все обновления для Ubuntu установлены, включая заголовки для текущего ядра.
    • Проверьте наличие и установите пакеты: linux-headers-$(uname -r), build-essential, dkms.
  5. Проверка состояния службы VMware:

    • Выполните:
      sudo systemctl status vmware
    • Найдите любые ошибки и устраните их, следуя подсказкам в логах.
  6. Переустановка VMware Workstation:

    • Если предыдущие шаги не помогли, попробуйте переустановить VMware с учетом отключенного Secure Boot и обновленных заголовков ядра.

Заключение:

Внимательное выполнение указанных шагов позволит устранить основные проблемы с модулем vmmon и обеспечить стабильную работу VMware на вашей системе. Если проблема не решается, стоит обратиться в сообщество или в службу поддержки VMware для получения дальнейшей помощи.

Оцените материал
Добавить комментарий

Капча загружается...