Menadżer startu
Grub służy do uruchamiania systemów operacyjnych. Potrafi on rozpoznawać systemy plików, a robi to przez rozbicie całego procesu na trzy stopnie uruchamiania:
- faza 1 (stage1) - Program IPL odpowiadający za tą fazę znajduje się w MBR i nie rozpoznaje systemu plików, ale potrafi załadować moduł odpowiedzialny za obsługę danego typu plików (np. fat_stage1_5).
Program IPL pokazuje BIOS-owi gdzie na dysku są pozostałe części loadera.
- faza 2 (stage2) - Wykonywane są tutaj dalsze czynności, jest czytany plik /boot/grub/menu.list i wyświetlane menu startowe.
- faza 3 (stage3) - Po naciśnięciu wybranej pozycji następuje uruchamianie konkretnego systemu. Na przykład dla WindowsaXP musi być uruchomiony oryginalny bootloader Windowsa.
Zakładamy, że jest jeden dysk fizyczny i dwia systemy: na pierszej partycji
Windows, a na drugiej
Linux. W
Grub mamy:
- Plik /boot/grub/menu.list zawierający następujące pozycje:
default 0
timeout 5
splashimage=(hd0,1)/boot/grub/obrazek.xpm.gz
title WindowsXP
rootnoverify (hd0,0)
chainloader +1
#savedefault
title Kubuntu
root (hd0,1)
kernel /boot/vmlinuz-xxx root=/dev/hda2 vga=0x303 ro
#initrd /boot/initrd
#savedefault
Pomiędzy Windowsem, a Linuksem można wstawić wpis o treści:
title Inne systemy:
root
Opcja default może mieć wpis saved co oznacza: uruchom poprzednio uruchamiany system operacyjny.
- W przypadku zabezpieczania hasłem plik ten ma postać:
default 0
timeout 5
password --md5 xxxxxxxxxxxxxx
splashimage=(hd0,1)/boot/grub/obrazek.xpm.gz
title WindowsXP
lock
rootnoverify (hd0,0)
chainloader +1
title Kubuntu
lock
root (hd0,1)
kernel /boot/vmlinuz-xxx root=/dev/hda2 vga=0x303 ro
#initrd /boot/initrd
Przy czym hasło jest w postaci zaszyfrowanej
Dowolny obrazek można przerobić na startowy za pomocą sekwencji poleceń:
convert obrazek.jpg -resize 640x480 -colors 14 obrazek.xpm
gzip obtazek.xpm
cp obrazek/xpm /boot/grub/
Start
Linuksa w innej rozdzielczości (vga=...):
Głębia koloru |
640x480 |
800x600 |
1024x768 |
1280x1024 |
256 (8 bit) |
0x301 (769) |
0x303 (771) |
0x305 (773) |
0x307 (775) |
32k (15 bit) |
0x310 (784) |
0x313 (787) |
0x316 (790) |
0x319 (793) |
65k (16 bit) |
0x311 (785) |
0x314 (788) |
0x317 (791) |
0x31A (794) |
16M (24 bit) |
0x312 (786) |
0x315 (789) |
0x318 (792) |
0x31B (795) |
Jeżeli w pliku
/boot/grub/menu.list nie ma wpisów, to program
Grub uruchomi się w trybie interaktywnym.