ubuntuusers.de

EFI Grundlagen

Achtung!

Dieser Artikel wird aktuell in Baustelle/EFI Grundlagen überarbeitet. Daher kann es sein, dass diese Seite hier veraltete oder nicht (mehr) zutreffende Informationen enthält. Vergleiche beide Versionen und wende dich im Zweifelsfall mit deinem konkreten Anliegen an das Support-Forum. Änderungen am Artikel bitte nur in Baustelle/EFI Grundlagen!

Achtung!

Die Installation von Ubuntu im EFI-Modus erfordert ein 64-Bit-System, sowohl hardwareseitig als auch von der Software her! Beim Herunterladen der ISO-Datei ist zu beachten, dass die Kennung *-amd64.iso lautet:

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

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Seit mehreren Jahren kommen zunehmend Computer-Systeme auf den Markt, die mit einem (U)EFI in der Mainboards-Firmware ausgestattet sind statt der lange Zeit genutzten BIOS-Firmware.

Dieser Artikel beschreibt die Grundlagen, die für das Installieren und Betreiben eines Rechners mit einem (U)EFI wichtig sind - angepasst an Ubuntu und deren Derivate. Hinweise auf das meistens bereits vorhandene Betriebssystem Windows werden, soweit dieses zum Verständnis notwendig ist, gleichfalls angesprochen.

Hinweise und Erläuterungen

UEFI

Die Informationen zur Historie, Aufbau und Wirkungsweise sind dem externen Artikel (U)EFI (Unified Extensible Firmware Interface) zu entnehmen.

In diesem Artikel werden die dazu passenden Informationen aufbereitet, die die Verbindung in das Betriebssystem Ubuntu herstellen und verständlich machen sollen.

(U)EFI macht es insbesondere möglich, mehrere Betriebssysteme total unabhängig voneinander zu installieren und zu betreiben. Das bisher übliche "entweder" / "oder", wer auf dem Computer-System "das Sagen" hat (Bootloader) und wer im Notfall wen und wie beeinflusst, entfällt dabei. Auch ein nachträgliches Deinstallieren von Ubuntu oder auch Windows ist damit problemlos möglich.

Eine Gemeinsamkeit besteht allerdings noch - die EFI-Partition mit ihren Bootverzeichnissen - aber da kann man sich sicher schon einig werden.

Partitionstabelle

Ein wesentliches Kriterium für die Installation auf einem (U)EFI-Mainboard ist die Formatierung der beteiligten Datenträger (Festplatten, SSD) und der vorhandene Speicherplatz auf diesen Datenträgern.

Die bisher überwiegend verwendete Technik der Formatierung:

  • Master-Partitionstabelle (MPT) - auch "msdos-Format" bezeichnet

wurde aus mehreren Gründen ersetzt durch eine Formatierung mit einer

Weitergehende Informationen zur Verwendung unter Ubuntu sind auch den GRUB_2 Grundlagen zu entnehmen.

Vorgaben seitens Windows

Hat man auf dem UEFI-Rechner bereits eine Windows-Installation, so stellt sich das in der Regel wie folgt dar (links im Terminal, rechts mit GParted):

EFI_win-inst.png
Windows-Installation im EFI-Modus
sudo parted -l 
Modell: ATA SAMSUNG SSD 830 (scsi)
Festplatte  /dev/sda:  128GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt

Nummer  Anfang  Ende    Größe   Dateisystem  Name                          Flags
 1      1049kB  316MB   315MB   ntfs         Wiederherstellung             versteckt, diag
 2      316MB   420MB   105MB   fat32        EFI system partition          boot, versteckt
 3      420MB   555MB   134MB                Microsoft reserved partition  msftres
 4      555MB   84,5GB  84,0GB  ntfs         Basic data partition

Die hier mit lfd. #3 ausgewiesene Partition erscheint als nicht formatiert - aber diese Partition entspricht der Partition

  • system-reserviert

bei der Installation im BIOS-Modus. Diese Partition darf nicht gelöscht oder anderweitig benutzt werden - Windows verwendet diesen Bereich im EFI-Modus für interne Zwecke.

Das Setup aufrufen

