Seit geraumer Zeit war es bei meinem Notebook so, dass ich durch drücken von Strg+Alt+F1 bis F6 nicht etwa auf benutzbare Linux-Kommandozeilenboxen kam, sondern auf schwarze Bildschirme mit blinkendem Cursor oben links. Sehr hilfreich. Heute entschloss ich dann endlich mal, dem ein Ende zu bereiten und bin auch fündig geworden. Ich übersetze jetzt praktisch mal, was ich so auf Englisch gelesen habe.
Warnung! Diese Schritte nicht ausführen, wenn man nicht das Risiko eingehen kann, sein System mal eben zu vermurkeln!
Schritt 1 – /etc/modprobe.d/blacklist-framebuffer
bearbeiten
Genannte Datei mit root-Rechten bearbeiten im Texteditor der Wahl:
# Framebuffer drivers are generally buggy and poorly-supported, and cause
# suspend failures, kernel panics and general mayhem. For this reason we
# never load them automatically.
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist cirrusfb
blacklist cyber2000fb
blacklist cyblafb
blacklist gx1fb
blacklist hgafb
blacklist i810fb
...
Hier muss man das Framebuffer Modul finden, das zum benutzten Grafikkartentreiber passt. Normalerweise sollte man vesafb
versuchen, weil VESA mit fast allem funktioniert und man im Terminal üblicherweise keine 3D-Beschleunigung braucht. Wenn das nicht geht versucht man ein Modul, in dessen Namen der für den X-Server verwendete Grafiktreiber vorkommt. Z. B. radeon
Treiber → radeonfb
. Zur Not muss man etwas experimentieren, um das richtige Modul zu finden.
In der Datei muss man die Zeile auskommentieren (ein # an den Zeilenanfang setzen), die das entsprechende Modul blacklistet. Eventuell muss man zusätzlich blacklist vga16fb
auskommentieren, oder auch nicht. Zuerst mit vesafb
probieren, wenn es dann nicht geht, vga16fb
dazunehmen. Warnung: vga16fb
könnte dazu führen, dass Fenster nach der Verwendung eines tty in Compiz weiß erscheinen.
Wenn der proprietäre Nvidia-Treiber (nvidia
) benutzt wird, dann vesafb
auskommentieren. Das Modul mit dem Namen nvidiafb
gehört zum Open-Source Treiber nv
und ist nicht kompatibel zum proprietären Treiber!
Schritt 2 – /etc/initramfs-tools/modules
bearbeiten
Normalerweise ist in der Datei alles auskommentiert. Am Ende der Datei sollten folgende Zeilen hinzugefügt werden:
fbcon
und in der nächsten Zeile der Name des in Schritt 1 auskommentierten Moduls. Zum Beispiel:
fbcon
vesafb
vesa16fb
kommt darunter, wenn man es auch aktivieren musste in Schritt 1.
Schritt 3 – init-Skripte aktualisieren
Einfach ausführen: $ sudo update-initramfs -u -k all
Schritt 4 – Grubs menu.lst bearbeiten
Die Datei /boot/grub/menu.lst
oder wo auch immer Grub bei euch installiert sein mag (in der Quelle war es nämlich /etc/grub/menu.lst) bearbeiten und dort nach der ersten Zeile, die mit „kernel
“ beginnt suchen. Das ist die erste Zeile für einen Menüeintrag, in der der entsprechende Kernelaufruf spezifiziert wird.
Könnte zum Beispiel so aussehen:
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=763f09b5-cf76-42a1-8dd2-123a2739b3ab ro quiet splash
An diese Zeile muss jetzt herangehängt werden: vga=###
, wobei ### eine Zahl aus folgender Tabelle ist:
Colors | 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 257 259 261 263
32k | 272 275 278 281
64k | 273 276 279 282
16M | 274 277 280 283
VESA:
Colors (depth) 640x480 800x600 1024x768 1280x1024 1600x1200
---------------+-------+-------+--------+---------+---------
8 bit | 769 771 773 775 796
15 bit | 784 787 790 793 797
16 bit | 785 788 791 794 798
24 bit | 786 789 792 795 799
Quelle: http://www.linuxquestions.org/questions/debian-26/lilo-vga-modes-152575/?s=9ec28a47ecc57630465be949ffe394cf#post839067
Bei mir war 282 die Lösung, zuvor stand da 793 oder 794 oder sowas in dem Dreh.
Das wärs dann eigentlich. Bei mir läufts wieder. Viel Glück bei eventuellen eigenen Versuchen.
Quelle: http://ubuntuforums.org/showthread.php?t=585454
EDIT: Mittlerweile musste ich den VGA-Parameter wieder rausnehmen, weil er mich bei jedem Start eine Konsolenauflösung auszuwählen ließ, die er hinterher sowieso wieder überschrieb. Die Terminals funktionieren aber noch, wer weiß, was nun war…