Konfiguracja Grub Linux

GRUB (GRand Unified Bootloader) - jest bootloaderem instalowanym standardowo w Ubuntu, potrafiącym obsłużyć kilka systemów jednocześnie (Multiboot).
GRUB ładuje system operacyjny do pamięci przekazuje mu kontrolę nad PC. Został zaprojektowany przez Erich'a Stefan'a Boleyn'a.

GRUB jest stosunkowo prosty w konfiguracji i nie powinien przysporzyć problemów nawet początkującym użytkownikom. Plik konfiguracyjny GRUB'a znajduję się domyślnie w katalogu /boot/grub, a jego nazwa to menu.lst (nazwa ta występuje w Ubuntu, jednak w innych dystrybucjach np. Fedora jego nazwa to grub.conf).

Otwieramy plik tekstowy:
 
sudo gedit /boot/grub/menu.lst

Uruchamia się Gedit z taką zawartością:
...
default 0
...
timeout 10
...
hiddenmenu
...
title Ubuntu, kernel 2.6.17-386
root (hd0,0)
kernel /boot/vmlinuz-2.6.17-386 root=/dev/sda1 ro quiet splash (odpowiada za wyświetlanie usplash-a teraz jest włączony jeśli skasujesz ro quiet splash nie będzie się wyświetlał)
initrd /boot/initrd.img-2.6.17-386
savedefault
boot
title Ubuntu, kernel 2.6.17-386 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.17-386 root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.17-386
savedefault
bootPage 2

title Ubuntu, kernel memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
savedefault
boot

Objaśnienia:
  • default - w menu GRUB'a oznacza system, który zaznaczony jest jako standardowy do załadowania. Cyfra oznacza numer systemu w menu. Liczenie zaczyna się od 0, a nie od 1.
  • timeout - czas, jaki mamy na dokonanie wyboru który system chcemy uruchomić. Po tym czasie ładowany jest standardowy (default) system. Odliczanie mozna zastopować przesuwając zaznaczenie wyboru, lub kiedy jest aktywna opcja hiddenmenu poprzez naciśnięcie ESC.
  • hiddenmenu - jeżeli ta opcja jest widoczna to znaczy, że menu GRUB'a wyświetli się dopiero po naciśnięciu klawisza ESC.
W następnych linijkach znajdują się pozycje, które możemy uruchomić poprzez nasz bootloader.

Przeanalizujmy jedną z nich:
  • title Ubuntu, kernel 2.6.17-386 - Nazwa systemu jaka jest widoczna w menu wyboru ( w tym przypadku Ubuntu, kernel 2.6.17-386)
  • root (hd0,0) - wskazuje na jakiej partycji znajduje się katalog /boot/ kernel /boot/vmlinuz-2.6.10-5-386 (...) – wskazuje jądro do załadowania.
  • initrd /boot/initrd.img-2.6.17-386 - ładuje RAM-dysk. nie musi być wykożystany (zależy od konfiguracji jądra)
Dodawanie do GRUB'a nowego systemu:

Windows - na oddzielnym dysku. Dysk z Ubuntu musi być ustawiony na primary i boot. (tnx xxxadam_resurection) Pamiętajmy, że GRUB inaczej nazywa partycje, dla przykładu:

(hd0,0) = /dev/hda1
(hd1,0) = /dev/hdb1
(hd2,2) = /dev/hdc3

title Windows XP Pro SP2
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1

Opis:

title Windows XP Pro SP2 - drugi system map
(hd0) (hd1) - podmienienie kolejności dysków korzystając z LBAPage 3 map
(hd1) (hd0) - dzięki temu rozwiązaniu Windows myśli, że jest na Primary rootnoverify
(hd1,0) - podobnie jak root, jednak nie montuje
chainloader +1 - przekazuje kontrolę do następnego bootloadera, konieczne do inicjacji Windowsa
<----linijka wolna ( to jest konieczne!!! ) ---->

FreeBSD

(hd1,a) - system ten nazywa tak partycje literami alfabetu.

title FreeBSD 5.3
root (hd1,a)
kernel /boot/loader root

Upiększamy GRUB'a:

Aby dodać lub zmienić tło w menu GRUB'a dodajemy lub edytujemy w menu.lst następującą linię

splashimage (hd0,7)/grub/nazwasplasha.xpm.gz
 
(hd0,7) - partycja
/grub/ - ścieżka dostępu – możemy utworzyć własny katalog oczywiście
nazwasplasha.xpm.gz

Zmiana koloru czcionki i tła:

Aby to zrobić dodajemy następujące linijki. Możemy to zrobić przed sekcją splashimage:

foreground ffffff background 000000 - do oznaczeń kolorów używamy parametrów kolorów w formacie szesnastkowym RGB.

Aby zmienić kolor podświetlenia i tła menu, dopisujemy na przykład coś takiego
color cyan/blue white/blue