Um sich mit den Möglichkeiten der Firmware und dem Setup vertraut zu machen, muss man erst einmal dort hinein kommen. Und hier machen es einem die Hersteller durch unterschiedlichste Maßnahmen nicht immer leicht. Ein Weg ist das beigelegte Handbuch, was heute allerdings auch schon Seltenheitswert hat - oder eine PDF-Datei, auch die braucht ja erst einmal ein lauffähiges Computer-System. In diesen Dokumenten muss man sich dann durcharbeiten und die richtige(n) Taste(n) herausfinden.

Aber es geht auch anders - entsprechende Hinweise werden im Artikel EFI Problembehebung gegeben.

Secure Boot

Secure Boot ist eine (U)EFI-Funktion ab Version 2.3.1 und nun schon auf vielen Mainboards anzutreffen.

Secure Boot soll per Definition den Start von Schadsoftware verhindern, blockiert aber auch das Booten vieler USB-Sticks oder optischer Medien und somit auch die Installation anderer Betriebssysteme. Microsoft schreibt zwar vor, dass man die Option secure-boot auf normalen x86-PCs und -Notebooks abschalten kann, aber dazu ist je nach Hersteller - sowohl Hardware als auch Firmware - ein Ausflug ins BIOS - beziehungsweise UEFI-Setup unabdingbar.

Die diversen Einstellungen befinden sich je nach Hersteller an verschieden Stellen im Setup - siehe folgende Beispiele, sinngemäß ist bei der Suche im Setup / in der Firmware der Hersteller vorzugehen..

Beispiel AMI-BIOS

Hier ein Beispiel aus einem American Megatrends Inc. (AMI) "Aptio" Setup, wie dort die Einstellungen zu finden sind und worauf es ankommt.

Beispiel American Megatrends Inc. (AMI) "Aptio" Setup
Hauptmenü "Auswahl Secure Boot" Einstellung "Secure Boot Control"
Einstellung "Secure Boot Mode"
SECURITY_01.JPG SECURITY_02.JPG
Hier wird die Vorauswahl getroffen, um die Einstellungen für "Secure Boot" im Submenü (Bild rechts) aufzurufen In dem oberen gekennzeichneten Menüpunkt kann man das "Secure Boot" aktivieren
In dem unteren gekennzeichneten Submenü wird der Modus von "Secure Boot" und dabei die Nutzung der Signaturen eingestellt.
zur vollen Darstellung linke Maustaste

Es sind einstellbar bei

  • "Secure Boot Control"

    • "Disabled"

    • "Enabled"

  • "Secure Boot Mode"

    • Die Option "Standard" stellt in der Regel nur den vom Microsoft dem Boardhersteller zur Verfügung gestellte Signatur bereit.

    • Die Option "Custom" lässt bei der AMI-EFI-Firmware die Benutzung von nicht in der Firmware hinterlegten Signaturen zu.

Alle Signaturen müssen den Bestimmungen der "Microsoft UEFI Certificate Authority (CA)" entsprechen.

Beispiel PHOENIX-BIOS

Hier ein Beispiel aus einem PHOENIX-BIOS Setup, wie dort die Einstellungen zu finden sind und worauf es ankommt.

Beispiel "Phoenix SecureCore Tiano" Setup
Einstellung "Secure Boot / OS Mode"
PHOENIX-BIOS.JPG Schritt 1 - Im Menüpunkt "Boot" findet man die Einstellungen für "Secure Boot".
Schritt 2 - Ist diese Einstellung auf "[Enabled]" gesetzt, ist UEFI immer als Vorgabe gesetzt. Es werden die Einstellungen für die Auswahl der Betriebsmodi nicht angezeigt.
Schritt 3 - Hat man im Schritt 2 das "Secure Boot" auf "[Disabled]" gesetzt, kann man mit dieser Auswahl die Betriebsmodi zur Auswahl aufrufen.
zur vollen Darstellung linke Maustaste

Abfrage unter Windows

Ob das secure-boot aktiviert ist oder nicht, kann man auch im Windows abfragen. Der Schlüssel in der

  • "Registry" –> "HKLM\System\CurrentControlSet\Control\SecureBoot\State"

    • Wert 1: Aktiviert

    • Wert 0: Abgeschaltet

informiert über den momentanen Zustand.

Compatibility Support Module

