BIOS / UEFI

UEFI

Die Unified Extensible Firmware Interface (kurz UEFI oder EFI) ist ein neues Modell für die Schnittstelle zwischen Betriebssystemen und Firmware. Es bietet eine Standardumgebung zum Booten eines Betriebssystems und zum Ausführen von Pre-Boot-Anwendungen. Es unterscheidet sich von der häufig verwendeten „MBR-Bootcode“ -Methode für BIOS-Systeme.

Wie es funktioniert (einfach)
Das UEFI-System führt im Gegensatz zum alten BIOS, das zu Beginn des bootfähigen Mediums an eine bestimmte Position (Adresse) weitergeleitet wurde, jetzt Dateien in einer dedizierten EFI-Systempartition (ESP) vom Typ 0xEE aus. Die UEFI sucht nach bestimmten Dateien mit der Erweiterung * .EFI in einer bestimmten Verzeichnisstruktur. Sobald diese Dateien gefunden wurden, werden sie in der Startreihenfolge Ihres Mainboards angezeigt. Es hört hier nicht auf, da Sie diese Reihenfolge sowohl in Ihrem Betriebssystem als auch in der Firmware des Mainboards oder sogar in der integrierten UEFI-Shell ändern können.
Das Wichtigste an diesem neuen System ist, dass jedes Festplattenlaufwerk, auf dem die Firmware zum Ausführen eines Bootloaders ausgeführt werden muss, über ein Partition mit FAT32 verfügt. Wenn Sie also Gentoo auf einer Festplatte und ein anderes Betriebssystem auf einer zweiten Festplatte haben, benötigt jede Festplatte eine kleine FAT-Partition vom Typ 0xEE. Wenn Sie auf einer einzelnen Festplatte mehrere Startvorgänge ausführen, benötigt nur diese Festplatte eine dieser dedizierten Partitionen in FAT, um die * .EFI-Dateien zu speichern, die ausgeführt werden können, sobald die Firmware des Mainboards die von Ihnen ausgewählte ausführt.

  • Ohne EFI-Systempartition können Sie das Betriebssystem nicht starten.
  • Die EFI-Systempartition erhält keinen eigenen Laufwerksbuchstaben und kann unter Windows nur über die Datenträgerverwaltung eingesehen werden.
  • Ein Löschen der ESP ist nur mit einem Drittanbieter-Tool möglich.

Unter Linux Bei Distributionen mit Linux-Kernel 4.0 oder neuer kann die UEFI-Firmware-Bitigkeit über die sysfs-Schnittstelle ermittelt werden.

$ cat /sys/firmware/efi/fw_platform_size

Es wird 64 für ein 64-Bit-UEFI (x86_64) oder 32 für ein 32-Bit-UEFI (IA32) zurückgegeben. Wenn die Datei nicht vorhanden ist, haben Sie nicht im UEFI-Modus gebootet.

Von Microsoft Windows 64-Bit-Versionen von Windows unterstützen das Booten auf einem 32-Bit-UEFI nicht. Wenn Sie also eine 32-Bit-Version von Windows im UEFI-Modus gestartet haben, haben Sie eine 32-Bit-UEFI. Um die Bitigkeit zu überprüfen, führen Sie msinfo32.exe aus. Sehen Sie sich im Abschnitt Systemübersicht die Werte für „Systemtyp“ und „BIOS-Modus“ an. Für ein 64-Bit-Windows auf einem 64-Bit-UEFI ist dies Systemtyp: x64-basierter PC und BIOS-Modus: UEFI, für ein 32-Bit-Windows auf einem 32-Bit-UEFI – Systemtyp: x86-basierter PC und BIOS Modus: UEFI. Wenn der „BIOS-Modus“ nicht UEFI ist, wird Windows nicht im UEFI-Modus gestartet.

BIOS und UEFI – Die wichtigsten Unterschiede

