Sie sind seltener geworden, die gefürchteten Inkompatibilitäten des Linux-Kernels zu Hardwarekomponenten. Hersteller von Rang und Namen sorgen sich früh darum, dass die nötige Unterstützung für neue Prozessoren und Grafikchips zeitig in den Kernel kommt. Trotzdem gibt es leider weiterhin sporadische Probleme eines Linux-Systems beziehungsweise dessen Kernel mit der Hardware eines Rechners. Gerade Notebooks, die auf Microsoft Windows zugeschnitten sind, bereiten mit ihren zahlreichen Bios-Versionen, abweichenden ACPI-Stromsparfunktionen und Chipsatzvarianten häufiger Ärger. Mal bleibt der Bildschirm dunkel, mal geht nach den ersten Bootmeldungen nichts mehr weiter. Tatsächlich drehen sich Leseranfragen häufig um das Problem, dass auf einem Notebook ein Livesystem nicht startet. Was tun? Meist helfen spezielle Kernel-Parameter weiter.
Bootloader: Grub 2 und Isolinux
Jedes Linux-System bietet eine ganze Reihe von Kernel-Parametern – in der Dokumentation von Linux-Systemen auch oft Bootparameter oder Cheatcodes genannt. Diese Parameter steuern Kernel-Eigenschaften, Treiberoptionen und die Ansteuerung von Hardwarekomponenten. Neben den grundlegenden Standardparametern, die jedes Linux-System erwartet und dem Kernel Anweisungen über root-Partition und Name des Kernel-Images mitgeben, gibt es weitere optionale Angaben, die Kernel-Eigenschaften und Hardwareunterstützung beeinflussen. Alle diese Parameter werden als Optionen im verwendeten Bootloader angegeben, also in Grub 2 oder in Isolinux. Die Vorgehensweise unterscheidet sich je nach Bootloader ein Stück.
Tipp: Die 10 wichtigsten Linux-Befehle für Einsteiger Grub 2 im Livesystem: In den meisten Fällen übernimmt Grub 2 den Boot von Livesystemen und Installationsmedien. Beim Boot eines Livesystems im Uefi-Modus sowieso, denn Grub 2 ist dabei fast immer der verwendete Bootloader. Ganz einfach deshalb, weil nur dieser der bisher alle Uefi-Eigenschaften wie Secure Boot unterstützt. In Grub 2 drückt man nach der Markierung eines Booteintrags die Taste E und bekommt dann einen Texteditor für den jeweiligen Eintrag gezeigt. Der Editor ist mehrzeilig und bricht überlange Zeilen am Ende zur besseren Übersicht um. Die Navigation im Textfeld erfolgt mit den Cursortasten. Grundsätzlich müssen Kernel-Parameter nur am Ende jener Zeile angegeben werden, die mit „linux“ beginnt. Nach der Änderungen startet ein Druck auf die Taste F10 den Booteintrag mit den neuen Einstellungen.

Grub 2 auf fest installiertem System: Auch bei einem bereits installierten Linux-System kommt Grub 2 zum Einsatz. Zum Testen lassen sich im Bootloader die gewünschten Kernel-Parameter beim Start genauso angeben wie in einem Livesystem. Die Änderungen sind dabei natürlich nicht permanent. Um einen Kernel-Parameter nach den ersten erfolgreichen Tests dauerhaft zu setzen, ist eine Bearbeitung der Konfigurationsdatei „/etc/default/grub“ nötig. In Ubuntu und Linux Mint kann man diese Datei beispielsweise mit dem Befehl
sudo -H gedit /etc/default/grub
mit root-Berechtigungen in den Editor Gedit laden.
Dort definiert die Zeile
GRUB_CMDLINE_LINUX="[parameter1]=[wert1] [parameter2]=[wert2]"
die manuell hinzugefügten Kernel-Parameter. Stehen hier schon Parameter, so ergänzen Sie die eigenen nach einem Leerzeichen in dieser Zeile. Nach Änderung und Sicherung der Konfigurationsdatei ist die Änderung aber noch nicht wirksam, denn erst muss noch der Bootloader mit diesem Befehl im Terminal aktualisiert werden:
sudo update-grub
Erst danach starten die vorhandenen Einträge im Grub-2-Bootmenü mit den hinzugefügten Kernel-Parametern. Isolinux: Bei einigen Livesystemen wie Ubuntu und Co. meldet sich Isolinux als Bootloader, falls das System im Bios-Modus und nicht über Uefi gestartet wird. Wird ein Countdown angezeigt, so unterbricht diesen der Druck auf eine beliebige Taste. Isolinux zeigt meist eine Oberfläche mit einigen Menüpunkten an, etwa zur Auswahl der Sprache. Die Tabulatortaste verwandelt die untere Zeile in eine Eingabezeile und zeigt zum gerade ausgewählten Menüeintrag die Kernel-Parameter an. Am Ende der Zeile lassen sich weitere Kernel-Parameter ergänzen und der Druck der Eingabetaste bootet das System mit den neuen Optionen. In Ubuntu und seinen Varianten ist der Weg ein anderer: Hier ruft die Taste F6 ein Untermenü auf, in welchem der Punkt „Expertenmodus“ beziehungsweise „Expert mode“ die Eingabezeile für Kernel-Parameter öffnet.