CSM_SUB_MENU.JPG
Beispiel "Compatibility Support Module" American Megatrends Inc. (AMI) "Aptio" Setup - zur vollen Darstellung linke Maustaste

Hinweis:

Wenn Secure Boot aktiviert wurde, ist der Modus "Compatibility Support Module" kurz CSM (frei übersetzt = BIOS-Kompatibilitäts-Modus) in der Regel nicht verfügbar.

Dieser Modus wurde integriert, da nicht alle Betriebssysteme mit EFI umgehen können. Insbesondere

  • ältere MS-Betriebssysteme sind von dieser Limitierung betroffen

  • die meisten 32-Bit-Betriebssysteme

erfordern einen BIOS-Kompatibiliäts-Modus, der die Emulation eines herkömmlichen BIOS erlaubt. Damit können dann auch mit EFI nicht kompatible Betriebssysteme auf einem solchen Rechner installiert werden.

Man kann den CSM-Modus - wenn gewünscht oder aus anderen Gründen erforderlich - natürlich auch für solche Betriebssysteme nutzen, die eigentlich schon mit EFI umgehen können.

Im CSM-Modus verhält sich das System - was Start und Installation anbelangt - dann so, wie man es von einem reinen BIOS-System gewohnt ist.

Die Aktivierung des CSM-Modus zwingt den Anwender aber auch dazu, sich beim Start eines Start-Datenträgers für einen der beiden Modi (UEFI oder Legacy) im EFI Menü zu entscheiden.

Unter den Systemherstellern herrscht bisher keine Einigkeit in Bezug auf das Boot-Verhalten von UEFI-Firmware. Viele Systeme werden deshalb im Nicht-UEFI-Modus ausgeliefert, laden also grundsätzlich das Compatibility Support Module. Das sollte man vor einer Installation immer abklären.

Installations-Medien

Unabdingbar ist das Vorhandensein eines ISO mit 64-Bit-Architektur.

Ein herunter geladenes ISO brennt man wegen seiner Größe (in der Regel > 800 MB) auf eine DVD und benutzt diese DVD zum Installieren.

ISO auf USB-Stick

Wesentlich kostengünstiger - für den Preis eines DVD-Stapels kann man schon einen USB-Stick von ca. 4GB erwerben und auf diesen das ISO aufbringen. Geeignete Beschreibungen dazu findet man u.a. unter

Starten der Installations-Medien

Die Installations-Medien heutiger Betriebssysteme sind häufig hybrid, d.h. sie können sowohl im BIOS-Modus als auch im EFI-Modus gestartet werden und stellen demzufolge eine Auswahlmöglichkeit im Boot-Menü des EFI bereit. Bei einem Ubuntu-Installations-Medium lassen sich die beiden Modi anhand ihres unterschiedlichen Startbildschirms gut unterscheiden:

Unterschiedliche Start-Bildschirme
BIOS-Modus - Start von DVD BIOS-Modus - Start vom USB-Stick EFI-Modus - GRUB-Menü (DVD oder Stick)
bios-modus-dvd.png bios-modus-usb.png efi-boot-grub2.png
Der bekannte Start-Bildschirm der Ubuntu-DVD. Durch Drücken einer beliebigen Taste kann man das erweiterte Isolinux-Menü optional aufrufen. Der Start-Bildschirm, wenn man die Ubuntu-DVD auf einen USB-Stick übertragen hat und davon lädt. Im EFI-Modus wird ein GRUB 2-Menü angezeigt. Erscheint nach der Auswahl im EFI-Menü secure boot not enabled, so weist es darauf hin, dass diese Option im EFI-BIOS deaktiviert wurde.

Hinweis:

Lässt sich das Installations-Medium nur im EFI-Modus starten (rechte Darstellung), so kann man trotzdem eine , Nicht-EFI-Umgebung, (für den BIOS-Modus) erzwingen, indem man im GRUB_2-Menü: die markierte Bootoption in die entsprechende Zeile einträgt:

linux  /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper noefi quiet splash --

Das EFI-Menü

EFI_BOOT_MENU.JPG
Beispiel "EFI-Menü im CSM-Modus" American Megatrends Inc. (AMI) "Aptio" Setup - zur vollen Darstellung linke Maustaste

Achtung!

