Přejít na obsah

VMware Workstation po aktualizaci jádra Linuxu: chybí vmmon a vmnet, pomůže nová verze nebo starší kernel - LINUX PRO DOMÁCNOST - vzdělávací HUB

Přeskočit menu
Přeskočit menu
Přeskočit menu

VMware Workstation po aktualizaci jádra Linuxu: chybí vmmon a vmnet, pomůže nová verze nebo starší kernel

27.05.2026

Po aktualizaci jádra Linuxu se může stát, že VMware Workstation přestane spouštět virtuální stroje. Příčinou bývají chybějící nebo nenačtené moduly vmmon a vmnet, které VMware potřebuje pro běh virtualizace a virtuální sítě. V článku si ukážeme, jak problém poznat, jak ověřit stav modulů, kdy pomůže starší funkční kernel v GRUBu a proč může být lepším dlouhodobým řešením instalace novější VMware Workstation 26.

Ilustrační obrázek k problému VMware Workstation po aktualizaci jádra Linuxu, kdy chybí moduly vmmon a vmnet, se dvěma řešeními: instalací VMware Workstation 26 nebo spuštěním staršího funkčního kernelu v GRUBu.



VMware Workstation nejde spustit po aktualizaci jádra Linuxu: chybí vmmon a vmnet

Po aktualizaci jádra Linuxu se může stát, že VMware Workstation přestane spouštět virtuální stroje. Program samotný může být nainstalovaný správně, ale problém vznikne v ovladačích, které VMware potřebuje pro práci s virtualizací a virtuální sítí.

Typická chyba může vypadat například takto:
modprobe: FATAL: Module vmmon not found in directory /lib/modules/6.17.0-29-generic

Nebo při kontrole modulů:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
systém odpoví:
  • modinfo: ERROR: Module vmmon not found.
  • modinfo: ERROR: Module vmnet not found.

V takovém případě VMware nemá pro právě spuštěné jádro Linuxu připravené potřebné moduly vmmon a vmnet.



Co jsou moduly vmmon a vmnet

VMware Workstation na Linuxu používá vlastní jaderné moduly.

Nejdůležitější jsou:
vmmon  – modul pro běh virtuálních strojů
vmnet  – modul pro virtuální síť VMware

Tyto moduly nejsou vždy hotové univerzální soubory použitelné pro každé jádro. Broadcom ve své dokumentaci uvádí, že moduly vmmon.ko a vmnet.ko se při instalaci nebo prvním spuštění VMware Workstation sestavují proti aktuálnímu jádru Linuxu, pokud jsou v systému dostupné odpovídající hlavičky jádra a překladač GCC.

To znamená, že po aktualizaci jádra může VMware potřebovat moduly znovu sestavit.



Nejprve zjistěte aktuálně spuštěné jádro

Otevřete Terminál a spusťte:
bash

						uname -r
						  
Příklad výstupu:
6.17.0-29-generic

Tento údaj je důležitý. VMware moduly musí existovat právě pro toto spuštěné jádro.



Ověřte, zda moduly vmmon a vmnet existují

Spusťte:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
Pokud je vše v pořádku, výstup může vypadat například takto:
/lib/modules/6.14.0-37-generic/misc/vmmon.ko
/lib/modules/6.14.0-37-generic/misc/vmnet.ko

To znamená, že moduly pro dané jádro existují.

Pokud ale systém vypíše:
modinfo: ERROR: Module vmmon not found.
modinfo: ERROR: Module vmnet not found.

znamená to, že moduly pro právě spuštěné jádro v systému nejsou.



Standardní pokus o opravu

Nejdříve je vhodné vyzkoušet běžný postup.

Doinstalujte potřebné nástroje a hlavičky jádra:
bash

						sudo apt update
						sudo apt install build-essential linux-headers-$(uname -r)
						  
Potom nechte VMware znovu sestavit potřebné moduly:
bash

						sudo vmware-modconfig --console --install-all
						  
Po dokončení znovu ověřte:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
Pokud se zobrazí cesty k souborům vmmon.ko a vmnet.ko, moduly se podařilo vytvořit.



Když vmware-modconfig selže

Někdy ale standardní oprava nestačí.

Při kompilaci se mohou objevit chyby podobné těmto:
fatal error: driver-config.h: Adresář nebo soubor neexistuje
fatal error: includeCheck.h: Adresář nebo soubor neexistuje
fatal error: vm_basic_defs.h: Adresář nebo soubor neexistuje

