Hoe u VMware Workstation Pro-kernelmodules kunt ondertekenen op Linux-systemen met UEFI Secure Boot-functionaliteit

Hoe U Vmware Workstation Pro Kernelmodules Kunt Ondertekenen Op Linux Systemen Met Uefi Secure Boot Functionaliteit



Om VMware Workstation Pro-kernelmodules te kunnen laden op Linux-systemen met UEFI Secure Boot, moet u ze handmatig ondertekenen. Niet-ondertekende VMware Workstation Pro-kernelmodules worden niet geladen, waardoor de VMware Workstation Pro-services niet kunnen starten.

Zoals u kunt zien, konden de VMware Workstation Pro-services niet starten nadat de VMware Workstation Pro-kernelmodules met succes waren gecompileerd.









 



De vmware systemd-service kon ook niet worden gestart.





$ sudo systemctl-status vmware

 



Een oplossing voor dit probleem is om schakel UEFI Secure Boot uit via de BIOS/UEFI-firmware van uw moederbord . Maar als u UEFI Secure Boot op uw computer niet wilt uitschakelen, moet u een ondertekeningssleutel voor de kernelmodule genereren en de VMware Workstation Pro-kernelmodules ondertekenen met behulp van de gegenereerde sleutel.

In dit artikel laat ik u zien hoe u een ondertekeningssleutel voor de kernelmodule kunt genereren en de VMware Workstation Pro-kernelmodules ermee kunt ondertekenen, zodat de VMware Workstation Pro-kernelmodules correct worden geladen op UEFI Secure Boot-compatibele Linux-systemen.

 

 

 

Inhoudsopgave

  1. Een ondertekeningssleutel voor de UEFI-kernelmodule genereren
  2. Het volledige pad van het kernelscript met tekenbestand vinden
  3. Ondertekening van de VMware Workstation Pro Kernel Modules voor UEFI Secure Boot
  4. De UEFI Kernel Signing Keys toevoegen aan de shim
  5. De UEFI-kernelondertekeningssleutels registreren
  6. Controleren of VMware Workstation Pro Kernel Modules zijn ondertekend voor UEFI Secure Boot
  7. Conclusie
  8. Referenties

 

 

Een ondertekeningssleutel voor de UEFI-kernelmodule genereren

Om een ​​nieuw handtekeningsleutelpaar voor de UEFI-kernelmodule te genereren en deze op te slaan in de ~/.VMware-MOK.priv En ~/.VMware-MOK.der bestand, voert u de volgende opdracht uit:

$ openssl req -new -x509 -newkey rsa:2048 -keyout ~/.VMware-MOK.priv -outform DER -out ~/.VMware-MOK.der -nodes -days 36500 -subj '/CN=VMware/'

 

Zoals u kunt zien, is er een nieuw ondertekeningssleutelpaar voor de UEFI-kernelmodule .VMware-MOK.priv En .VMware-MOK.der wordt aangemaakt in de thuismap van mijn inloggebruiker.

$ ls -lh ~/.VMware*

 

 

Het volledige pad van het kernelscript met tekenbestand vinden

Om de VMware Workstation Pro-kernelmodules te ondertekenen met het gegenereerde sleutelpaar, hebt u de tekenbestand kernel-script. De tekenbestand kernelscript is beschikbaar in verschillende paden in verschillende Linux-distributies.

 

Om het volledige pad van de tekenbestand kernelscript op uw Linux-distributie, voert u de volgende opdracht uit:

$ sudo find /usr/src -wholename '*/scripts/sign-file'

 

Op mijn Ubuntu 24.04 LTS-systeem bevindt het sign-file-kernelscript zich in het pad /usr/src/linux-headers-6.8.0-31-generic/scripts/sign-file .

 

 

Ondertekening van de VMware Workstation Pro Kernel Modules voor UEFI Secure Boot

