Die bemerkenswerte Unhöflichkeit der modernen Firmware (oder: Wie man ein BIOS höflich belügt)

Es ist eine allgemein unterschätzte Tatsache, dass Siliziumchips eine ausgeprägte Persönlichkeit besitzen. Besonders Mainboards der Business-Klasse neigen zu einer Art von hochnäsiger Arroganz, die normalerweise nur in sehr exklusiven Londoner Clubs oder bei der Anmeldung eines Kraftfahrzeugs anzutreffen ist. Mein Fujitsu S9010 ist hierbei keine Ausnahme. Er besitzt ein BIOS, das nicht nur strikt nach Regeln spielt, sondern diese Regeln wahrscheinlich selbst in Leder gebunden und mit goldenen Siegeln versehen hat.

Das Problem war denkbar einfach, aber dennoch von einer existenziellen Schwere: Ich wollte OPNsense installieren. OPNsense ist ein wunderbar vernünftiges System, das nichts weiter möchte, als Pakete zu schubsen und für Sicherheit zu sorgen. Doch das BIOS des S9010 sah das anders. Es blickte auf den frisch geschriebenen Bootloader auf der SSD herab, rümpfte die virtuelle Nase und tat so, als wäre dort absolut gar nichts zu sehen.

Die Vermessung der Unhöflichkeit

Bevor man jedoch damit beginnt, Dateien mit der Subtilität eines Abrissunternehmers von A nach B zu kopieren, sollte man sich vergewissern, dass man überhaupt das richtige Stockwerk im Blick hat. Da wir am Anfang nicht wissen, wie das System unsere Festplatte getauft hat, bitten wir es um eine komplette Aufstellung aller Anwesenden:

<code>gpart show</code>

Dies liefert eine Liste, die so trocken und sachlich ist wie die Steuererklärung eines Buchhalters. Man sucht dort in der Spalte ganz rechts nach dem Eintrag, der stolz das Kürzel efi trägt (oft unter dem Decknamen ada0p1 oder da0p1). Nur wer weiß, wie die Haustür genau heißt, kann auch den falschen Namen auf das Klingelschild kleben.

Die Kunst der digitalen Tarnung

Die Lösung war so simpel wie perfide. Wir nutzen die Shell – diesen dunklen Ort, an dem man dem Computer direkt ins Gehirn flüstert – und führen eine kleine Maskerade auf. Wir nehmen den ehrlichen, hart arbeitenden OPNsense-Loader und verstecken ihn in einem Kleiderschrank, auf dem mit großen, leuchtenden Buchstaben „EIGENTUM VON MICROSOFT“ steht.

Zuerst verschafften wir uns Zugriff auf die heiligen Hallen der EFI-Partition (achtet darauf, den Namen zu nutzen, den euch der Befehl oben verraten hat, hier beispielhaft ada0p1):

<code>mount -t msdosfs /dev/ada0p1 /mnt</code>

Dann erschufen wir einen Pfad, den jedes noch so voreingenommene BIOS als „Standard“ betrachten muss, quasi die universelle Uniform für Bootloader:

<code>mkdir -p /mnt/EFI/BOOT</code>

<code>cp /mnt/EFI/freebsd/loader.efi /mnt/EFI/BOOT/BOOTX64.EFI</code>

Doch der eigentliche Geniestreich, der Moment, in dem wir dem Fujitsu-Board erzählten, dass wir gerade ein sehr teures Betriebssystem mit Fenstern im Namen installieren, war dieser:

<code>mkdir -p /mnt/EFI/Microsoft/Boot</code>

<code>cp /mnt/EFI/freebsd/loader.efi /mnt/EFI/Microsoft/Boot/bootmgfw.efi</code>

Wir haben also den OPNsense-Loader genommen und ihn als bootmgfw.efi verkleidet – das digitale Äquivalent dazu, sich einen falschen Schnurrbart anzukleben und mit verstellter Stimme zu behaupten, man sei der Klempner.

Das Ergebnis

Nach einem beherzten Lösen der Verbindung und einem Neustart geschah das Wunder:

<code>umount /mnt</code>

<code>reboot</code>

Das BIOS sah den Pfad zu Microsoft, lehnte sich zufrieden in seinem Schaltkreis-Sessel zurück und dachte: „Ah, endlich wieder normale Leute im Haus.“ Es lud den Code ohne weitere Fragen. Sekunden später begrüßte mich OPNsense. Die Hardware ist glücklich, weil sie glaubt, sie hätte ihren Willen bekommen. Ich bin glücklich, weil ich eine funktionierende Firewall habe. Und irgendwo tief im Inneren des S9010 schlummern nun ein paar Zeilen Code, die sich den digitalen Ast lachen.