virt-manager - UEFI und Secure Boot verwenden
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Dieser Artikel beschreibt die Nutzung von UEFI und Secure Boot 🇬🇧 mittels Virt-Manager[1]. Der Computer, auf dem Virt-Manager ausgeführt wird, muss dabei selbst nicht über UEFI oder Secure Boot verfügen.
Installation¶
Die Bereitstellung der UEFI- und Secure-Boot-Firmware-Dateien erfolgt über das Paket ovmf, das normalerweise zusammen mit dem Paket virt-manager installiert wird. Dies lässt sich wie folgt im Terminal[2] prüfen:
dpkg -l | grep ovmf
Sollte das Paket wider Erwarten doch nicht installiert sein, kann man das nachholen:
ovmf (UEFI-Firmware für x86_64-VMs)
Befehl zum Installieren der Pakete:
sudo apt-get install ovmf
Oder mit apturl installieren, Link: apt://ovmf
UEFI und Secure Boot aktivieren¶
Man kann UEFI und Secure Boot über das GUI nur beim Erstellen einer virtuellen Maschine aktivieren. Dazu geht man wie folgt vor:
Virtuelle Maschine wie in Virt-Manager beschrieben einrichten, dabei aber am Ende den Haken bei "Konfiguration bearbeiten vor der Installation" setzen.
Im Konfigurationsfenster wählt man unter "Übersicht" ⇒ "Firmware" dann "OVMF_CODE.ms.fd". Dies entspricht einer UEFI-Firmware mit "Secure Boot"-Unterstützung, welche den Key von Microsoft enthält und somit einem üblichem UEFI entspricht. Bitte auch die Erläuterungen 🇬🇧 zu den OVMF-Dateien beachten!
Anschließend wählt man "Anwenden" und "Installieren", woraufhin das zuvor gewählte Installations-Medium im UEFI-Modus mit aktiviertem Secure Boot gestartet wird.
UEFI-Firmware-Setup aufrufen¶
Das UEFI-Firmware-Setup der virtuellen Maschine kann man auf folgende Arten erreichen:
Ubuntu-Installationsmedium¶
Startet man die virtuelle Maschine mit eingebundenem Ubuntu-Installations-Image, erscheint zu Beginn der Grub-Bildschirm, in dem man die Option "UEFI Firmware Settings" wählt.
UEFI-Firmware-Setup aus Ubuntu heraus aufrufen¶
Man kann das UEFI-Firmware-Setup auch für den nächsten Neustart aus Ubuntu heraus aufrufen. Dazu lässt man sich zunächst die Boot-Einträge mittels efibootmgr auflisten:
sudo efibootmgr
Darauf sollte man eine ähnliche Ausgabe wie die folgende erhalten:
BootCurrent: 0003 Timeout: 0 seconds BootOrder: 0003,0000,0002 Boot0000* UiApp Boot0002* EFI Internal Shell Boot0003* UEFI QEMU DVD-ROM QM00001
Das UEFI-Firmware-Setup wird in der Liste durch den Eintrag UiApp
repräsentiert, hier im Beispiel also der Boot-Eintrag mit der Nummer (000)0
. Nun setzt man den Eintrag für den nächsten Start auf den Eintrag mit der Nummer 0
:
sudo efibootmgr -n 0
Dies wird mit einer Ausgabe ähnlich der folgenden bestätigt:
BootNext: 0000 BootCurrent: 0003 Timeout: 0 seconds BootOrder: 0003,0000,0002 Boot0000* UiApp Boot0002* EFI Internal Shell Boot0003* UEFI QEMU DVD-ROM QM00001
Der Eintrag BootNext: 0000
ist gesetzt worden. Damit wird beim nächsten Start des Systems - und nur einmalig bei diesem - das UEFI-Firmware-Setup aufgerufen.
Secure Boot aktivieren und deaktivieren¶
Innerhalb des Firmware-Setups ändert man die Einstellung für Secure Boot folgendermaßen:
"Device Manager"
"Secure Boot Configuration"
"Attempt Secure Boot" wählen und mit der Leertaste Secure Boot aktivieren oder deaktivieren.
UEFI- und Secure-Boot-Status innerhalb von Ubuntu¶
Innerhalb von Ubuntu kann man den Status von Secure Boot mit den folgenden Befehlen anzeigen:
UEFI:
[ -d /sys/firmware/efi ] && echo UEFI || echo CSM
Secure Boot:
sudo dmesg | grep secureboot
UEFI-Shell¶
Innerhalb von Virt-Manager landet man häufiger auch unerwartet z.B. bei einem Neustart in der UEFI-Shell:
In einer solchen Situation kann man die UEFI-Shell auf verschiedene Arten verlassen:
aus der Shell in das Firmware-Setup:
exit
Reset mit folgendem Neustart:
reset
Runterfahren und Ausschalten:
reset -s
Links¶
intern¶
virt-manager - Alles zum Virt-Manager
EFI Bootmanagement - Übersichtsartikel zu allen Themen rund um das Thema UEFI hier im Wiki
efibootmgr - UEFI-Boot-Einträge bearbeiten
extern¶
Secure Boot 🇬🇧 - Secure Boot erklärt auf ubuntu.com
https://wiki.debian.org/SecureBoot/VirtualMachine#virt-manager 🇬🇧 - Nutzung von Secure Boot mittels Virt-Manager im Debian-Wiki
https://ostechnix.com/enable-uefi-support-for-kvm-virtual-machines-in-linux/ 🇬🇧 - UEFI zusammen mit KVM-basierenden virtuellen Maschinen nutzen
https://linuxhint.com/use-uefi-interactive-shell-and-its-common-commands/ 🇬🇧 - Nutzung der UEFI-Shell, die wichtigsten Kommandos erklärt
https://sources.debian.org/src/edk2/2020.05-3~bpo+1/debian/README.Debian/ 🇬🇧 - Erläuterungen speziell zu den unterschiedlichen OVMF-Dateien
https://sources.debian.org/src/edk2/2020.11-2/OvmfPkg/README/ 🇬🇧 - Erläuterungen zum OVMF-Projekt insgesamt
https://sourceforge.net/projects/efi-shell/files/documents/ShellCommandManual.pdf/download ⮷ 🇬🇧 - UEFI Shell Kommando-Referenz-Handbuch von Intel