Das alte BIOS wurde in den 1970er-Jahren entwickelt und kam erstmals 1981 auf dem allerersten IBM-PC zum Einsatz. Dementsprechend altmodisch wirkt das BIOS heutzutage auch – ihr erkennt eindeutig, dass das BIOS noch aus der MS-DOS-Ära stammt und nicht mehr ganz auf der Höhe der Zeit ist. Der Nachfolger UEFI bietet im Vergleich eine einfachere Benutzerführung und zusätzliche Funktionen, die heute zum Standard gehören. Das sind die wichtigsten Unterschiede:

  • Das alte BIOS ist  auf das VGA-Bildformat von 640 x 480 Pixeln beschränkt – UEFI-BIOS verwendet stattdessen deutlich höhere Auflösungen und Farbtiefen, was zu einer besseren Übersichtlichkeit beiträgt.
  • Außerdem lässt sich UEFI per Maus bedienen – beim BIOS bist du auf die Eingabe mit der Tastatur beschränkt.
  • Im Unterschied zum BIOS enthält UEFI  alle wichtigen Treiber, die Windows für den Systemstart benötigt. Deshalb verläuft der Bootvorgang beim UEFI deutlich schneller als mit BIOS.
  • UEFI verfügt zudem über einen Standardtreiber für die Netzwerkkarte. Damit kannst du schon vor dem Start des Betriebssystems den Netzwerkanschluss nutzen, z.B. um Firmware-Updates herunterzuladen und zu installieren.
  • Updates lassen sich bei UEFI direkt laden und installieren – beim BIOS musst du das Update zunächst auf den Rechner herunterladen und erst dann das BIOS flashen.
  • Festplatten werden mit UEFI anders partitioniert: Statt nur 4 primären Partitionen (BIOS) kannst du  mit UEFI bis zu 128 Partitionen einrichten.
  • Außerdem können mit UEFI bis zu 3 TByte große Speichermedien verarbeitet werden (BIOS: 2,2 TByte).
  • Bei manchen Anbietern enthält kann das UEFI außerdem Spiele, einen RAM-Test oder einen Browser. Damit kannst du komplett ohne Betriebssystem im Internet surfen.

Verwenden von UEFI

Warnung
Sie müssen sicherstellen, dass Ihre Festplattenlaufwerke nur GPT-Tabellen verwenden, da die Verwendung des alten MBR Ihr System im UEFI-Modus nicht mehr bootfähig macht. Der Kompatibilitätsmodus (Compatibility Mode, CSM) ist auch bei der Verwendung von UEFI als Start-Manager ein Hit und Miss, sofern verfügbar. Microsoft Windows wählt insbesondere mit seiner automatischen Erkennung während der Installation fast immer eine Nicht-UEFI-Installation im BIOS-Kompatibilitätsmodus. Dies führt zu einem hybriden MBR / GPT-Layout, das nicht wünschenswert ist, wenn Sie den UEFI-Start verwenden möchten.

Wenn du Gentoo auf einem System installierst, das UEFI zum Booten des Betriebssystems (anstelle des BIOS) verwendet, ist es wichtig, dass eine EFI-Systempartition (ESP) erstellt wird. Die EFI-Systempartition (ESP) ist eine FAT-formatierte Partition, die die primären EFI-Bootloader oder Kernel-Images für installierte Betriebssysteme enthält.

Die ESP muss eine FAT-Variante sein (auf Linux-Systemen manchmal als vfat angezeigt). Die offizielle UEFI-Spezifikation gibt an, dass die Dateisysteme FAT12, 16, 32 oder 64 von der UEFI-Firmware erkannt werden, obwohl FAT32 für das ESP empfohlen wird. Formatieren Sie das ESP als FAT32:

Gemeinsames Layout in Gentoo
Wir legen dieses Partitionsschema in Gentoo normalerweise so an, dass wir die BIOS- / Boot-Partition und dann einen / boot / efi-Mount-Punkt haben, der auf einem kleinen ESP-Gerät eingehängt ist, um die * .EFI-Dateien zu speichern, die Ihr Mainboard-UEFI ausführen kann.