Nebo u modulu vmnet například:
objtool: VNetCsumAndCopyToUser... call to csum_partial_copy_nocheck() with UACCESS enabled
Unable to install all modules.

Taková chyba už obvykle neznamená jen to, že chybí hlavičky jádra. Může jít o nekompatibilitu konkrétní verze VMware Workstation s novějším jádrem Linuxu.

V našem testovaném případě selhávalo sestavení modulů pro jádro:
6.17.0-29-generic

Zatímco na starším jádře:
6.14.0-37-generic
moduly vmmon a vmnet existovaly a VMware Workstation fungoval.

Ve výstupu z testu bylo vidět, že vmware-modconfig při sestavování pro jádro 6.17.0-29-generic skončil chybami typu driver-config.h, includeCheck.h, vm_basic_defs.h a objtool, a následně příkazy modinfo -n vmmon a modinfo -n vmnet žádné moduly nenašly.

Podobné chyby se objevují také ve veřejných diskuzích Broadcom komunity u novějších linuxových jader. V jednom z vláken jsou vidět chyby kolem driver-config.h, includeCheck.h, vm_basic_defs.h i objtool při sestavování modulů VMware.



Proč zde nedoporučujeme komunitní patch jako hlavní řešení

Na internetu existují komunitní patche a nástroje, které se snaží VMware moduly upravit tak, aby šly sestavit i proti novějším jádrům. Některé projekty například popisují automatickou kontrolu verze jádra, hlaviček, instalace VMware, Secure Bootu, zálohu původních zdrojových souborů, patchování a následnou kompilaci modulů.

To ale neznamená, že komunitní patch bude vždy fungovat.

V našem praktickém testu byl komunitní patch vyzkoušen, ale nevedl k funkčnímu výsledku. Moduly vmmon a vmnet se pro nové jádro stejně nevytvořily. Následně bylo nutné neúspěšný pokus uklidit a vrátit systém do přehledného stavu.

Proto zde nebudeme jako hlavní postup pro běžné uživatele popisovat stahování a spouštění komunitních patchů z GitHubu. Pro zkušenější uživatele to může být jedna z možných cest, ale vyžaduje schopnost číst výstupy kompilace, pracovat s DKMS a případně bezpečně odstranit neúspěšné změny.

Pro běžného uživatele je v takové situaci bezpečnější nejdříve ověřit, zda VMware funguje se starším jádrem, které v systému zůstalo po předchozí aktualizaci.


Důležité upozornění

Starší kernel není „rozbití systému“ ani nouzové amatérské řešení. Linux běžně ponechává v systému více verzí jádra právě proto, aby bylo možné se v případě potíží vrátit k předchozí funkční verzi.

Pokud VMware po aktualizaci jádra přestane fungovat, ale na předchozím jádře funguje, je rozumné předchozí jádro dočasně používat pro práci s virtuálními stroji.



Bezpečnější řešení: spuštění staršího jádra přes GRUB

Restartujte počítač a zobrazte nabídku GRUB.

Na některých počítačích se GRUB zobrazí pomocí klávesy Shift, jinde pomocí klávesy Esc. U některých zařízení může fungovat i jiná klávesa podle konkrétního firmware. V našem testovaném případě pomáhala také klávesa F4.

Ubuntu Wiki uvádí, že u systémů s BIOSem se pro zobrazení GRUBu používá rychlé podržení klávesy Shift, zatímco u UEFI se používá opakované stisknutí klávesy Esc. Zároveň upozorňuje, že rychlé UEFI bootování může ztížit trefení správného okamžiku.

Podrobnější postup najdete také v samostatném článku:

V nabídce GRUB vyberte:
Advanced options for Zorin/Ubuntu
Potom zvolte starší jádro, na kterém VMware ještě fungoval.

Po spuštění systému znovu ověřte:
bash

						uname -r
						  
Například:
6.14.0-37-generic

Potom zkontrolujte moduly:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
Správný výstup může vypadat například takto:
/lib/modules/6.14.0-37-generic/misc/vmmon.ko
/lib/modules/6.14.0-37-generic/misc/vmnet.ko

Pokud se VMware Workstation na tomto starším jádře spustí, máte potvrzeno, že problém není v samotné instalaci VMware, ale v nekompatibilitě VMware modulů s novějším jádrem.

Dočasným řešením může být spuštění staršího funkčního kernelu přes nabídku GRUB. V našem případě ale později pomohla také instalace novější VMware Workstation 26.