Om de VMware Workstation Pro-kernelmodules te ondertekenen vmmon En vmnet met behulp van de sleutelparen ~/.VMware-MOK.priv En ~/.VMware-MOK.der met de tekenbestand kernelscript, voert u de volgende opdrachten uit:

$ sudo /usr/src/linux-headers-6.8.0-31-generic/scripts/sign-file sha256 ~/.VMware-MOK.priv ~/.VMware-MOK.der $(modinfo -n vmmon)

$ sudo /usr/src/linux-headers-6.8.0-31-generic/scripts/sign-file sha256 ~/.VMware-MOK.priv ~/.VMware-MOK.der $(modinfo -n vmnet)

 

 

De UEFI Kernel Signing Keys toevoegen aan de shim

Zodra de VMware Workstation Pro-kernelmodules zijn ondertekend met de gegenereerde sleutelparen ~/.VMware-MOK.priv En ~/.VMware-MOK.der , moet u het ~/.VMware-MOK.der bestand naar de UEFI-shim en registreer het vanuit de UEFI-firmware van uw computer.

Om het ~/.VMware-MOK.der bestand naar de UEFI-shim, voert u de volgende opdracht uit:

$ sudo mokutil --import ~/.VMware-MOK.der

 

Voer een wachtwoord naar keuze in en druk op .

 

Typ het wachtwoord opnieuw en druk op . De ~/.VMware-MOK.der bestand moet worden toegevoegd/geïmporteerd naar de UEFI-shim.

 

 

 

De UEFI-kernelondertekeningssleutels registreren

Om de sleutel te registreren ( ~/.VMware-MOK.der ) geïmporteerd in de UEFI-shim, start u uw Linux-systeem als volgt opnieuw op:

$ sudo opnieuw opstarten

 

U zult een soortgelijk UEFI-sleutelbeheervenster zien.

Druk op een willekeurige toets om MOK-beheer uit te voeren.

 

 

Selecteer IOC inschrijven en druk op .

 

Selecteer om te zien welke sleutel wordt geregistreerd Sleutel bekijken en druk op .

 

De sleutel die u gaat registreren, moet worden weergegeven.

Om terug te gaan, drukt u op .

 

Selecteer om de sleutel te registreren Doorgaan en druk op .

 

Selecteer Ja en druk op .

 

Typ het wachtwoord dat u hebt ingesteld tijdens het toevoegen van de gegenereerde sleutel aan de UEFI-shim en druk op .

 

Selecteer Opnieuw opstarten en druk op .

 

Controleren of VMware Workstation Pro Kernel Modules zijn ondertekend voor UEFI Secure Boot

Zodra uw Linux-systeem opstart, kunt u verifiëren of de VMware Workstation Pro-kernelmodules zijn ondertekend door eenvoudigweg te controleren of ze tijdens het opstarten zijn geladen met de onderstaande opdracht:

$ lsmod | egrep 'vmmon|vmnet'

 

Als de vmmon En vmnet kernelmodules worden geladen, waarna de VMware Workstation Pro-kernelmodules met succes worden ondertekend voor uw UEFI Secure Boot-enabled Linux-systeem.

 

 

Als de VMware Workstation Pro-kernelmodules zijn ondertekend, wordt de vmware systemd service zou op uw Linux-systeem moeten draaien.

$ sudo systemctl-status vmware

 

 

Conclusie

In dit artikel heb ik je laten zien hoe je de VMware Workstation Pro-kernelmodules kunt ondertekenen, zodat ze kunnen worden geladen op Linux-systemen met UEFI Secure Boot. Zonder ondertekende VMware Workstation Pro-kernelmodules werkt VMware Workstation Pro niet op UEFI Secure Boot-systemen.

 

 

 

Referenties

  1. Instructies voor het ondertekenen van VirtualBox- en VMware-modules voor Secure Boot

  2. Kernelmodules opnieuw ondertekenen na update – VMMON – Vraag Ubuntu