Der Boot Graphics Record Table (BGRT)
Was ist ACPI?
Das ACPI (Advanced Configuration and Power Interface) ist ein Industriestandard zur Steuerung von Energie und Hardware-Konfigurationen in modernen Computersystemen. Es wurde eingeführt, um die Verwaltung von Energieverbrauch und Hardware-Konfigurationen zu vereinheitlichen und zu vereinfachen. ACPI stellt eine gemeinsame Schnittstelle zwischen dem Betriebssystem und der Hardware bereit. Dadurch können Betriebssysteme Energieverbrauch und Hardware-Konfigurationen dynamisch anpassen und optimieren. Beispielsweise können Betriebssysteme, die ACPI unterstützen, den Energieverbrauch von CPUs und anderer Hardware reduzieren, wenn sie nicht voll ausgelastet sind. Neben dem Energiemanagement bietet ACPI auch Unterstützung für das „Hot-Plugging“ bestimmter Hardwarekomponenten, wie Festplatten, Netzwerkkarten und USB-Geräte, und unterstützt das Betriebssystem bei der Erkennung und Konfiguration neu angeschlossener Hardware. Kurz gesagt, dient ACPI als standardisierte Verbindung zwischen Betriebssystem, Hardware und BIOS.
Was ist der BGRT?
Der Boot Graphics Record Table (BGRT) ist ein Bestandteil des ACPI-Standards und liefert Informationen über das Boot-Splash-Bild, das während des Systemstarts dargestellt wird. Der BGRT enthält Daten darüber, wo im Speicher das Boot-Splash-Bild liegt und wie es präsentiert werden soll. Dies ermöglicht es dem Betriebssystem, das Bild korrekt anzuzeigen und bietet dem Nutzer die Möglichkeit, das System visuell von anderen zu unterscheiden.
In der Regel wird das Boot-Logo und die zugehörigen Informationen vom UEFI festgelegt. Meistens wird das Logo vom OEM des Motherboards oder des gesamten Systems festgelegt und ist fest in der UEFI-Firmware implementiert. Das Ändern des Logos im UEFI ist daher meist nur über die Firmware-Quellen oder spezielle Hersteller-Tools möglich.
Während des Systemstarts wird das Boot-Logo in den Framebuffer des Systems geladen und während des UEFI-Bootprozesses angezeigt. Sobald das Bild vollständig geladen ist, wird es in den BGRT geschrieben. Das darauf folgende Betriebssystem kann es dann auslesen und weiter anzeigen. Dieser Prozess verläuft so schnell, dass die meisten Nutzer den Übergangspunkt, an dem das Betriebssystem das Logo vom UEFI über den BGRT übernimmt, nicht bemerken. Erst weitere Grafikanzeigen oder Ladesymbole verraten, dass das Betriebssystem gestartet wurde und das Logo vom UEFI übernommen hat.
Struktur und Aufbau
Die Struktur des BGRT ist in der ACPI-Spezifikation festgelegt und sieht folgendermaßen aus:
Offset (Bytes) | Feld | Funktion |
---|---|---|
0 | Signature | Über die Signatur wird überprüft, ob es sich um einen gültigen BGRT handelt |
4 | Length | Die Länge des gesamten BGRT in Bytes |
8 | Revision | Die Revision des BGRT (aktuell 1) |
9 | Checksum | Eine Checksumme als weitere Art der Überprüfung |
10 | OEMID | Eine sechs Byte große Range zum angeben der eigenen Hersteller-ID |
16 | OEM Table ID | Die BGRT ID des Herstellers |
24 | OEM Revision | Die Revision des Herstellers |
28 | Creator ID | Die ID des Tools, welches den Table erstellt hat |
32 | Creator Revision | Ähnlich der Creator ID |
36 | Version | Der Wert dieses Feldes muss „1“ beinhalten |
38 | Status | Das Status-Feld beinhaltet Informationen über den aktuellen Zusand des Logos. Hierrüber wird die Orientierung des Logos festgelegt (0°, 90°, 180°, 270°) |
39 | Image Type | In diesem Feld wird das Bildformat des Logos angegeben. Aktuell wird nur Bitmap unterstützt |
40 | Image Address | Die Bildadresse ist ein 64Bit großer Wert, der auf die physikalische Startadresse des Logos im Speicher zeigt. Das Logo wurde durch die Firmware an diese Adresse geladen. |
48 | Image Offset X | Dieser 32Bit Wert beschreibt den X-Versatz des Boot-Logos, ausgehend von der linken oberen Ecke des Displays. |
52 | Image Offset Y | Dieser 32Bit Wert beschreibt den Y-Versatz des Boot-Logos, ausgehend von der linken oberen Ecke des Displays. |
Die Offset-Werte geben die Pixel von der oberen linken Ecke des Displays bis zur oberen linken Ecke des Logos an:
Auslesen des BGRT
Das Auslesen des ACPI Boot Graphics Record Table (BGRT) ist unter Windows 11 nicht mehr so einfach wie in früheren Betriebssystemversionen. Unter Linux besteht jedoch weiterhin die Möglichkeit, auf den BGRT zuzugreifen und ihn auszulesen. Die verfügbaren Funktionen können über das Linux-Terminal eingesehen werden und befinden sich unter:
/sys/firmware/acpi/bgrt/*
Das Logo ist als image
gespeichert und kann für die Anzeige auf einen USB-Stick kopiert werden:
cp /sys/firmware/acpi/bgrt/image <Zielpfad>
Zusammenfassung
Der BGRT (Boot Graphics Record Table) ist ein Teil des ACPI-Standards und beinhaltet Informationen über das Boot-Splash-Bild, das während des Bootvorgangs gezeigt wird. Es informiert über den Speicherort und die Anzeigeeinstellungen des Bildes. Der BGRT wird vom System-UEFI ausgelesen und dem Betriebssystem zur Verfügung gestellt, sobald es gestartet wird. Normalerweise wird das Boot-Logo und seine zugehörigen Informationen vom UEFI bestimmt und fest in die Firmware integriert.
0 Comments