Ochrana funkčního staršího jádra před odstraněním

Pokud jste našli starší kernel, na kterém VMware funguje, je vhodné zabránit tomu, aby jej systém později automaticky odstranil při úklidu balíků.

Nejdříve zjistěte přesné názvy balíků daného jádra.

V tomto příkladu použijeme funkční kernel:
6.14.0-37-generic

Spusťte:
bash

						dpkg -l | grep '6.14.0-37'
						  
Příklad výstupu:
linux-headers-6.14.0-37-generic
linux-hwe-6.14-headers-6.14.0-37
linux-image-6.14.0-37-generic
linux-modules-6.14.0-37-generic
linux-modules-extra-6.14.0-37-generic

Potom tyto balíky označte jako ručně nainstalované:
bash

						sudo apt-mark manual \
						linux-headers-6.14.0-37-generic \
						linux-hwe-6.14-headers-6.14.0-37 \
						linux-image-6.14.0-37-generic \
						linux-modules-6.14.0-37-generic \
						linux-modules-extra-6.14.0-37-generic
						  
Příkaz apt-mark manual označí balík jako ručně nainstalovaný. Podle manuálové stránky Ubuntu tím zabráníte jeho automatickému odstranění ve chvíli, kdy na něm už nezávisí jiný ručně nainstalovaný balík.

Ověření provedete příkazem:
bash

						apt-mark showmanual | grep '6.14.0-37'
						  
Pokud se zobrazí balíky daného jádra, je kernel označený jako ručně nainstalovaný.




Pozor: nejde o totéž jako apt-mark hold

V tomto návodu používáme:
apt-mark manual

Tím říkáme systému:
Tento balík chci v systému ponechat. Neodstraňujte jej automaticky jako nepotřebnou závislost.

Nejde o totéž jako:
apt-mark hold

apt-mark hold slouží k podržení balíku proti aktualizaci, instalaci nebo odstranění. V tomto případě ale nechceme zastavit aktualizace celého systému. Chceme pouze ponechat konkrétní starší kernel jako funkční zálohu pro VMware.



Poznámka k Secure Bootu

Pokud máte zapnutý Secure Boot, VMware moduly musí být nejen vytvořené, ale také správně podepsané. Broadcom popisuje situaci, kdy se při Secure Bootu nepodepsané ovladače vmmon a vmnet nemohou načíst, což vede k chybě typu „Cannot open /dev/vmmon“.

Je ale důležité rozlišovat dvě různé situace:
1. Modul existuje, ale není podepsaný.
2. Modul vůbec neexistuje, protože se nepodařil zkompilovat.

V prvním případě může pomoci podepsání modulů přes MOK.
Ve druhém případě podepisování nepomůže, protože není co podepsat. Nejprve musí vzniknout soubory vmmon.ko a vmnet.ko.




Praktické shrnutí

Pokud VMware Workstation po aktualizaci jádra Linuxu nejde spustit, postupujte takto:

  • (1) Zjistěte aktuální kernel příkazem:
bash

						uname -r
						  
  • (2) Ověřte existenci modulů vmmon a vmnet:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
  • (3) Zkuste standardní opravu přes:
bash

						sudo apt update
						sudo apt install build-essential linux-headers-$(uname -r)
						sudo vmware-modconfig --console --install-all
						  
  • Pokud kompilace modulů selže, nepanikařte. Problém nemusí být ve vás ani v instalaci systému.
  • Jako rychlé dočasné řešení spusťte přes GRUB starší kernel, na kterém VMware ještě fungoval.
  • Pokud na starším kernelu VMware funguje, označte balíky tohoto kernelu jako ručně nainstalované, aby jej systém později automaticky neodstranil.
  • Jako lepší dlouhodobější řešení ověřte, zda není dostupná novější verze VMware Workstation, která už s novým jádrem funguje.
  • Po instalaci nové VMware Workstation proveďte restart systému.
  • Po restartu ověřte:
bash

						uname -r
						vmware --version
						modinfo -n vmmon
						modinfo -n vmnet
						lsmod | grep -E 'vmmon|vmnet'
						  
  • (10) Teprve potom spusťte virtuální stroj a ověřte, že opravdu naběhne.


V PRAXI TEDY EXISTUJÍ DVĚ BEZPEČNÉ CESTY:
  • Pokud potřebujete virtuální stroje spustit hned, může pomoci starší funkční kernel v GRUBu.
  • Pokud je k dispozici novější VMware Workstation, může být lepším řešením aktualizace VMware na novou verzi a následný restart systému.