Device Mount Point Filesystem Description
/dev/sda1 not mounted (bootloader) BIOS boot partition
/dev/sda2 /boot/efi fat32 EFI System Partition (ESP), in der die EFI-Dateien gespeichert werden, um den Bootloader 0xEE zu starten
/dev/sda3 / ext4 Root Partition fürs System
root #mkfs.fat -F 32 /dev/sda2

Ausführliche Hilfe bei der Partitionierung gibt es hier

Wichtig
Wenn keine FAT-Variante für den ESP verwendet wird, kann die UEFI-Firmware des Systems nicht unbedingt den Bootloader (oder den Linux-Kernel) finden und das System wahrscheinlich nicht starten!

In cfdisk findet man eine Übersicht der Partitionen. Unter Filesystem steht vfat…

UEFI mit GPT

GPT
Das GPT-Setup (GUID Partition Table) verwendet 64-Bit-IDs für die Partitionen. Der Ort, an dem die Partitionsinformationen gespeichert werden, ist viel größer als die 512 Bytes eines MBR, was bedeutet, dass die Anzahl der Partitionen für eine GPT-Festplatte praktisch unbegrenzt ist. Auch die Größe einer Partition ist durch ein viel größeres Limit begrenzt (fast 8 ZiB – ja, Zettabyte).
Wenn die Softwareschnittstelle eines Systems zwischen Betriebssystem und Firmware UEFI (anstelle des BIOS) ist, ist GPT fast obligatorisch, da Kompatibilitätsprobleme mit MBR auftreten.
GPT nutzt auch Prüfsummen und Redundanz. Es enthält CRC32-Prüfsummen zum Erkennen von Fehlern in den Header- und Partitionstabellen und verfügt über eine Sicherungs-GPT am Ende der Festplatte. Diese Sicherungstabelle kann verwendet werden, um Schäden am primären GPT am Anfang des Datenträgers wiederherzustellen.
GPT oder MBR
Aus der obigen Beschreibung könnte man meinen, dass die Verwendung von GPT immer der empfohlene Ansatz sein sollte, es gibt jedoch ein paar Einschränkungen.
Die Verwendung von GPT auf einem BIOS-basierten Computer funktioniert, aber dann kann mit einem Microsoft Windows-Betriebssystem kein Dual-Boot durchgeführt werden. Der Grund dafür ist, dass Microsoft Windows im UEFI-Modus gestartet wird, wenn eine GPT-Partitionsbezeichnung erkannt wird.
Einige fehlerhafte Motherboard-Firmware-Versionen, die für den Start im BIOS / CSM / Legacy-Modus konfiguriert sind, haben möglicherweise auch Probleme beim Booten von mit GPT gekennzeichneten Festplatten. Wendies der Fall ist, kann das Problem möglicherweise umgangen werden, indem das Boot- / Aktiv-Flag auf der schützenden MBR-Partition hinzugefügt wird. Dies muss über fdisk mit der Option -t dos erfolgen, damit die Partitionstabelle mit der Taste gelesen wird MBR-Format.
Starten Sie in diesem Fall fdisk und schalten Sie das Flag mit der Taste a um. Drücken Sie 1, um die erste Partition auszuwählen, und drücken Sie dann die Taste w, um die Änderungen auf die Festplatte zu schreiben und die fdisk-Anwendung zu beenden:

Stellen Sie sicher, dass der / boot-Speicherort verfügbar ist. Wenn dies eine separate Partition verwendet, stellen Sie sicher, dass diese bereitgestellt ist:

root #mount /boot

Führen Sie den Befehl grub-install aus, um die relevanten Dateien nach / boot / grub zu kopieren. Dies sollte GRUB2 in / boot / grub installieren, das Core-Image nach /boot/efi/EFI/gentoo/grubx64.efi kopieren und efibootmgr aufrufen, um einen Boot-Eintrag hinzuzufügen.

root #grub-install --efi-directory=/boot/efi
Installation finished. No error reported.