Bootoptionen: Ärger mit ACPI
Ein Dauerthema, das auf vielen Notebooks den Start von Linux-Systemen verhindert, sind inkompatible Stromsparfunktionen im ACPI (Advanced Configuration and Power Interface), das ein Merkmal des Bios beziehungsweise Uefi ist. ACPI ist auf Windows zugeschnitten und es gibt zu viele Abweichungen, um wirklich von einem Standard sprechen zu können. acpi=off zwingt Linux dazu, ACPI komplett zu ignorieren und damit ohne Stromsparfunktionen und Leistungsmanagement für CPU und GPU zu starten. Auch Hyperthreading und die Lüfterregelung sind abgeschaltet. acpi=ht: Mit dieser Option beachtet der Linux-Kernel gerade mal so viele ACPI-Fähigkeiten der Hardware, dass Hyperthreading der CPU funktioniert. Andere Stromsparfunktionen bleiben dagegen deaktiviert. acpi=strict weist die ACPI-Unterstützung des Kernels an, nur ACPI-Merkmale der vorhandenen Hardware zu beachten, die exakt dem Standard folgen. Auf problematischen Notebooks ist diese Option immer einen Versuch wert. acpi_osi=linux umgeht die Abfrage des Linux-Kernels, ob das ACPI eines Rechners kompatibel ist. Sinnvoll ist dieser Parameter, wenn einige Stromsparfunktionen nicht verfügbar sind oder die Drehzahlsteuerung der Lüfter nicht funktioniert.
Notfallsystem: Linux rettet defektes Linux – so geht’s
Parameter für Grafikprobleme
Bleibt der Bildschirm nach einem zunächst erfolgreichen Start dunkel, wenn eigentlich der Desktop des Livesystems oder der Anmeldebildschirm erscheinen sollte, so liegt dies meist an nicht ausreichend unterstützten Grafikchips. Folgende Parameter können in diesem Fall weiterhelfen. xforcevesa: Bei der Angabe dieses Parameters nutzt der Kernel für die Anzeige der grafischen Oberfläche nur den Vesa-Modus. Dieser Modus läuft auf den meisten Grafikchips, ohne jedoch deren spezielle Merkmale wie Hardwarebeschleunigung und Fähigkeiten zu nutzen. nomodeset: Aktuelle Linux-Kernel können den Bildschirmmodus auf eigene Faust wechseln und schalten schon während des Boots in einen grafischen Modus. Dies funktioniert nicht bei allen Grafikchips – etwa haben die meisten Modelle von Nvidia Probleme damit. Mit dem Parameter „nomodeset“ verzichtet der Kernel auf das Wechseln in den Grafikmodus und bleibt bei purem Text.
Sonstige Hardwarehürden
Eine weitere APIC-Komponente nennt sich „Local APIC“ und nimmt die Interruptanforderungen auf jedem Prozessorkern entgegen. Der Parameter „nolapic“ löst vielfältige Probleme mit heiklen Bios-Versionen, reduziert aber in jedem Fall die Zahl der vorhandenen CPU-Kerne auf einen. Geeignet ist dies nur als erste Hilfe, bis ein Bios-Update oder eine neue Kernel-Version echte Abhilfe schafft. noapic: Verhindert, dass APIC für die Auflösung von Hardwarekonflikten auf Interruptebene verwendet wird. Der Parameter hilft auf Systemen mit einem unverträglichen Bios und inkompatiblen ACPI-Funktionen im Chipset weiter. Eine häufig erfolgreiche Kombination bei besonders widerspenstigen Notebooks ist
acpi=off noapic nolapic
iommu=soft: Die „Input-Output Memory Management Unit“ (IOMMU) ist ein Merkmal einiger Hauptplatinen und erlaubt Peripheriegeräten den direkten Speicherzugriff. Dies funktioniert zusammen mit Linux nicht immer, was zum Ausfall von USB-Ports oder Netzwerkchip führt. Dieser Parameter aktiviert zusammen mit abgeschaltetem IOMMU im Bios/Uefi ein softwaremäßiges IOMMU.
Übersicht: Alle Kernel-Parameter
Generell sind Kernel-Parameter mit einem Leerzeichen voneinander abgetrennt und folgen diesem Schema
[Parameter]=[Wert]
oder bestehen auch einfach aus einem einzigen Schlüsselwort.
Mehrere Parameter sind frei miteinander kombinierbar und die Reihenfolge spielt keine Rolle. Ungültige und unbekannte Parameter ignoriert der Linux-Kernel ohne Unterbrechung des Bootvorgangs, aber auch ohne Anzeige einer Fehlermeldung. Die hier vorgestellten Kernel-Parameter sind nur die wichtigsten Helfer bei häufigen Problemen, es gibt aber noch etliche Parameter mehr. Für Ubuntu und Co. liefert die englischsprachige Hilfeseite https://help.ubuntu.com/community/BootOptions eine Übersicht geläufiger Bootparameter.
Die komplette Liste der Parameter mit Beschreibung für Entwickler kann die offizielle Kernel-Dokumentation hier bieten.