Lepší řešení: instalace novější VMware Workstation

Návrat ke staršímu funkčnímu kernelu je bezpečné dočasné řešení. Není to ale ideální dlouhodobý stav, protože uživatel musí při práci s VMware ručně vybírat starší jádro v nabídce GRUB.

V našem testu se nakonec ukázalo, že problém lze vyřešit instalací novější verze VMware Workstation. Starší VMware Workstation nedokázala vytvořit funkční moduly vmmon a vmnet pro kernel 6.17.0-29-generic. Po odinstalaci starší verze a instalaci VMware Workstation 26.0.0 už se moduly pro nové jádro vytvořily a po restartu systému se virtuální stroj spustil.

Testované prostředí:
Systém: Zorin OS 18.1
Kernel: 6.17.0-29-generic
VMware: VMware Workstation 26.0.0 build 25388281
Instalační soubor: VMware-Workstation-Full-26H1-25388281.x86_64.bundle



Odinstalace starší VMware Workstation

VMware Workstation instalovaná ze souboru .bundle se běžně neodinstalovává přes apt.
Proto příkaz typu:
sudo apt remove vmware
nemusí fungovat.

Nejprve je vhodné zjistit, jaký VMware produkt je v systému nainstalovaný:
bash

						sudo vmware-installer -l
						  
V našem případě byl dostupný produkt:
vmware-workstation

Odinstalace se proto provedla příkazem:
bash

						sudo vmware-installer -u vmware-workstation
						  
Během odinstalace se instalační nástroj zeptal, zda ponechat konfigurační soubory:
All configuration information is about to be removed. Do you wish to
keep your configuration files? [yes]:

V testu byla ponechána výchozí volba yes, tedy zachování konfigurace.
Odinstalace skončila úspěšně:
Uninstallation was successful.

Po odinstalaci se může stát, že příkaz:
sudo vmware-installer -l
už nebude nalezen. To je v této fázi normální, protože odinstalací VMware se odstranil i samotný nástroj vmware-installer.



Instalace nové VMware Workstation ze souboru .bundle

Poté byla spuštěna instalace nové verze VMware Workstation. V tomto příkladu byl instalační soubor uložen ve složce Stažené.

Nejprve přejděte do složky se staženým souborem:
bash

						cd ~/Stažené
						  
Nastavte soubor jako spustitelný:
bash

						chmod +x VMware-Workstation-Full-26H1-25388281.x86_64.bundle
						  
Spusťte instalaci:
bash

						sudo ./VMware-Workstation-Full-26H1-25388281.x86_64.bundle
						  
Instalace v testu skončila úspěšně:
Installing VMware Workstation 26.0.0
Installation was successful.




Ověření nové verze VMware

Po instalaci lze ověřit verzi VMware příkazem:
bash

						vmware --version
						  
Výstup v testu:
VMware Workstation 26.0.0 25388281

Aktuálně spuštěný kernel:
bash

						uname -r
						  
Výstup:
6.17.0-29-generic

Následně už moduly vmmon a vmnet existovaly i pro nové jádro:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
Výstup:
/lib/modules/6.17.0-29-generic/misc/vmmon.ko
/lib/modules/6.17.0-29-generic/misc/vmnet.ko

To je zásadní rozdíl proti původnímu stavu. Před instalací nové verze VMware tyto moduly pro kernel 6.17.0-29-generic nevznikly.



Proč byl nutný restart

Po instalaci nové VMware Workstation se moduly sice vytvořily, ale virtuální stroj se před restartem systému ještě nespustil.

Objevily se chyby:
Could not open /dev/vmmon:
Adresář nebo soubor neexistuje.
Please make sure that the kernel module `vmmon` is loaded.

Další hlášení:
Failed to initialize monitor device.

A také:
Unable to change virtual machine power state:
Transport (VMDB) error -14:
Pipe connection has been broken.

Tyto chyby ukazují, že modul vmmon sice už existoval na disku, ale nebyl ještě správně načtený v běžícím systému. Proto byl proveden restart počítače.

Restart:
bash

						sudo reboot
						  



Ověření po restartu

Po restartu systém stále běžel na novém jádře:
bash

						uname -r
						  
Výstup:
6.17.0-29-generic

Verze VMware:
bash

						vmware --version
						  
