ubuntuusers.de

virt-manager - UEFI und Secure Boot verwenden

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


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:

  1. Virtuelle Maschine wie in Virt-Manager beschrieben einrichten, dabei aber am Ende den Haken bei "Konfiguration bearbeiten vor der Installation" setzen.

  2. 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!

  3. Anschließend wählt man "Anwenden" und "Installieren", woraufhin das zuvor gewählte Installations-Medium im UEFI-Modus mit aktiviertem Secure Boot gestartet wird.

01_vm_konfig-anpassen_ubuntu_20.04.3.png 02_firmware-ovmf_code-ms_ubuntu_20.04.3.png 03_anwenden-installieren_ubuntu_20.04.3.png

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.

04_grub_firmwaresettings_ubuntu_20.04.3.png

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:

  1. "Device Manager"

  2. "Secure Boot Configuration"

  3. "Attempt Secure Boot" wählen und mit der Leertaste          Secure Boot aktivieren oder deaktivieren.

06_uefi_select_device_manager_ubuntu_20.04.3.png 07_uefi_dm_select_secure_boot_ubuntu_20.04.3.png 08_uefi_sb_enable-disable_sb_ubuntu_20.04.3.png

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: 09_uefi_shell_ubuntu_20.04.3.png

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 

intern

extern

Diese Revision wurde am 3. Januar 2024 11:39 von Berlin_1946 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Emulation und Virtualisierung