W Ubuntu nie działa konsola tekstowa wysokiej rozdzielczości - naprawa

Jak pewnie zauważyliście, nie działa w Ubuntu 7.10 "Gutsy" konsola tekstowa uruchamiana w GRUBie opcją vga=NumerTrybu. Zamiast zgłoszenia logowania jest albo całkiem czarny ekran, albo w górnym lewym narożniku miga kursor.

Awaria jest spowodowana blokadą modułów do obsługi konsoli tekstowej (konkretnie vesafb). Naprawa jest na szczęście prosta:

Po pierwsze: wyedytuj plik /etc/modprobe.d/blacklist-framebuffer dodając krzyżyk na początku linijki zawierającej napis vesafb. Po edycji koniec tego pliku powinien wyglądać tak:

blacklist tdfxfb
blacklist tridentfb
#blacklist vesafb
blacklist vfb
blacklist vga16fb

Pod drugie: wyedytuj plik /etc/modules i dopisz do niego linijkę zawierającą vesafb przed innymi linijkami ładującymi moduły. Początek tego pliku po edycji powinien wyglądać tak:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

vesafb

Po trzecie: wyedytuj plik /etc/initramfs-tools/modules i dodaj na jego końcu dwie linijki zawierające w kolejności odpowiednio fbcon i vesafb. Po edycji plik powinien wyglądać tak:

# List of modules that you want to include in your initramfs.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod

fbcon
vesafb

Po czwarte: Zaktualizuj startowy ramdysk (initramfs) następującą komendą:

# update-initramfs -u -v
Keeping /boot/initrd.img-2.6.22-14-generic.dpkg-bak
update-initramfs: Generating /boot/initrd.img-2.6.22-14-generic
Adding module /lib/modules/2.6.22-14-generic/kernel/drivers/video/console/softcursor.ko
Adding module /lib/modules/2.6.22-14-generic/kernel/drivers/video/console/bitblit.ko
Adding module /lib/modules/2.6.22-14-generic/kernel/drivers/video/console/font.ko
Adding module /lib/modules/2.6.22-14-generic/kernel/drivers/video/console/tileblit.ko
Adding module /lib/modules/2.6.22-14-generic/kernel/drivers/video/console/fbcon.ko
Adding module /lib/modules/2.6.22-14-generic/kernel/drivers/video/vesafb.ko
[ .... ]
Calling hook console_setup
Building cpio /boot/initrd.img-2.6.22-14-generic initramfs
Backup /boot/initrd.img-2.6.22-14-generic.bak

Należy upewnić się, że w pierwszych linijkach wyniku działania komendy update-initramfs w istocie pojawiły się moduły fbcon.ko i vesafb.ko. Jeżeli nie, proszę sprawdzić poprzednie kroki.

Po piąte: Edytuj plik /boot/grub/menu.lst znajdując w nim linijkę zawierającą tekst # defoptions=splash quiet. Na końcu tej linijki dopisz vga=LICZBA, gdzie liczba to numer trybu graficznego. Najczęściej stosuje się 0x317 dla rozdzielczości 1024x768 i 0x31a dla rozdzielczości 1280x1024. Po edycji ten fragment pliku powinien wyglądać tak (dla 1024x768):

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=splash quiet vga=0x317

Jeżeli lubisz wiedzieć co system robi jak się ładuje to skasuj słowo quiet.

Po szóste:: Zastosuj powyższą zmianę wydając komendę:

# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /vmlinuz-2.6.22-14-generic
Found kernel: /memtest86+.bin
Updating /boot/grub/menu.lst ... done

Od teraz konsola tekstowa wysokiej rozdzielczości powinna normalnie działać.