Гид по технологиям

Обновление модулей ядра VMware на Linux

• 6 min read • Виртуализация • Обновлено 26 Nov 2025
Обновление модулей ядра VMware на Linux
Обновление модулей ядра VMware на Linux

Кнопка обновления на клавиатуре

VMware — удобное решение для запуска нескольких ОС на одном компьютере. Однако после апдейта ядра Linux нередко ломаются модули VMware (host modules). В таких случаях у вас есть два варианта: ждать официального обновления от VMware или собрать и установить патчи самостоятельно. В этой инструкции показано, как сделать второе — быстро и вручную.

Быстрая карта действий

  • Проверить, какая версия VMware установлена (Player или Workstation).
  • Перейти на страницу mkubecek/vmware-host-modules на GitHub и выбрать ветку, соответствующую версии VMware.
  • Клонировать репозиторий, выполнить make и sudo make install.
  • При последующих обновлениях ядра просто выполнять git pull && make && sudo make install.

Важно: для сборки модулей нужен установленный набор инструментов разработки (make, gcc, kernel-headers).

Зачем это работает — краткое объяснение

Модули VMware — это набор C-исходников, которые должны быть скомпилированы под конкретную версию ядра. Когда API/ABI ядра меняются, старые бинарные модули больше не загружаются. Репозиторий mkubecek/vmware-host-modules содержит патчи и исходники, адаптированные под новые версии ядра, чтобы вы могли пересобрать модули локально.

Скачать патчи для текущей версии VMware

Репозиторий mkubecek/vmware-host-modules на GitHub собирает правки, необходимые для сборки host-модулей VMware (и для VMware Player, и для Workstation) под свежие ядра.

Самый простой путь — клонировать нужную ветку репозитория, собрать и установить файлы оттуда.

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

Выбор ветки и версии патчей на GitHub для VMware

Найдите кнопку с веткой (обычно подписана master или номером версии). Затем нажмите зелёную кнопку Code и скопируйте URL для клонирования.

URL для клонирования репозитория патчей VMware на GitHub

В терминале выполните команду, заменив URL на скопированный:

git clone https://github.com/mkubecek/vmware-host-modules.git

Вывод терминала после git clone репозитория VMware

Клонирование обычно занимает несколько секунд. После этого вы получите локальную копию исходников и патчей.

Установка патча в первый раз

Перейдите в только что созданную директорию и выполните команды по порядку. Возможно, потребуется ввести пароль для sudo:

cd vmware-host-modules
make
sudo make install

Вывод терминала при компиляции модулей VMware

Во время сборки вы увидите много сообщений компилятора. Время выполнения зависит от мощности системы — от пары секунд до нескольких минут.

Важно: если команда make не найдена, установите инструменты сборки. В большинстве дистрибутивов это пакет build-essential или аналогичный, а также заголовки ядра (kernel-headers).

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

Обновление модулей после следующих апдейтов ядра

Когда вы в следующий раз обновите ядро, повторно выполнить сборку проще — репозиторий уже клонирован.

В каталоге репозитория выполните:

git pull
sudo make clean
make
sudo make install
  • git pull скачает последние правки.
  • sudo make clean удалит артефакты предыдущей сборки.
  • make и sudo make install пересоберут и установят модули под новое ядро.

Полный чеклист перед сборкой (быстрый)

  • Убедитесь, что установлены gcc и make (или эквиваленты).
  • Установлены заголовки текущего ядра (kernel-headers / linux-headers).
  • Проверена версия VMware (Player vs Workstation).
  • Склонирован или обновлён репозиторий mkubecek/vmware-host-modules.
  • Выполнены make и sudo make install под той же версией ядра, для которой нужны модули.

Частые ошибки и как их исправить

Important: Ниже — типичные ситуации и способы их решения.

  • Ошибка: «make: command not found» — установите инструменты сборки: в Debian/Ubuntu sudo apt install build-essential; в Fedora/RHEL sudo dnf groupinstall “Development Tools” и установите kernel-headers.

  • Ошибка при компиляции, упоминание внутренних API ядра — возможно, в репозитории ещё нет патча под вашу конкретную версию ядра. Проверьте открытые issue в репозитории или попробуйте выбрать соседнюю ветку/патч.

  • Модули не загружаются после установки — reboot, затем проверьте dmesg и systemctl status vmware (или vmware-workstation.service).

  • Конфликт с пакетом из дистрибутива — убедитесь, что нет другой установленной версии модулей, удалите старые артефакты перед make install.

