Shim 0.2 ermöglicht UEFI-Secure-Boot mit Linux

Ferdinand Thommes
28 Kommentare

Matthew Garrett, Linux-Entwickler und bis vor kurzem Red-Hat-Mitarbeiter, setzt sich seit über einem Jahr mit den Folgen der Einführung von UEFI Secure Boot für Linux auseinander. Jetzt hat er den Bootloader Shim 0.2 vorgestellt, der von Microsoft signiert ist und somit auf Linux-Systemen mit Secure-Boot-Option startfähig ist.

Wer heute einen aktuellen PC erwirbt, auf dem Windows vorinstalliert ist, wird Probleme bekommen, wenn er zusätzlich eine Linux-Distribution installieren will. Das liegt am BIOS-Nachfolger UEFI und der von Microsoft initiierten Secure-Boot-Funktion. Secure-Boot bedingt, dass der Boot-Loader des Rechners gegen einen von Microsoft implementierten Schlüssel verifiziert wird.

Der an sich sehr sinnvolle Ansatz, Schadsoftware in UEFI oder im Bootloader von vorneherein zu verhindern, rief vor über einem Jahr heftige Kritik aus der Linux-Entwickler-Szene hervor, da Linux erst einmal ausgeschlossen schien. Nachdem die anfängliche Panik verflogen war, wurden von den großen Distributionen mehrere Ansätze entwickelt, das Starten von Linux-Installationen als Dual-Boot weiterhin zu ermöglichen.

Matthew Garrett, damals Entwickler bei Red Hat, schrieb dazu einen kleinen Bootloader namens Shim, den er von Microsoft signieren ließ. Dieser „Pre-Loader“ lädt dann den eigentlichen Bootloader, in den meisten Fällen GRUB2. Shim fragt beim Start einen Schlüssel ab, der im System abgelegt worden ist und das Binärpaket von GRUB2 signiert. Wird der Signatur vom Anwender vertraut, lädt Shim daraufhin den eigentlichen Bootloader GRUB2, der das System startet.

Somit können kleinere Distributionen ihren Nutzern den Vorteil eines sichereren Rechners in Form von UEFI-Secure-Boot bieten, ohne selbst einen Bootloader von Microsoft signieren lassen zu müssen.