Výstup:
VMware Workstation 26.0.0 25388281

Moduly byly přítomné:
bash

						modinfo -n vmmon
						modinfo -n vmnet
						  
Výstup:
/lib/modules/6.17.0-29-generic/misc/vmmon.ko
/lib/modules/6.17.0-29-generic/misc/vmnet.ko

A hlavně byly skutečně načtené v běžícím jádře:
bash

						lsmod | grep -E 'vmmon|vmnet'
						  
Výstup:
vmnet                   77824  13
vmmon                 163840  0

To znamená, že moduly už nebyly jen vytvořené na disku, ale byly opravdu aktivní v systému.


Po restartu se následně podařilo spustit virtuální stroj Rocky Linux 9 ve VMware Workstation na jádře 6.17.0-29-generic.




Co z toho plyne

Pokud VMware Workstation po aktualizaci jádra Linuxu přestane fungovat, nemusí být jediným řešením návrat ke staršímu jádru. Ten je stále vhodný jako rychlá záchrana, pokud potřebujete virtuální stroje spustit hned.

Lepším dlouhodobým řešením ale může být instalace novější VMware Workstation, pokud nová verze podporuje aktuálně používané jádro lépe než verze původní.


V našem testu platilo:

Starší VMware Workstation + kernel 6.17.0-29-generic:
moduly vmmon a vmnet se nevytvořily správně, VMware nefungoval.

VMware Workstation 26.0.0 + kernel 6.17.0-29-generic:
moduly vmmon a vmnet vznikly, po restartu se načetly a virtuální stroj se spustil.
Proto je vhodné po instalaci nové VMware Workstation vždy provést restart systému a teprve potom ověřit spuštění virtuálního stroje.



Závěr

VMware Workstation je na Linuxu závislý na jaderných modulech vmmon a vmnet. Po aktualizaci jádra se může stát, že tyto moduly pro nové jádro nepůjdou ve starší verzi VMware správně sestavit. V takovém případě nemusí být chyba v uživateli ani v samotném Linuxu. Může jít o nekompatibilitu konkrétní verze VMware Workstation s novějším jádrem.

Pokud standardní oprava přes vmware-modconfig selže a komunitní patche nepomohou, bezpečným dočasným řešením je spuštění staršího funkčního jádra přes GRUB. Jakmile VMware na starším kernelu funguje, je vhodné tento kernel ponechat v systému a označit jeho balíky jako ručně nainstalované.

Z dlouhodobého pohledu ale může být lepším řešením instalace novější VMware Workstation. V našem testu se po instalaci VMware Workstation 26.0.0 podařilo vytvořit a po restartu systému načíst moduly vmmon a vmnet i pro kernel 6.17.0-29-generic. Virtuální stroj Rocky Linux 9 se následně spustil bez nutnosti návratu ke staršímu jádru.

Praktické doporučení tedy zní: starší kernel použijte jako rychlou záchranu, pokud potřebujete VMware spustit okamžitě. Jakmile je dostupná novější VMware Workstation, ověřte její instalaci na aktuálním kernelu. Po úspěšném testu už se ke staršímu jádru kvůli VMware vracet nemusíte.



Zdroje








PODPOŘTE OTEVŘENÉ NÁVODY A DALŠÍ ROZVOJ WEBU LINUX PRO DOMÁCNOST:

Věřím v otevřené znalosti a v to, že kvalitní návody mají být dostupné bez reklam, rušivých prvků a zbytečného trackingu. Každý článek na webu Linux pro domácnost vzniká na základě rešerše, praktického testování na reálném nebo virtuálním počítači, ověřování v různých linuxových distribucích a pečlivého zpracování krok za krokem. Často jde o práci na několik hodin, někdy i několik dnů.

Pokud Vám některý návod pomohl, ušetřil čas nebo usnadnil řešení problému, budu rád za dobrovolnou finanční podporu. A pokud se Vám myšlenka tohoto webu líbí a chcete jeho tvorbu podporovat pravidelně, podívejte se prosím na stránku:

© 2025–2026 Miroslav Zakřevský / LINUX® PRO DOMÁCNOST (linux-doma.cz).
Není-li uvedeno jinak, texty a vlastní výukové materiály jsou zveřejněny pod licencí CC BY-SA 4.0. Kód, skripty, logo, značka, doména, ochranné známky, screenshoty cizího softwaru a materiály třetích stran mohou mít odlišný právní režim.
Návrat na obsah