Когда этот метод не сработает (примеры)

  • Если API ядра изменилось радикально, и сообщество ещё не адаптировало исходники — придется ждать обновления от mkubecek или от VMware.
  • Если у вас модифицированное или очень старое ядро, отсутствуют совместимые заголовки.
  • Если вы используете модульную сборку VMware, сильно вшитую в дистрибутив — ручная сборка может не подойти.

Альтернативные подходы

  • Ждать официального патча от VMware — самое простое, но медленнее.
  • Использовать другой гипервизор: VirtualBox, QEMU/KVM — часто более интегрированы с Linux и менее чувствительны к частым обновлениям ядра.
  • Откат ядра на предыдущую версию, где VMware работал — временное решение; полезно, если срочно нужно запустить VM.

Ментальные модели и правила принятия решения

  • Сколько времени вы можете ждать? Если срочно — перепишите модули.
  • Требуется ли вам GUI-Workstation или достаточно легковесного гипервизора? Если не нужен специфический функционал VMware, переход на KVM/VirtualBox может снизить количество подобных проблем.
  • Готовы ли вы устанавливать инструменты разработки? Если да — ручная сборка быстро окупается.

Мини-методология: стандартная последовательность действий

  1. Проверить версию VMware и текущего ядра: uname -r и сведения о приложении.
  2. Клонировать нужную ветку mkubecek/vmware-host-modules.
  3. Установить зависимости (gcc, make, kernel-headers).
  4. Собрать и установить модули: make && sudo make install.
  5. Перезагрузить систему при необходимости.
  6. Проверить работоспособность VM и логирование (dmesg, journalctl).

Роли — быстрые рекомендации

  • Администратор: автоматизируйте процесс сборки в ansible/chef/puppet; добавьте проверку версий ядра и авто-pull из репозитория.
  • Разработчик: держите локальную копию репозитория и скрипт для быстрого make && sudo make install.
  • Домашний пользователь: если не хочется возиться, рассмотрите откат ядра или альтернативный гипервизор.

Чеклист для тестирования (критерии приёмки)

  • VMware запускается без ошибок сразу после установки модулей.
  • Виртуальные машины загружаются и работают нормально (сетевые адаптеры, диски, GUI).
  • В dmesg не видно сообщений о failed to load vmmon/other modules.
  • При последующем обновлении ядра процесс повторяется без ручной отладки.

Краткая галерея крайних случаев и советы по миграции

  • Если модуль несовместим и нет патча — используйте KVM/QEMU (в Fedora/Ubuntu доступны пакеты qemu-kvm/libvirt). Это потребует переноса образов дисков (qcow2/ raw / vmdk).
  • Для автоматизации обновлений собирайте пакеты (deb/rpm) из исходников и ставьте их через стандартный менеджер пакетов.

Справочная таблица команд (cheat sheet)

# Клонировать репозиторий (один раз)
git clone https://github.com/mkubecek/vmware-host-modules.git

# При первом установке
cd vmware-host-modules
make
sudo make install

# При последующих обновлениях
git pull
sudo make clean
make
sudo make install

# Проверки
uname -r            # версия ядра
dmesg | grep -i vm   # лог сообщений ядра по vm
journalctl -u vmware # служебные логи VMware (если есть сервис)

Диаграмма принятия решения

flowchart TD
  A[VMware не запускается после обновления ядра?] -->|Да| B{Клонирован mkubecek/vmware-host-modules?}
  B -->|Нет| C[Клонировать репозиторий и выбрать ветку]
  B -->|Да| D[Выполнить git pull && make && sudo make install]
  D --> E{Ошибки при компиляции?}
  E -->|Нет| F[Перезагрузить и проверить VMware]
  E -->|Да| G[Проверить зависимости и заголовки ядра]
  G --> H{Решилась ли проблема?}
  H -->|Нет| I[Искать issue или открыть новый на GitHub / рассмотреть альтернативы]
  H -->|Да| F

Заключение

Теперь вы знаете, как быстро обновлять модули ядра VMware после апдейтов Linux. Клонирование репозитория mkubecek/vmware-host-modules и периодическая пересборка — надежный и быстрый способ вернуть работоспособность виртуальных машин без долгого ожидания официальных патчей.

Краткая сводка: проверьте зависимости, клонируйте нужную ветку, выполните make и sudo make install. При проблемах смотрите логи, открывайте issue в репозитории или рассматривайте переход на другой гипервизор.

Резюме

  • Быстрое решение: git clone + make + sudo make install.
  • Обновлять при каждом апдейте ядра — git pull && make && sudo make install.
  • Убедитесь в наличии инструментов сборки и заголовков ядра.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро