6.Februar 2025
In einem früheren Artikel habe ich beschrieben, wie man in Proxmox ein Windows-Betriebssystem installiert und dabei das EFI mit einer aktuellen Certificate Authority (CA) versieht. Nun stellt sich die Frage: Muss ich diesen Prozess für jede neue VM wiederholen?
Zum Glück gibt es eine einfachere Lösung! In diesem Artikel erkläre ich, wie ihr ein aktualisiertes EFI-NVRAM für alle eure virtuellen Maschinen wiederverwenden könnt.
Hinweis:
Diese Anleitung geschieht auf eigene Verantwortung. Bitte sichert eure Daten, bevor ihr Änderungen am System vornehmt!
Proxmox und EFI-Varianten
Proxmox liefert standardmäßig zwei Varianten des UEFI-Bootloaders mit:
- EFI ohne Microsoft-Zertifikate
- EFI mit der vorkonfigurierten Microsoft CA 2011
Das Problem ist, dass diese Versionen nicht automatisch mit den aktuellen Microsoft 2023-Zertifikaten ausgestattet sind. Um nicht bei jeder neuen VM das EFI manuell zu aktualisieren, gibt es einen Trick: Wir erstellen eine VM mit aktuellem EFI und nutzen das NVRAM als globale Vorlage.
Schritt-für-Schritt-Anleitung
1. Eine neue VM mit speziellem EFI-Speicher erstellen
- Erstellt eine neue VM in Proxmox.
- Achtet darauf, dass das EFI-Image nicht in einem LVM oder CEPH-Storage gespeichert wird, sondern auf einem Storage mit Verzeichnisstruktur (z. B.
/mnt/pve/prox/images/
). - Wählt das RAW-Format für die EFI-Disk.
2. Betriebssystem installieren & EFI aktualisieren
- Installiert das gewünschte Betriebssystem.
- Führt ein Update des EFI durch, indem ihr die neuen 2023-Zertifikate importiert und die Microsoft CA 2011 auf die Revocation List setzt.
- Stellt sicher, dass das Update tatsächlich übernommen wurde (z. B. mit
mokutil --sb-state
in Linux).
3. EFI-NVRAM-Datei sichern und ersetzen
Das EFI-NVRAM ist als Datei in Proxmox gespeichert und kann als Vorlage für neue VMs genutzt werden. Die relevanten Dateien befinden sich hier:
Standard-OVMF-Dateien in Proxmox:
/usr/share/pve-edk2-firmware/OVMF_CODE_4M.secboot.fd
→ Das eigentliche UEFI-BIOS/usr/share/pve-edk2-firmware/OVMF_VARS_4M.ms.fd
→ Die NVRAM-Datei (unsere Zieldatei)
Backup der Original-NVRAM-Datei
Bevor wir unsere eigene Version einfügen, sichern wir das bestehende NVRAM:
1cp /usr/share/pve-edk2-firmware/OVMF_VARS_4M.ms.fd /usr/share/pve-edk2-firmware/OVMF_VARS_4M.ms.fd.backup
Ersetzen mit unserer eigenen EFI-Datei
Die Datei, die unser aktualisiertes EFI enthält, liegt beispielsweise hier:
1/mnt/pve/prox/images/108/vm-108-disk-0.raw
Nun kopieren wir sie an die richtige Stelle:
1cp /mnt/pve/prox/images/108/vm-108-disk-0.raw /usr/share/pve-edk2-firmware/OVMF_VARS_4M.ms.fd
4. Neue VMs mit dem aktualisierten EFI erstellen
Ab jetzt können wir neue VMs mit dem aktuellen EFI starten:
- Bei der Erstellung der VM einfach EFI als Firmware wählen.
- Den Pre-Enroll Key aktivieren, wenn Secure Boot genutzt wird.
- Fertig! Jede neue VM verwendet nun das aktualisierte EFI mit den Microsoft CA 2023-Zertifikaten.
Selbsterstellte OVMF_VARS einzelnen Maschinen zuweisen
Man muss nicht zwingend das OVMF_VARS_4M.ms.fd von Proxmox überschreiben. Stattdessen kann man das selbst erstellte OVMF_VARS zur Maschine hinzufügen. Dies geht am einfachsten, indem man die vorhandene EFI-Disk in der Proxmox-UI löscht oder per CLI:
Weitere Details zur ursprünglichen Einrichtung und zur Aktualisierung des EFI findet ihr in meinem früheren Artikel.
1qm disk unlink 199 --idlist efidisk0
Dann kann man über folgendes Kommando unser EFI-NVRAM importieren:
1qm set 199 --efidisk0 local-zfs:0,efitype=4m,pre-enrolled-keys=1,import-from=/share/OVMF_VARS_mycustom.fd
Wichtiger Hinweis zur Persistenz bei Updates
Man sollte bedenken, dass bei einem Proxmox-Update das EFI-NVRAM überschrieben werden kann. Um sicherzugehen, dass unsere Konfiguration erhalten bleibt:
- Backup der angepassten NVRAM-Datei anlegen:
1cp /usr/share/pve-edk2-firmware/OVMF_VARS_4M.ms.fd /root/OVMF_VARS_4M.ms.fd.custom
- Falls ein Update das NVRAM ersetzt, einfach wiederherstellen:
1cp /root/OVMF_VARS_4M.ms.fd.custom /usr/share/pve-edk2-firmware/OVMF_VARS_4M.ms.fd
- Nach jedem Update kurz prüfen, ob das EFI noch aktuell ist.
Fazit
Mit dieser Methode müssen wir nicht für jede neue VM Secure Boot und die EFI-Updates manuell durchführen. Stattdessen können wir eine einmal aktualisierte NVRAM-Datei als Standard in Proxmox hinterlegen.
Falls ihr Probleme oder Fragen habt, schreibt es in die Kommentare! 😊
Hat dir dieser Guide geholfen? Lass es mich wissen! 🚀