Mit welcher Taste bzw. Tastenkombination dieses EFI-Menü erreicht werden kann, ist sowohl vom Hardware- als auch Firmware-Hersteller abhängig. Dazu muss man die relevanten Unterlagen bemühen oder sich im Internet informieren. Ein wildes Ausprobieren kann ggf. zu unerwarteten Auswirkungen führen!

Hinweis:

Sofern Secure Boot aktiviert bzw. der "Legacy"-Modus ausgeschaltet wurde, werden nur EFI-Einträge angezeigt. Jene Einträge, die (wegen fehlender Signatur) nicht secure-boot-fähig sind, werden auch angezeigt. Man merkt dieses aber erst nach der Auswahl, da der weitere Start- / Bootvorgang verweigert wird.

Im EFI-Menü werden je nach Voreinstellung des Firmware-Setup, hier im Beispiel mit CSM-Modus, alle Datenträger angezeigt. Die Darstellungen sind abhängig von der jeweiligen Firmware und weicht bei den verschiedenen Herstellern im Layout und Umfang erheblich voneinander ab. Deshalb muss man das für sein EFI-Menü sinngemäß betrachten.

Wird im EFI-Menü ein nicht vollständig startfähiger Eintrag ausgewählt, so wird in der Regel der nächste Eintrag aus dem EFI-Menü genommen, geprüft ob dieser startfähig ist und dann automatisch gestartet.

Aus dem Beispiel kann man folgende Hinweise entnehmen:

Beispieleintrag 1

Dieser Standardeintrag wird von einer Ubuntu-Installation automatisch erzeugt bzw. wird nach jedem Update der GRUB 2 grub-efi-Pakete in das EFI-Menü neu eingetragen.

Beispieleintrag 2

Dieser Eintrag wurde manuell mit dem EFI-Bootmanager erzeugt. Weitere Hinweise zum Erzeugen selektiver Einträge siehe auch unter Nachbearbeitung.

Beispieleintrag 3U

Dieser Eintrag wurde von einem externen Datenträger an einem USB-Port erzeugt und weist darauf hin, dass es sich um einen EFI-fähigen Starteintrag handelt - ob dieser auch secure-boot-fähig ist, kann man daraus nicht erkennen.

Hinweis:

Wird auf einem externen Datenträger eine VFAT-formatierte Partition erkannt (unabhängig von der Art der Partitions-Tabelle), so wird in der Regel ein "UEFI"-Eintrag angezeigt, auch wenn sich dort kein entsprechender Eintrag befindet.

Beispieleintrag 3L

Dieser Eintrag wurde von einem externen Datenträger an einem USB-Port erzeugt und weist nur auf das Vorhandensein eines Datenträgers hin, der im Legacy-Modus ansprechbar ist - ob dieser auch diesbezüglich vorbereitet wurde (Installation eines MBR) kann man daraus nicht erkennen.

Beispieleintrag 4

Mit Auswahl dieses Eintrages kann man das Setup der Firmware gelangen. Es ist eine der Möglichkeiten, das Setup zu betreten.

EFI-Bootverzeichnis

Die Besonderheit bei einem (U)EFI-System besteht gegenüber einem BIOS-System darin, dass das UEFI-System auf Dateisystemebene einen Betriebssystem-Bootloader zur Ausführung bringen kann.

EFI-Systempartition

Voraussetzung für den Zugriff auf Dateisystemebene ist, dass mindestens ein Datenträger im System dafür eine spezielle Partition bereitstellt. Diese nennt man EFI-Systempartition und hat in der Regel auf einem Datenträger mit GPT = GUID Partitions Tabelle die folgenden technischen Eigenschaften:

  • Partitionsnummer: 1 (Empfehlung!)

  • Kennung: ef00

  • Name: EFI System

  • Dateisystem: FAT (Standard 32 bit)

  • GUID: C12A7328-F81F-11D2-BA4B-00A0C93EC93B

  • Größe: 100-200 MiB

  • Mountpunkt: /boot/efi

Hinweis:

Es stehen verschiedene Werkzeuge zum Erstellen einer ESP zur Verfügung, u.a. gparted oder gdisk. Das Vorgehen für beide Anwendungen ist z.B. in Universal stand-alone grub für BIOS und EFI auf USB flashkey und internen HDD und SSD (Abschnitt „Partitionieren-des-flashkey“) beschrieben.

