Ausgeknipst

UEFI-Start von Linux beschädigt Samsung-Notebooks

Trends & News | News

Das Booten von Linux im UEFI-Modus kann einige Samsung-Notebooks töten – dann hilft nur noch ein Mainboard-Tausch.

Schon der einmalige Start von Linux kann Samsung-Notebooks wie dieses 900X4C schrotten.

Ein Fehlerbericht in Canonicals Bug-Tracker hat zahlreiche Ubuntu-Nutzer zusammengeführt, die ihre Notebooks durch den Start von Ubuntu 12.04 oder 12.10 beschädigt haben. Hauptverursacher war offenbar der Treiber „samsung-laptop“, der sich bei Samsung-Notebooks unter anderem um Helligkeitsregelung und Funktionstasten kümmert. Der Treiber ist Bestandteil des offiziellen Linux-Kernels; es ist daher davon auszugehen, dass auch andere Linux-Distributionen den Defekt hervorrufen, wenn man deren Installationsmedien oder Live-Versionen mit Hilfe von UEFI von CDs, DVDs oder USB-Sticks startet. Es ist nicht einmal auszuschließen, dass auch Software unter anderen Betriebssystemen die Notebooks schrotten kann, wenn sie direkten Zugriff auf die Hardware hat und diese ähnlich anspricht wie der Linux-Treiber. Betroffen sind laut den Fehlerberichten mindestens die Modelle der Serien 300E5C, 530U3C, 700Z3C, 700Z5C, 700Z7C und 900X4C – allesamt flache Notebooks (teilweise Ultrabooks), die Samsung derzeit mit Windows 7 oder 8 verkauft.

Ein Anwender hat die Ubuntu-Entwickler bereits im August über die Problematik informiert, nachdem er Ubuntu 12.04 auf einem 530U3C per UEFI zu installieren versucht hatte. Dazu hatte er ein USB-Stick mit dem Ubuntu-eigenen „Startup Disk Creator“ präpariert, der alles zum Booten via UEFI einrichtet. Ubuntu hängte sich allerdings kurz nach dem Start des Kernels auf; nach dem Ausschalten durch längeres Drücken des Ein/Aus-Tasters startete das Notebook nicht mehr – nicht einmal die Statusausgaben des Firmware-Selbsttests zeigten sich noch. Samsung hat das Gerät im Rahmen der Gewährleistung repariert und dabei das Mainboard getauscht; als dem Anwender das Ganze erneut passierte, informierte er die Ubuntu-Entwickler über das Problem.

Seitdem haben sich in Ubuntu Bug-Tracker zahlreiche weitere Anwender zu Wort gemeldet, die ihre Notebooks auf ähnliche Weise beschädigt haben; den Berichten zufolge ist es unerheblich, ob Secure Boot ein- oder ausgeschaltet ist. Unter den Betroffenen sind auch Nutzer von Ubuntu 12.10, dessen Installations-Images bereits alles zum UEFI-Start Nötige enthalten; bei dieser Version sind daher auch USB-Sticks zum Booten per UEFI geeignet, auf die das Installations-Image mit Werkzeugen wie „dd“ 1:1 übertragen wurde.

Umschiffen

Das Problem lässt sich umgehen, indem man Linux über das Compatibility Support Module (CSM) bootet. Über ein solches kann UEFI-Firmware Betriebssysteme genauso anwerfen, wie es PCs mit BIOS machen. Beim Booten via CSM lässt sich Linux allerdings nicht ohne Weiteres parallel zu einem im UEFI-Modus installierten Windows einrichten (siehe S. 170).

Laut Ubuntu-Entwickler Steve Langasek versuchen die Samsung-Entwickler schon seit einigen Wochen, ein Firmware-Update zu entwickeln, das die Fehlerursache beseitigt. Um die Gefahr für Anwender zu reduzieren, haben die Kernel-Entwickler einige Änderungen in die Linux-Versionen 3.8-rc6 und 3.7.6 integriert, die den Treiber deaktivieren, wenn Linux per UEFI gestartet wurde; diese Kernel-Versionen sind bereits in die Entwicklerzweige erster Distributionen eingezogen. Auch in die täglich aktualisierten Installations-Images der kommenden Ubuntu-Versionen 12.04.2 und 13.04 ist ein ähnlicher Workaround eingeflossen. Canonical und nahezu alle anderen Distributoren aktualisieren die Installer-Images bereits erhältlicher Distributionen allerdings nicht, daher besteht dort weiterhin Gefahr. Zwar kann man das Laden des Treibers mit einen Kernel-Parameter unterbinden; ein Tippfehler oder ein Neustart in einem unbeobachteten Moment kann dann allerdings leicht zum Gerätedefekt führen.

Speichertricks

Wie aus einem Fehlerbericht bei Kernel.org hervorgeht, hat der Treiber bei einigen Anwendern keine Beschädigungen verursacht, sondern im UEFI-Modus zum Auftreten von Machine Check Exceptions (MCEs) geführt. Der Samsung-Laptop-Treiber löst diese Fehlermeldungen und die Beschädigungen wohl aus, weil er direkt in Arbeitsspeicherbereichen agiert, die normalerweise nicht genutzt werden sollten. Wie Kernel-Entwickler Greg Kroah-Hartman in einem Google+-Post erläutert, hätten Samsung-Entwickler ihm allerdings versichert, dass diese Herangehensweise kein Problem sei; Teile des Treibers basieren sogar auf Quellcode, den Kroah-Hartman von Samsung erhalten hat, als er bei der Entwicklung und Integration des Treibers in den Linux-Kernel geholfen hat. Der Kernel-Entwickler stellte zudem klar, die einzig richtige Lösung für das Problem sei eine Firmware-Korrektur durch Samsung.

Der Samsung-Laptop-Treiber ist offenbar nicht der einzige Weg, um die UEFI-Firmware mancher Samsung-Notebooks gehörig aus dem Tritt zu bringen: Wie uns ein Leser mitteilte, konnte er bei seinem 300E5C das UEFI-Setup nicht mehr aufrufen, nachdem er UEFI-Boot-Einträge angelegt hatte, um ein per CSM-Boot installiertes Linux im UEFI-Modus zu starten. Laut seiner Analyse wurden dabei Einträge zum Aufrufen des UEFI-Setups überschrieben, weil eine Funktion der UEFI-Firmware einen nicht spezifikationsgemäßen Wert zurückgegeben habe. Details finden Sie zusammen mit den erwähnten Fehlerberichten über den c’t-Link. (thl)

Artikel kostenlos herunterladen

weiterführende Links

Infos zum Artikel

Kapitel
  1. Umschiffen
  2. Speichertricks
0Kommentare
Kommentieren
Kommentar verfassen
Anzeige

Anzeige

weiterführende Links
  1. Zu diesem Artikel hat die Redaktion noch folgendes zusammengestellt:

    Links (4)

Anzeige