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.
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.
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
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.
Das UEFI-Firmware-Setup der virtuellen Maschine kann man auf folgende Arten erreichen:
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.
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.
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.
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
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
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
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