Verzeichnisstruktur

Die EFI-Systempartition verfügt über eine bestimmte Verzeichnisstruktur. Im Wurzelverzeichnis befindet sich nur das Verzeichnis EFI. Unterhalb von EFI existiert immer das Verzeichnis BOOT. Daneben existiert in der Regel mindestens ein Hersteller-Verzeichnis.

BOOT

Dem Verzeichnis /EFI/Boot kommt auf der EFI-Systempartition eine spezielle Bedeutung zu: Die dort enthaltene Bootloader-Datei BOOTX64.efi wird während der Startphase automatisch in das EFI-Menü aufgenommen und steht damit für den Endanwender zur Auswahl bereit. Das dient in erster Linie der automatischen Bereitstellung von Betriebssstem-Loadern auf Wechsel-Datenträgern. Dies kann aber auch als Notfall-Starteintrag genutzt werden, falls sich z.B. keine Starteinträge für Hersteller-Verzeichnisse zum NVRAM der Firmware hinzufügen lassen.

Hinweis:

Da das Verzeichnis /EFI/BOOT nur ein mal auf der EFI-Systempartition existiert, gibt es um die Besetzung der Datei BOOTX64.efi eine Konkurrenz. Standardverhalten der Installationsroutinen von Betriebssystem-Loadern wie z.B. auch GRUB 2 ist es, den eigenen Loader sowohl im Hersteller-Verzeichnis, als auch als /EFI/BOOT/BOOTX64.efi auf dem System verfügbar zu machen.

Auf Systemen mit mehreren Betriebssystemen sollte man diese Konkurrenzsituation im Auge behalten. In aller Regel erlauben die Wartungsprogramme der Bootloader, die Installation des Bootloaders im Verzeichnis /EFI/BOOT zu unterlassen.

Hersteller-Verzeichnisse

Fest auf dem System installierte Betriebssysteme sollten Ihren Bootloader in erster Linie in einem eigenen Hersteller-Verzeichnis 🇬🇧 ablegen. So ist für Microsoft das Verzeichnis /EFI/Microsoft registriert und Canonical verwendet für Ubuntu bzw. deren Derivate wie KUbuntu, LUbuntu, XUbuntu das Verzeichnis

  • /EFI/ubuntu

Damit wird sichergestellt, dass sich die Bootloader – abgesehen von der Konkurrenz um das Verzeichnis /EFI/BOOT – nicht gegenseitig stören.

So sieht die Verzeichnisstruktur nach einer Standard-Ubuntu-Installation derzeit (Stand: 2023) dann wie folgt aus:

/boot/efi/EFI
├── BOOT
│   ├── BOOTX64.EFI
│   ├── fbx64.efi
│   └── mmx64.efi
└── ubuntu
    ├── BOOTX64.CSV
    ├── grub.cfg
    ├── grubx64.efi
    ├── mmx64.efi
    └── shimx64.efi

Systemsicherung unter Windows

Achtung!

Die windows-interne Systemsicherung kann auf einem Rechner mit (U)EFI möglicherweise die Ubuntu-Installation beeinflussen.

Bei einer Systemsicherung unter einem (U)EFI-Windows werden in der Regel alle Verzeichnisse und Dateien auf der EFI-Partition in das Backup mit aufgenommen. Dieses beinhaltet also auch das Verzeichnis (/boot/efi/)EFI/ubuntu mit seinen Startdateien (siehe oben).

Das ist einerseits vom Vorteil, falls man diese Dateien zur Wiederherstellung braucht - birgt aber andererseits die Gefahr, dass nach einer Reparatur von Windows ggf. veraltete Verzeichnisse sowie Dateien zurück geladen werden und damit dann das Ubuntu nicht mehr gestartet werden kann oder unerwartete Reaktionen zeigt.

Man kann über die Reparatur der Ubuntuinstallation diesen Starteintrag wieder herstellen.

Intern

Extern

  • UEFI Spezifikation 🇬🇧 - Aufbau und Grundsätze

  • UEFI - Unified Extensible Firmware Interface

  • NVRAM - Non-Volatile Random-Access Memory

Diese Revision wurde am 23. Mai 2023 09:20 von DJKUhpisse erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Installation, EFI, BIOS, Ubuntu