background image

dla początkujących

52

luty 2005

GRUB – program 

uruchomieniowy

Piotr Machej

C

zym jest program uruchomie-
niowy (ang. bootloader) i czy 
jest  mi  potrzebny  do  szczę-
ścia? Jest to program umiesz-

czony w początkowych sektorach dysku 
twardego  (np.  w  MBR  –  Master  Boot 
Record
). BIOS, po uruchomieniu kompu-
tera i wykonaniu testów, przekazuje ste-
rowanie właśnie do programu zawartego 
MBR dysku wskazanego jako startowy, 
czyli  do  naszego  programu  uruchomie-
niowego. Jego zadaniem jest załadowanie 
systemu operacyjnego do pamięci i prze-
kazanie mu kontroli. Obecnie większość 
popularnych  programów  uruchomienio-
wych pozwala na wybór jednego z sys-
temów zainstalowanych na dysku. Najpo-
pularniejsze tego typu programy, dostar-
czane  wraz  z  dystrybucjami  Linuksa,  to 
LILO i GRUB (Grand Unified Bootloader). 
W niniejszym artykule postaram się przy-
bliżyć to drugie narzędzie.

Przykład użycia

Jestem  tradycjonalistą.  Nie  ukrywam 
tego. Z tego powodu przez bardzo długi 
czas  (szczególnie  na  studiach)  urucha-
miałem  Linuksa  z  dyskietki.  Koledzy
z pokoju przez długi czas nie mogli dojść, 
dlaczego uruchamia mi się inny system 
niż im. No i po co w ogóle uruchamiać 
system,  na  którym  nie  można  pograć 
w  Dooma ?  Później  zacząłem  korzystać 
LILO. Dzięki temu programowi rozru-
chowemu  nie  musiałem  już  pamiętać, 
w  której  kieszeni  została  dyskietka. 
Ponadto,  mój  komputer  był  już  wtedy 
bezpieczny  od  zakusów  studenckiej 
braci,  więc  mogłem  sobie  pozwolić  na 
odrobinę  luksusu.  I  chociaż  w  kolej-

nych  dystrybucjach  miałem  możliwość 
zmiany na GRUB-a, przez kilka lat upar-
cie  zostawałem  przy  LILO.  Do  zmiany 
przekonało mnie moje własne lenistwo... 
Po prostu, gdy po raz kolejny zapomnia-
łem uruchomić polecenie 

lilo

 po zmia-

nie w pliku konfiguracyjnym i musiałem 
szukać  dyskietki  ratunkowej,  powie-
działem: dość. Zainstalowałem GRUB-a 
i od tej pory nie mam już powodów do 
narzekań. I nawet jak przyjadą krewni, 
to  nie  ma  siły,  aby  uruchomili  system, 
którego  nie  powinni  –  przynajmniej 
dopóki nie odgadną hasła.

Instalacja

Pakiety z programem GRUB można zna-
leźć  w  praktycznie  każdej  dystrybucji. 
Co  więcej,  podczas  instalacji  dystrybu-
cji możemy wybrać program uruchomie-
niowy, z którego chcemy korzystać. Jeśli 
zdecydujemy  się  na  GRUB-a,  to  system 
od razu postara się odpowiednio dosto-
sować jego konfigurację. Jeśli jednak nie 
zdecydowaliśmy się na instalację GRUB-a,
musimy to zrobić teraz sami.

Na płycie CD/DVD

Na płycie CD/DVD znajdują się 

narzędzia omawiane w artykule.

Rysunek 1. 

Wersja GRUB-a obecnie 

wykorzystywana w dystrybucjach nie jest 
już rozwijana

background image

53

dla początkujących

grub

www.lpmagazine.org

Przede  wszystkim  upewnijmy  się, 

że  nie  jest  już  zainstalowany.  W  przy-
padku  Auroksa  wykorzystamy  do  tego 
polecenie 

rpm  -q  grub

.  Jeśli  pojawi  się 

napis  pakiet  grub  nie  jest  zainstalowa-
ny
, to będziemy musieli zmienić ten stan 
rzeczy. Pakiet z GRUB-em możemy zain-
stalować  z  kilku  różnych  źródeł.  Pierw-
szym  z  nich  są  płyty,  z  których  instalo-
waliśmy naszą dystrybucję. W przypadku 
Auroksa pakiet znajduje się na pierwszej 
płycie, więc po włożeniu jej do napędu 
możemy wydać polecenia:

# mount /mnt/cdrom/
# rpm -Uvh /mnt/cdrom/Aurox/RPMS/

S

                   grub-0.94-5.i386.rpm

Drugim  źródłem  są  repozytoria  pakie-
tów.  Jeśli  korzystamy  z  jednego  z  syste-
mów zarządzania pakietami, to możemy 
użyć  odpowiedniego  dla  niego  polece-
nia, np.:

# yum install grub
# apt-get grub install
# emerge grub

Oczywiście,  wydajemy  tylko  jedno 
z  powyższych  poleceń.  Analogicznie 
możemy wykorzystać system zarządzania 
pakietami do aktualizacji wersji GRUB-a 
(np. poleceniem 

yum update grub

).

Mamy  jeszcze  trzecią  możliwość. 

Jeśli  zależy  nam  na  najnowszej  wersji, 
możemy  ją  pobrać  ze  strony  domowej 
projektu  (http://www.gnu.org/software/
grub/ 
). Ze względu na rozpoczęcie prac 
nad  GRUB 2,  starsza  wersja  (linia  0.9.x, 
wciąż  jeszcze  wykorzystywana  w  dys-
trybucjach)  została  przemianowana  na 
GRUB Legacy. Tutaj mamy dostępne jedy-
nie  źródła,  których  instalacja  przebiega 
zwykłym torem – po pobraniu i rozpako-
waniu pliku (

tar  xzvf  grub-0.95.tar.gz

wchodzimy  do  utworzonego  katalo-
gu  i  wydajemy  polecenia: 

./configure

 

make

.  Następnie,  po  uzyskaniu  upra-

wnień administratora (poleceniem 

su -

),

wydajemy  ostatnie  polecenie: 

make 

install

.  Lepszym  rozwiązaniem  jest 

jednak  skorzystanie  z  pakietów  dostęp-
nych dla naszej dystrybucji.

Teraz  musimy  skonfigurować  nasze-

go GRUB-a, a następnie umieścić go na 
dysku.

Podstawowa konfiguracja

Główny  plik  konfiguracyjny  GRUB-a  to 
/boot/grub/grub.conf.  Zazwyczaj  istnie-
ją  również  dwa  dowiązania  symbolicz-
ne  do  tego  pliku:  /boot/grub/menu.lst 
oraz /etc/grub.conf (tak jest w Auroksie – 
w  innych  dystrybucjach  głównym  pli-
kiem  konfiguracyjnym  może  być  jeden 
z trzech wymienionych). Co prawda, nie 
jest  on  konieczny,  gdyż  możemy  korzy-
stać  z  linii  poleceń  GRUB-a,  ale  odpo-
wiednie  skonfigurowanie  pliku  bardzo 
ułatwi  nam  pracę.  Dzięki  temu  nie 
będziemy musieli każdorazowo przy uru-
chamianiu komputera wpisywać szeregu 
poleceń,  a  w  przypadku  zainstalowania 
wielu  systemów  będziemy  mogli  korzy-
stać z wygodnego menu.

Dyskietka ratunkowa

Przede  wszystkim  zadbajmy  o  to,  aby 
mieć dyskietkę lub płytę ratunkową. Dys-
kietkę mogliśmy utworzyć podczas insta-
lacji dystrybucji. Jeśli tego nie zrobiliśmy, 
zazwyczaj  możemy  skorzystać  z  pierw-
szej płyty dystrybucji. Zazwyczaj nie ma 
potrzeby korzystania z dyskietki ratunko-
wej,  ale  podczas  zmiany  programu  roz-
ruchowego  mogą  pojawić  się  problemy, 
które  sprawią,  że  nie  uda  się  nam  uru-
chomić  z  systemów  zainstalowanych  na 
dysku.

Uruchamianie Linuksa

Najpierw spróbujmy wykorzystać GRUB-a
do  uruchamiania  naszego  Linuksa. 
W  tym  celu  powinniśmy  mieć  w  pliku 
/boot/grub/grub.conf przynajmniej cztery 
linie:

title Aurox Linux (2.4.22-1)
root (hd0,7)
kernel /vmlinuz-2.4.22-1 ro root=LABEL=/
initrd /initrd-2.4.22-1.img

Pierwsza  z  nich,  po  słowie  title,  zawie-
ra  tekst,  który  pojawi  się  w  menu.  Naj-
lepiej  umieścić  tu  nazwę  systemu  (dys-
trybucji)  oraz  w  nawiasie  numer  wersji 
jądra.  Oczywiście,  możemy  też  podać 
inne dodatkowe informacje (np. czy jest 
wykorzystywany  FrameBuffer),  które 

pomogą  w  zidentyfikowaniu  pozycji 
w menu.

Druga linia wskazuje, na jakiej par-

tycji  jest  umieszczony  katalog  /boot/
W  naszym  przykładzie  katalog  /boot/ 
umieszczony  jest  na  osobnej  partycji, 
/dev/hda8,  natomiast  główny  katalog 
systemowy  /  jest  umieszczony  na  par-
tycji /dev/hda9 (oznaczonej etykietą ). 
Więcej  o  nazewnictwie  partycji  stoso-
wanym  przez  GRUB-a  można  przeczy-
tać w ramce Nazewnictwo dysków i par-
tycji
.

W  kolejnej  linii  określamy,  które 

jądro  chcemy  załadować.  Po  słowie 
kernel  podajemy  ścieżkę  do  pliku 
z jądrem (w naszym przykładzie vmli-
nuz-2.4.22-1
),  liczoną  w  stosunku  do
partycji  określonej  linię  wcześniej.
Ponieważ  dla  katalogu  /boot/  w  naszym
przykładzie mamy osobną partycję, to
podajemy  ścieżkę  /vmlinuz-2.4.22-1.  Po
nazwie  pliku  jądra  możemy  podać 
parametry  jądra.  W  naszym  przy-
padku  określamy  partycję  z  głów-
nym  systemem  plików  (root).  Wyja-
śnienie  wartości  LABEL=/  znajduje  się 
w  ramce  Nazewnictwo  dysków  i  par-
tycji
. Należy zwrócić uwagę, że słowo 
root  w  tej  linii  ma  inne  znaczenie  niż 
w linii wcześniejszej. Tutaj jest to para-
metr jądra, wskazujący główny system 
plików, natomiast słowo root, występu-
jące w drugiej linii, to komenda GRUB-a,
pozwalająca  wskazać  urządzenie,  wzglę-
dem którego będą opisywane następne 
ścieżki dostępu.

Ostatnia  linia  nie  jest  konieczna, 

lecz  jeśli  tylko  mamy  utworzony  plik 
initrd  odpowiedni  dla  naszego  jądra,  to 
powinniśmy  z  niego  skorzystać.  Polece-
nie 

initrd

 zawarte w tej linii ładuje RAM-

dysk. To, czy go wykorzystamy, zależy od 
konfiguracji naszego jądra.

Rysunek 2. 

Podstawowe menu GRUB-a 

nie wygląda zbyt atrakcyjnie

Rysunek 3. 

Dokumentację GRUB-a 

możemy również znaleźć na stronie 
WWW

background image

54

dla początkujących

luty 2005

Opcje ogólne

Oprócz powyższych czterech linii, warto 
od razu dodać kilka innych, które określą 
zachowanie  naszego  menu.  Są  to  nastę-
pujące linie:

default=0
timeout=30

Umieszczamy  je  przed  (podkreślam 
– przed) wymienionymi wcześniej linia-
mi, zaraz na początku pliku /boot/grub/
grub.conf
. Pierwsza z nich określa, która 
pozycja  menu  będzie  domyślnie  wybra-
na.  Jak  wiemy,  GRUB  liczy  od  zera, 
więc  w  naszym  przykładzie  wybraliśmy 
pierwszą  (i  na  razie  jedyną)  pozycję  w 
menu. Druga opcja wskazuje, że przez 30 
sekund  (możemy  ustawić  inną  wartość) 
GRUB  będzie  czekał  na  naszą  decyzję. 
Jeśli nie wciśniemy żadnego klawisza, to 
uruchomi  automatycznie  pozycję  menu 
wskazaną w opcji default. W przypadku, 
gdy użyliśmy opcji timeout bez korzysta-
nia z opcji default, uruchomiona zostanie 
pierwsza zdefiniowana pozycja w menu.

Zapisywanie GRUB-a na dysk

Teraz  już  możemy  zapisać  GRUB-a  na 
dysk  (jeśli  jeszcze  tego  nie  robiliśmy). 
Zazwyczaj będziemy chcieli umieścić go 
na pierwszym dysku. Służy do tego pole-
cenie 

grub-install /dev/hda

.

Jeśli  później  zmienimy  zawartość 

pliku konfiguracyjnego /boot/grub/grub.
conf
,  to  nie  będziemy  musieli  ponow-
nie  wykonywać  tego  polecenia.  GRUB 
automatycznie  rozpozna  zmiany  w  pli-
ku  i  podczas  kolejnego  uruchomie-
nia  komputera  wyświetli  odpowied-
nie  menu.  W  zasadzie  jedyny  przypa-
dek, gdy możemy chcieć wydać ponow-
nie to polecenie, to moment aktualizacji 
GRUB-a do nowszej wersji.

Warto  uruchomić  ponownie  kompu-

ter, aby sprawdzić, jak działa nasz GRUB
Powinniśmy  zobaczyć  proste  menu 
z jedną pozycją do wyboru. Po jej zatwier-
dzeniu  klawiszem  [Enter]  (lub  odczeka-
niu  30  sekund)  powinien  załadować  się 
nasz Linux.

Uruchamianie różnych 

systemów

Możliwości  GRUB-a  najlepiej  wykorzysta-
my, jeśli mamy zainstalowane również inne 
systemy  operacyjne  –  bardzo  wielu  użyt-
kowników  systemu  spod  znaku  pingwi-
na  korzysta  również  z  Windows  (choćby 

po to, aby czasem pograć) lub z FreeBSD 
(np. ze względu na studia czy pracę).

Inne dystrybucje Linuksa

W  przypadku,  gdy  chcemy  z  pomocą 
GRUB-a uruchamiać również inne dystry-
bucje Linuksa zainstalowane w naszym 
komputerze, postępujemy tak samo, jak 
w  przypadku  opisanym  w  rozdzia-
le  Uruchamianie  Linuksa.  Wystarczy
dopisać  kolejną  sekcję  zaczynają-
cą  się  od  linii  title  i  zawierającą  odpo-
wiednie  opcje.  Tego  samego  sposo-
bu  możemy  zresztą  użyć,  gdy  chcemy
przetestować nowe jądro w naszej dystry-
bucji. Przypuśćmy, że skompilowaliśmy
samodzielnie  jądro  i  nazwaliśmy  je 
vmlinuz-new.  Wówczas  w  pliku  /boot/
grub/grub.conf
 możemy na końcu dopi-
sać następujące linie:

title Aurox Linux (2.4.22-1a)
root (hd0,7)

kernel /vmlinuz-new ro root=LABEL=/
initrd /initrd-2.4.22-1a.img

Jeśli  nie  wygenerowaliśmy  RAM-dysku,
to nie dopisujemy ostatniej linii, a zamiast
root=LABEL=/ musimy podać odpowiednią
nazwę  partycji  (w  naszym  przykładzie
root=/dev/hda9). Jeśli o tym zapomnimy, to
nasz system przestanie się ładować na eta-
pie montowania głównego systemu plików.

Windows, DOS

Najprostszym  sposobem  na  uruchamia-
nie  systemów  z  rodziny  Windows  jest 
umieszczenie na końcu pliku /boot/grub/
grub.conf
 następujących linii:

title DOS lub Windows
rootnoverify (hd0,0)
chainloader +1

Polecenie title już znamy. W linii rootno-
verify
 wskazujemy partycję, na której jest 

W  pliku  konfiguracyjnym  GRUB-a  (/boot/
grub/grub.conf
)  zazwyczaj  nie  używa-
my  znanych  z  Linuksa  oznaczeń  dysków 
i partycji, takich jak hdahdb2 i tym podob-
ne. Zamiast tego, widzimy oznaczenia typu 
(fd0) lub (hd1,2). Jest to nieco mylące, na 
początku, lecz można się szybko przyzwy-
czaić.

Opis  (fd0)  oznacza  pierwszy  napęd 

dyskietek  (należy  pamiętać  o  nawia-
sach i braku odstępu pomiędzy znakami). 
W  przypadku  dysków  twardych  nazwa 
(hd0) odpowiada dyskowi hda, nazwa (hd1) 
to dysk hdb itd. Jak więc widać, zamiast liter 
używamy  cyfr,  zaczynając  od  zera.  Aby 
wskazać konkretną partycję, dodajemy jej 
numer (znów licząc od zera) po przecinku. 
Tak więc dla hda1 mamy (hd0,0), dla hda7 
– (hd0,6), a dla hdc3 – (hd2,2). Wystarczy 
w zasadzie pamiętać, że numerujemy od 0
a nie od 1. Jeśli mamy wątpliwości, możemy 
przypisanie  nazw  do  dysków  sprawdzić 
w pliku /boot/grub/device.map. Dla kompu-
tera posiadającego tylko jeden napęd dys-
kietek i jeden dysk twardy, plik ten powinien 
mieć następującą zawartość:

(fd0)   /dev/fd0
(hd0)   /dev/hda

W  niektórych  dystrybucjach  (np.  w  Red 
Hat
 i pochodnych – Fedora i Aurox) popu-

Nazewnictwo dysków i partycji

larne  jest  wskazywanie  partycji  za  pomocą 
etykiety.  Jeśli  w  naszym  pliku  konfiguracyj-
nym mamy linię postaci: 

kernel /vmlinuz-

2.4.22-1  ro  root=LABEL=/

,  to  zwróćmy 

uwagę  na  tekst  root=LABEL=/.  Zastępuje 
on zwykły tekst postaci root=/dev/hda1 (jeśli 
nasz katalog / jest umieszczony na partycji 
hda1). Można zastanawiać się, co to daje i 
czemu  się  tego  używa.  Zapis  taki  pozwala 
nam swobodnie przekładać dysk w ramach 
naszego komputera, np. w przypadku dokła-
dania nowego napędu lub nagrywarki. Jeśli 
stosujemy  etykiety,  nie  musimy  wówczas 
poprawiać  plików  konfiguracyjnych  (m.in. 
grub.conf i /etc/fstab).

Powstaje pytanie, jak odczytać i stwo-

rzyć  etykiety  dla  partycji.  Służy  do  tego 
polecenie 

e2label 

/dev/hda1

,  gdzie 

zamiast  /dev/hda1  wstawiamy  nazwę  par-
tycji ext2 lub ext3. Polecenie to spowoduje 
wyświetlenie etykiety przypisanej do party-
cji. Jeśli chcemy nadać partycji nową etykie-
tę, to stosujemy zapis 

e2label  /dev/hda1 

etykieta

.

Przy okazji warto zaznaczyć, że z ety-

kiet  możemy  korzystać  tylko  wtedy,  gdy 
ładujemy  również  odpowiadający  jądru 
RAM-dysk. Służy do tego polecenie 

initrd 

/initrd-2.4.22-1.img

,  umieszczone  pod 

wspomnianą  wcześniej  linią  pliku  konfigu-
racyjnego.

background image

55

dla początkujących

grub

www.lpmagazine.org

umieszczony system, który chcemy zała-
dować. Polecenie to różni się od polece-
nia  root  tym,  że  wskazana  partycja  nie 
jest  montowana.  Polecenie  chainloader 
przekazuje kontrolę do następnego pro-
gramu rozruchowego. Jak to działa? Jeśli 
na partycji /dev/hda1 mamy zainstalowa-
ny tylko pojedynczy system (np. DOS lub 
Windows 98), to zostanie on uruchomio-
ny.  Jeśli  mamy  na  dysku  zainstalowane 
systemy  Windows  98  i  Windows  XP,  to 
program uruchomieniowy zainstalowany 
przez Windows XP potrafi obsłużyć oba 
te systemy. Wystarczy więc w poleceniu 
rootnoverify  wskazać  partycję,  na  której 
jest  zainstalowany  program  uruchomie-
niowy  Windows  XP.  Dzięki  temu,  po 
wybraniu w menu GRUB-a pozycji DOS 
lub Windows
, zobaczymy kolejne menu, 
pozwalające nam wybrać pomiędzy Win-
dows 98
 a Windows XP.

FreeBSD

Systemy z rodziny FreeBSD możemy uru-
chamiać w analogiczny sposób, jak Win-
dows
 i DOS, czyli korzystając z poleceń 
rootnoverify  i  chainloader.  Możemy  też 
wskazać  dokładnie  na  program  /boot/
loader
  z  pomocą  następujących  linii 
w pliku /boot/grub/grub.conf :

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

Widać  tu  użycie  innego  nazewnictwa.
Wynika  to  stąd,  że  FreeBSD  nazywa 
swoje 

partycje 

literami 

alfabetu, 

a  w  dodatku  wprowadza  pojęcie  slice 
(tzw.  plastra  –  natywnej  partycji  Fre-
eBSD
).  Jeśli  więc  mamy  FreeBSD  zain-
stalowane  na  pierwszej  partycji  drugie-
go dysku, to zapis (hd1,a) powinien być 
odpowiedni. Wyszuka on pierwszy slice
na  którym  znajduje  się  partycja  a.  Jeśli 
chcemy  dokładnie  sprecyzować,  który 

slice  ma  być  zamontowany,  to  możemy 
użyć postaci (hd1,0,a).

Uruchamianie Memtest86+

Od  czasu  do  czasu  warto  przetestować 
pamięć naszego komputera, aby zawcza-
su wykryć wszelkie problemy. Dwa naj-
lepsze  programy  przeznaczone  do  tego 
celu  to  Memtest86  i  Memtest86+.  GRUB 
może nam pomóc w ich uruchomieniu.

Wystarczy  wybrać  jeden  z  wymie-

nionych programów, gdyż obydwa czer-
pią nawzajem ze swoich kodów źródło-
wych.  Osobiście  polecam  Memtest86+
Najpierw  musimy  pobrać  odpowied-
ni  plik  ze  strony  domowej  programu 
(http://www.memtest.org/ ).  Odnajduje-
my sekcję Download (Pre-built & ISOs), 
w której znajdują się już skompilowane 
wersje.  Następnie  z  sekcji  odpowiada-
jącej  najnowszej  wersji  (w  chwili  pisa-
nia artykułu była to wersja 1.40) pobie-
ramy  plik  znajdujący  się  pod  odnośni-
kiem Download – Pre-Compiled Boota-
ble  Binary  (.gz)
.  Plik  ma  zaledwie 
około  40  kB,  więc  jego  pobieranie  nie 
powinno potrwać zbyt długo. Dla pew-
ności  możemy  sprawdzić,  czy  plik  jest 
poprawny.  W  tym  celu  wchodzimy  do 
katalogu,  w  którym  znajduje  się  nasz 
plik i wydajemy polecenie:

# md5sum memtest86+-1.40.bin.gz

Oczywiście,  jeśli  pobraliśmy  nowszą 
wersję,  to  musimy  odpowiednio  dosto-
sować  nazwę  pliku.  W  wyniku  powin-
niśmy otrzymać ciąg znaków (tzw. skrót 
MD5),  który  porównujemy  z  ciągiem 
znaków  umieszczonym  obok  odnośni-
ka do pliku na stronie domowej progra-
mu. Jeśli oba ciągi są takie same, możemy 
przystąpić do następnych czynności.

Czas  na  rozpakowanie  pliku.  Doko-

nujemy  tego  poleceniem 

gzip  -d  mem-

test86+-1.40.bin

.  Następnie  uzyskujemy 

uprawnienia superużytkownika (wydaje-
my polecenie 

su -

 i podajemy hasło użyt-

kownika  root),  po  czym  kopiujemy  plik 
memtest86+-1.40.bin  do  katalogu  /boot/
Teraz pozostało nam odpowiednio zmo-
dyfikować  plik  konfiguracyjny  GRUB-a
Otwieramy go w naszym ulubionym edy-
torze  (np.  Vim)  i  na  końcu  dopisujemy 
dwie linie:

title MEMTEST
root (hd0,7)
kernel /memtest86+-1.40.bin

Oczywiście, zamiast MEMTEST możemy 
wstawić  inny  odpowiadający  nam  tytuł. 
Pamiętajmy,  że  te  linie  dotyczą  wciąż 
naszego  przykładu.  Jeśli  katalog  /boot/ 
mamy na innej partycji, to musimy odpo-
wiednio  dostosować  wartości  poleceń 
root i kernel.

Po zapisaniu zmian możemy już zre-

startować  system,  a  w  naszym  menu 
powinna pojawić się nowa opcja – MEM-
TEST
.  Jeśli  ją  wybierzemy,  uruchomi  się 
program Memtest86+ i od razu rozpocz-
nie testowanie pamięci. Opcje programu 
są  dostępne  po  wciśnięciu  klawisza  [c], 
natomiast klawiszem [ESC ] możemy zre-
startować komputer, jeśli nie mamy czasu 
na przeprowadzanie pełnego testu.

Upiększanie GRUB-a

Jeśli  nie  podoba  nam  się  domyślny 
wygląd menu GRUB-a, możemy spróbo-
wać je nieco ubarwić. Jedną z możliwo-
ści  jest  ustawienie  lub  zmiana  rysunku 
wyświetlanego  w  tle.  Ponadto,  możemy 
dopasować  kolory  czcionki  do  naszych 
upodobań.

Większość 

dystrybucji 

dostarcza 

swoje własne tło dla GRUB-a, więc naj-
prawdopodobniej mamy już w pliku kon-
figuracyjnym odpowiednią opcję. Jest to 
linia  o  zawartości  podobnej  do  poniż-
szej:

splashimage=(hd0,7)/grub/splash.xpm.gz

Linia ta opcji splashimage przypisuje plik 
splash.xpm.gz  znajdujący  się  w  katalo-
gu  /grub/  na  partycji  /dev/hda8  (a  więc 
w  naszym  przykładzie  plik  ten  znajduje 
się w katalogu /boot/grub/ ).

Jeśli  w  naszym  pliku  nie  ma  takiej 

linii,  to  należy  ją  dodać,  odpowiednio 
dopasowując  wartości.  Linia  ta  powin-
na być umieszczona przed pierwszą linią 
title.  Możemy  ją  wstawić  zaraz  poniżej 
opcji timeout.

Powstaje pytanie, skąd wziąć rysunki. 

Jak widać, w opcji splashimage nie poda-
jemy  plików  w  popularnych  formatach, 
takich  jak  PNG  czy  JPG.  Zamiast  tego, 
mamy tu plik w formacie XPM, skompre-
sowany programem Gzip. To nie jedyne 
ograniczenie.  Nasz  obrazek  może  mieć 
tylko 14 kolorów i rozdzielczość 640x480 
pikseli. Nie brzmi to może zbyt zachęca-
jąco,  ale  zapewniam,  że  można  przygo-
tować  interesujące  rysunki  spełniające 
te  wymagania.  Zacznijmy  od  obejrzenia 
kilku przykładowych rysunków.

Rysunek 4. 

Memtest86+ zajmuje niewiele 

miejsca, lecz jest bardzo przydatny

background image

56

dla początkujących

luty 2005

Wybieranie tła

Na  stronie  http://vision.featia.net/linux/
grubsplash/
 możemy znaleźć kilka przy-
kładów  rysunków  mogących  posłu-
żyć  za  tło  GRUB-a.  Mamy  tu  do  dys-
pozycji  zarówno  pliki  w  formacie  GIF 
(dzięki  nim od razu możemy zapoznać 
się z rysunkiem), jak i odpowiadające im 
pliki  w  formacie  XPM.GZ.  Pobierzmy  je 
wszystkie na nasz dysk. Rysunki dostar-
czane z dystrybucją znajdują się w kata-
logu /boot/grub/, lecz jeśli umieścimy tam 
również  nasze,  może  powstać  bałagan. 
Zamiast  tego,  utworzymy  podkatalog 
splashes/ poleceniem 

mkdir  /boot/grub/

splashes/

  (oczywiście,  potrzebujemy 

do  tego  uprawnień  użytkownika  root). 
Następnie  do  tego  katalogu  kopiuje-
my  wszystkie  pobrane  pliki  z  końców-
ką .xpm.gz.

Wydawałoby  się,  że  powinniśmy 

teraz  zmodyfikować  plik  /boot/grub/
grub.conf
  i  w  linii  z  opcją  splashimage 
podać nową ścieżkę do pliku. Owszem, 
można  to  zrobić,  wstawiając  przykłado-
wo taką linię:

splashimage=(hd0,7)/grub/splashes/

S

seachair.xpm.gz

Jeśli jednak chcemy sami poeksperymen-
tować  i  sprawdzić,  które  tło  najbardziej 
nam  odpowiada,  to  ciągłe  restartowa-
nie systemu i modyfikowanie jednej linii 
może być męczące. Na szczęście, można 
to  zrobić  inaczej.  Gdy  już  zrestartujemy 
system i powita nas menu GRUB-a, wci-
skamy  klawisz  [c].  W  ten  sposób  przej-
dziemy  do  linii  poleceń  GRUB-a,  która 
szerzej  jest  opisana  w  rozdziale  Obsłu-
ga
.  W  linii  tej  najpierw  wpisujemy 

root 

(hd0,7)

,  a  następnie  wciskamy  [Enter]. 

Pamiętamy, że polecenie to ustawia par-
tycję  wykorzystywaną  w  następnych 
poleceniach.  Później  wpisujemy 

splash-

image 

/grub/splashes/seachair.xpm.gz

 

i  ponownie  zatwierdzamy  klawiszem 
[Enter].  I  już  mamy  wyświetlone  nasze 
tło.  Klawiszem  [Esc]  możemy  wrócić  do 
menu,  aby  zobaczyć,  jak  wygląda.  Jeśli 
będziemy  chcieli  wypróbować  inne  tła, 
znów wciskamy klawisz [c] i postępujemy 
tak, jak wcześniej (nie musimy ponownie 
używać polecenia root – wystarczy samo 
splashimage).  No  właśnie,  ale  pewnie 
zapomnieliśmy  już,  jak  się  nazywa-
ły poszczególne pliki. Nie martwmy się. 
Linia poleceń GRUB-a obsługuje uzupeł-
nianie nazw, więc możemy wpisać słowa 

splashimage  /

  (pamiętajmy  o  znaku  ), 

a następnie wcisnąć klawisz [Tab]. Pojawi 
się  nam  spis  dostępnych  nazw  katalo-
gów i plików. W ten sposób dopisujemy 
dalszy  ciąg  ścieżki  (/grub/splashes/  lub 
/boot/grub/splashes/  zależnie od naszej 
konfiguracji)  i  znów  wciskamy  klawisz 
[Tab]  w  celu  wyświetlenia  nazw  plików 
z tłami.

Gdy już się zdecydujemy na konkret-

ne  tło,  możemy  uruchomić  system  (wy-
chodzimy  klawiszem  [Esc]  aż  do  menu 
i  wybieramy  pozycję  z  naszym  Linuk-
sem),  a  następnie  dopisać  odpowiednią 
linię do pliku /boot/grub/grub.conf.

Tworzenie własnego tła

Oprócz gotowych plików z tłami, które 
można  znaleźć  w  Internecie,  każdy 
pewnie chciałby mieć możliwość stwo-
rzenia  całkiem  własnego.  Oczywi-
ście,  nic  nie  stoi  na  przeszkodzie.  Jeśli 
chcemy  po  prostu  przekonwertować 
posiadany obrazek do skompresowane-
go formatu XPM, możemy wydać pole-
cenia:

# convert -resize 640x480 -colors 14

S

           picture.jpg picture.xpm
# gzip picture.xpm

Polecenie convert należy do pakietu Ima-
geMagick
. Jeśli nie jest on zainstalowany 
w naszym systemie, możemy go zainsta-
lować z płyt dystrybucji lub z repozyto-
rium  (analogicznie,  do  instalacji  pakietu 
GRUB-a). Opcja -resize 640x480 powo-
duje  zmianę  rozdzielczości  rysunku  do 
wymaganego rozmiaru, a opcja -colors 14 
redukuje  paletę  kolorów  do  czternastu. 
Nazwy picture.jpg i picture.xpm to odpo-
wiednio  nazwy  pliku  wejściowego 
(z konwertowanym rysunkiem) i wyjścio-
wego (z tłem dla GRUB-a). Drugim pole-
ceniem  kompresujemy  rysunek  progra-
mem Gzip.

Powyższa  metoda  jest  szybka, 

lecz  czasem  uzyskane  rezultaty  wołają 
o pomstę do nieba. Lepszym rozwiąza-
niem jest uruchomienie programu GIMP
wczytanie pliku, który chcemy konwer-
tować,  a  następnie  zmiana  rozmia-
ru  obrazu  (Obraz–>Przeskaluj  obraz
i liczby kolorów (Obraz–>Tryb–> Indek-
sowany
).  Dzięki  temu  możemy  poeks-
perymentować  z  różnymi  opcjami 
obrazu.  Ponadto,  może  okazać  się,  że 
konieczne  będzie  ręczne  poprawianie 
całego rysunku, zanim uzyskamy zado-
walający efekt.

Innym  wyjściem  jest  stworzenie

pustego  rysunku  o  wymiarach  640x480 
i palecie 14 kolorów, a następnie nary-
sowanie  na  nim  tego,  co  nam  się 
podoba.  Nie  każdy  jednak  ma  żyłkę 
artystyczną.

Wybór metody zależy od nas. Z uzy-

skanym plikiem postępujemy tak, jak to 
opisaliśmy w rozdziale Wybieranie tła.

Niektórzy Czytelnicy mogą zaintere-

sować  się,  dlaczego  kompresujemy  tła 
przed  wykorzystaniem  ich  w  GRUB-ie
Można wykorzystać również pliki XPM 
nieskompresowane  programem  Gzip
Różnica będzie dla nas w sumie nieod-
czuwalna,  lecz  dla  zasady  lepiej  kom-
presować.  Przy  obecnych  komputerach 
mniej czasu zajmuje wczytanie z dysku 
skompresowanego  (a  więc  i  mniejsze-
go)  pliku,  a  następnie  rozkompreso-
wanie  go  w  pamięci,  niż  wczytanie 
z dysku większego pliku, nie poddane-
go kompresji.

Dobór kolorów

Oprócz  ustalenia  własnego  tła,  możemy 
pokusić  się  o  zmianę  kolorów  czcion-
ki  wykorzystywanej  w  menu.  Służą  do 
tego  opcje  foreground  i  background 
ustawiane  w  początkowej  części  pliku 
/boot/grub/grub.conf  (możemy  je  umie-
ścić  nawet  przed  opcją  splashimage). 
Opcje te przyjmują jako parametry kolory 

Rysunek 5. 

Rysunek na tło powinniśmy 

dobrać tak, aby menu było czytelne

Rysunek 6. 

Nawet korzystając tylko z 14 

kolorów można stworzyć ładne rysunki

background image

57

dla początkujących

grub

www.lpmagazine.org

zapisane w szesnastkowym formacie RGB 
(RedGreenBlue). Jeśli będziemy chcie-
li uzyskać białe litery z czarnym tłem, to 
użyjemy opcji:

foreground ffffff
background 000000

Oczywiście, możemy też używać innych 
kolorów,  jak  czerwony  (ff0000),  zielo-
ny  (00ff00),  niebieski  (0000ff )  i  inne. 
Jeśli chcemy w wygodny sposób dopa-
sować  kolory  do  naszego  tła  i  gustu, 
możemy wykorzystać tę samą metodę, 
którą stosowaliśmy przy wybieraniu tła. 
Tym razem, po wejściu do linii poleceń 
GRUB-a, wydajemy odpowiednie pole-
cenia 

foreground  ffff00

  i 

background 

ff00ff

  (oczywiście,  eksperymentując 

z kolorami).

Oprócz  tego,  istnieje  możliwość 

zmiany  koloru  podświetlenia  i  tła 
menu.  Wykorzystywane  jest  do  tego 
polecenie  color,  które  możemy  umie-
ścić  w  pliku  konfiguracyjnym  przed 
poleceniami  foreground  i  backgro-
und
.  Listę  kolorów  dostępnych  w  tym 
poleceniu  można  uzyskać  korzysta-
jąc z polecenia 

help color

 w linii pole-

ceń GRUB-a (jak również w dokumen-
tacji GRUB-a – 

info grub

). Przykładowe 

wywołanie  tego  polecenia  (dające  cał-
kiem przyjemny kolor) ma postać: 

color 

cyan/blue white/blue

.

Obsługa

Jeśli  zainstalowaliśmy  GRUB-a  na 
dysku  i  stworzyliśmy  dla  niego  plik 
konfiguracyjny, to podczas uruchamia-
nia  komputera  powinno  nas  przywi-
tać  menu  GRUB-a.  Możemy  poruszać 
się  po  nim  z  pomocą  strzałek  kurso-
ra, a klawiszem [Enter] wybierać pozy-
cję,  którą  chcemy  uruchomić.  Oprócz 
tego, mamy jednak do dyspozycji kilka 
innych funkcji.

Modyfikacja pozycji menu

Przypuśćmy,  że  chcemy  poekspery-
mentować z innymi parametrami jądra. 
Możemy  w  tym  celu  utworzyć  nowe 
sekcje  title  w  pliku  konfiguracyjnym. 
Lepszym rozwiązaniem jest modyfikacja 
parametrów  jądra  podczas  uruchamia-
nia  systemu.  Jak  tego  dokonać?  Prze-
suńmy zaznaczenie w menu na pozycję 
naszej  dystrybucji  Linuksa.  W  naszym 
przykładzie  jest  to  linia  Aurox  Linux 
(2.4.22-1)
. Zamiast wcisnąć [Enter], wci-
skamy klawisz [e]. Zobaczymy wyświe-
tloną  zawartość  tej  sekcji  title.  Pomię-
dzy  liniami  możemy  przemieszczać  się 
podobnie  jak  w  menu.  Jeśli  chcemy 
zmodyfikować  jakąś  linię,  wciskamy 
[Enter]. Spróbujmy w linii z poleceniem 
kernel  dopisać  opcję  jądra  vga=791
W  naszym  przykładzie  linia  wygląda-
łaby tak:

kernel /vmlinuz-2.4.22-1

S

 

    ro root=LABEL=/ vga=791

Zmiany zatwierdzamy klawiszem [Enter]. 
Wprowadzona właśnie opcja powoduje, 
że  system,  zamiast  w  standardowym 
trybie tekstowym, uruchomi się z wyko-
rzystaniem bufora ramki, ustawiając roz-
dzielczość  ekranu  na  1024x768  pikseli 
z ponad 16 tysiącami kolorów.

Jeśli  chcielibyśmy  dodać  nową 

linię, możemy skorzystać z klawiszy [o
i []. Pierwszy z nich powoduje doda-
nie nowej linii po aktualnie zaznaczo-
nej  linii,  a  drugi  –  przed  nią.  Niepo-
trzebne linie możemy skasować klawi-
szem [].

Gdy jesteśmy już zadowoleni z wpro-

wadzonych  zmian,  wciskamy  klawisz 
[b],  co  powoduje  uruchomienie  edyto-
wanej  pozycji  wraz  z  wprowadzonymi 
zmianami. Jeśli wolimy zrezygnować ze 
zmian, możemy klawiszem [Esc] wrócić 
do głównego menu.

Linia poleceń

Jeszcze większe możliwości daje nam linia 
poleceń dostępna w GRUB-ie. Korzystali-
śmy  z  niej  już  w  rozdziale  Wybieranie 
tła
, lecz teraz opiszemy ją bardziej szcze-
gółowo. Aby się do niej dostać, w menu 
GRUB-a  wciskamy  klawisz  [c].  Mamy  tu 
do dyspozycji cały szereg mniej lub bar-
dziej  przydatnych  poleceń.  Ich  spis  uzy-
skamy wciskając po prostu klawisz [Tab]. 
Z  pewnością  zwrócimy  uwagę,  że  na 
spisie znajduje się wiele znanych nam już 

poleceń, z których korzystaliśmy podczas 
tworzenia  menu  –  chainloader,  kernel
initrd,  root  i  inne.  Jak  więc  widać,  linię 
poleceń  również  możemy  wykorzystać 
do  uruchamiania  systemów  zainstalo-
wanych na naszym komputerze. Zresztą, 
gdybyśmy nie utworzyli pliku konfigura-
cyjnego /boot/grub/grub.conf, to przy uru-
chamianiu komputera moglibyśmy korzy-
stać  tylko  z  linii  poleceń  GRUB-a.  Jeśli 
w takim przypadku chcielibyśmy urucho-
mić  Memtest86+  (zainstalowany  zgodnie 
z  wcześniej  podanymi  wskazówkami), 
musielibyśmy  wydać  następujące  pole-
cenia:

root (hd0,7)
kernel /memtest86+-1.40.bin
boot

Jedyna  różnica  pomiędzy  zawartością 
grub.conf  i  poleceniami  przy  ręcznym 
uruchamianiu  systemu,  to  dodatkowe 
polecenie 

boot

 powodujące załadowanie 

wskazanego jądra.

Warto pamiętać, że w czasie wprowa-

dzania  poleceń  i  nazw  plików  możemy 
korzystać  z  autouzupełniania  –  wystar-
czy wcisnąć klawisz [Tab], a wyświetlone 
zostaną możliwe wartości.

Do  czego  jeszcze  może  przydać  się 

nam linia poleceń? Z pomocą polecenia 
cat możemy sprawdzić zawartość dowol-
nego pliku, np. 

cat  /etc/fstab

. Wynika 

z  tego,  że  osoba  mająca  dostęp  do  linii 
poleceń GRUB-a może przeczytać prak-
tycznie  dowolny  plik  (np.  /etc/shadow 
zawierający  zakodowane  hasła).  Tym 
jednak będziemy się martwić za chwilę, 
w rozdziale Zabezpieczenia. Niezależnie 
od  zagrożeń,  polecenie  cat  może  przy-
dać się nam, jeśli w czasie eksperymen-
tów  będziemy  chcieli  sprawdzić  jakieś 
ustawienia.

Inne  przydatne  polecenie  to  find

pozwalające  nam  sprawdzać,  na  której 
partycji  znajduje  się  wskazany  plik. 
Powinniśmy  podawać  bezwzględną 
ścieżkę  do  pliku,  np. 

find  /boot/grub/

stage1

 lub 

find  /grub/stage1

 – polece-

nie  to  zwróci  nam  nazwę  partycji,  jaką 
powinniśmy wpisać w linii root w pliku 
konfiguracyjnym GRUB-a.

Warto  zapoznać  się  z  innymi  pole-

ceniami.  Bardzo  przydatna  jest  pomoc, 
którą  możemy  uzyskać  wpisując 

help 

nazwa_polecenia

.

Linię  poleceń  GRUB-a  można  rów-

nież uruchomić z konta użytkownika root 

Rysunek 7. 

Skrypt Grubconfig może nam 

ułatwić konfigurowanie GRUB-a

background image

58

dla początkujących

luty 2005

wpisując polecenie 

grub

. Mamy wówczas 

podobne  możliwości,  jak  w  opisywa-
nej  wyżej  linii  poleceń,  lecz  oczywiście 
z niektórych poleceń nie możemy korzy-
stać  (dotyczy  to  przykładowo  polecenia 
splashimage).

Zabezpieczenia

Menu  oferowane  przez  GRUB-a  jest 
bardzo wygodne, lecz czasem daje zbyt 
wiele  możliwości.  Jak  przekonaliśmy 
się  w  poprzednim  rozdziale,  użytkow-
nik  mający  dostęp  do  GRUB-a  może 
dowolnie  zmieniać  parametry  wywo-
łania systemu, a nawet uzyskać dostęp 
do  chronionych  plików.  Na  szczęście, 
GRUB pozwala na zablokowanie takie-
go dostępu.

Służy do tego hasło broniące dostę-

pu do edycji pozycji w menu, jak rów-
nież  do  linii  poleceń.  Jeśli  chcemy, 
to  nawet  uruchomienie  poszczegól-
nych  systemów  może  wymagać  poda-
nia hasła.

Jeśli  chcemy  zabezpieczyć  w  ten 

sposób nasz system, to – oczywiście – 
potrzebujemy do tego uprawnień użyt-
kownika root. Najpierw wygenerujemy 
nasze  hasło.  Uruchamiamy  linię  pole-
ceń  GRUB-a  – 

grub

.  Tym  razem  sko-

rzystamy z polecenia 

md5crypt

. Po jego 

wydaniu zostaniemy zapytani o hasło. 
Wpisujemy  je  (niech  tylko  nie  będzie 
zbyt łatwe do odgadnięcia) i wciskamy 
[Enter]. W odpowiedzi zobaczymy linię 
z zakodowanym hasłem.

Teraz  edytujemy  nasz  plik  konfigu-

racyjny (np. 

vim  /boot/grub/grub.conf

i  na  jego  początku  umieszczamy  linię 
o treści:

password --md5 

S

   $1$ikVvf0$naEIsTUTM5yM1MYrx3Ms7.

Oczywiście, zamiast podanej tu warto-
ści należy wkleić wynik działania pole-
cenia md5crypt. Wykorzystanie podanej 
wyżej  wartości  nie  jest  dobrym  pomy-
słem,  gdyż  jest  to  zakodowane  słowo 
password.  Skoro  w  pliku  przechowu-
jemy  hasło,  powinniśmy  się  upewnić, 
że  nie  będzie  ono  łatwe  do  odczytu. 
W  tym  celu  ustawiamy  odpowiednio 
prawa dostępu do pliku:

#   chmod 600 /boot/grub/grub.conf

Ta zmiana wystarczy, aby przy urucha-
mianiu  komputera  w  menu  GRUB-a 

były  dostępne  tylko  dwie  możliwości 
–  uruchomienie  jednego  z  systemów 
lub  wciśnięcie  klawisza  [p].  Jeśli  po 
wciśnięciu  klawisza  [p]  podamy  pra-
widłowe hasło (to, które wpisywaliśmy 
w  poleceniu  md5crypt),  to  dopiero 
wtedy uzyskamy dostęp do możliwości 
opisywanych w rozdziale Obsługa.

Nadal  użytkownik  może  urucho-

mić dowolną pozycję w menu, a to nie 
zawsze  musi  nam  odpowiadać.  Skoro 
już  mamy  ustalone  hasło,  wystarczy 
teraz w sekcji title, którą chcemy zablo-
kować,  umieścić  polecenie 

lock

.  Musi 

ono być umieszczone od razu pod linią 
title,  gdyż  użytkownik  może  wykony-
wać  wszystkie  polecenia  aż  do  napo-
tkania  polecenia 

lock

.  W  tym  momen-

cie  zostaje  zapytany  o  hasło  i  dopóki 
nie  poda  prawidłowego,  nie  będzie 
mógł  wykonać  dalszych  poleceń.  Jak 
więc  widać,  umieszczanie  polecenia 
lock  na  końcu  sekcji  title  zazwyczaj 
mija się z celem – lepiej umieścić je na 
początku.

Należy zaznaczyć, że zabezpieczenie 

to nie jest doskonałe. Nie można liczyć, 
że założenie hasła na GRUB-a zabezpie-
czy nas przed niecnymi zamiarami osób 
mających  bezpośredni  dostęp  do  kom-
putera. Zawsze jednak może zwiększyć 
wygodę  korzystania  z  komputera  oraz 
zabezpieczyć nas przed mniej doświad-
czonymi użytkownikami.

Ułatwianie konfiguracji

Jeśli nie chcemy ręcznie zmieniać pliku 
konfiguracyjnego  GRUB-a,  możemy 
skorzystać  z  jednego  z  konfigurato-
rów. Najlepszym rozwiązaniem wydaje 
się  być  moduł  Webmina  dostępny 
w  sekcji  Sprzęt>Inicjator  systemu 
GRUB
.  Oprócz  tego,  mamy  do  dyspo-
zycji  działający  w  trybie  tekstowym 
skrypt  Grubconfig  oraz  przeznaczony 
dla  środowiska  graficznego  program 
GrubConf.  Pierwszy  z  nich  jest  mało 
intuicyjny,  lecz  ma  kilka  ciekawych 
opcji, a przy tym nie wymaga instala-
cji  –  wystarczy  rozpakować  archiwum 
i można go uruchomić.

Osoby  samodzielnie  kompilują-

ce  jądro  prawdopodobnie  zainteresu-
ją  się  programem  Install Kernel,  który 
nie tylko zwalnia nas od konieczności 
wykonania  szeregu  poleceń,  ale  rów-
nież  automatycznie  uaktualnia  konfi-
gurację programów uruchomieniowych 
(oprócz GRUB-a, obsługuje też LILO).

Jeśli chcemy całkiem uprościć sobie 

ustawianie tła menu GRUB-a, możemy 
skorzystać z programu GrubTk. Wystar-
czy  w  nim  podać  tylko  nazwę  pliku 
z  rysunkiem,  a  program  zajmie  się 
resztą.

A jeśli chcemy zobaczyć, do czego 

jeszcze można wykorzystać GRUB-a, to 
zainstalujmy sobie grę GRUB Invaders
Jest  ona  uruchamiana  przez  GRUB-a 
i  nie  wymaga  do  działania  żadnego 
systemu operacyjnego.

Zakończenie

Wydawałoby  się,  że  program  urucho-
mieniowy  to  proste  narzędzie  pozwa-
lające tylko wskazać, który system ma 
być uruchomiony. Tymczasem, okazuje 
się, że jest to program, który możemy 
stosunkowo  łatwo  dopasować  do 
swoich  potrzeb.  Z  jego  pomocą  uru-
chomimy  nie  tylko  systemy,  ale  rów-
nież  takie  programy,  jak  Memtest86
GRUB  może  stanowić  barierę  bronią-
cą  innym  użytkownikom  dostępu  do 
naszego  systemu,  równocześnie  nie 
zmniejszając  naszej  wygody  obsługi. 
Dodatkowo,  może  witać  nas  naszym 
ulubionym rysunkiem. Warto zapoznać 
się z jego dokumentacją i poznać inne 
jego funkcje. 

W Internecie:

•   Strona domowa GRUB-a:

http://www.gnu.org/software/grub/

•   GNU GRUB splashimage howto:

http://ruslug.rutgers.edu/~mcgrof/
grub-images/

•   Różne tła dla menu GRUB-a:

http://vision.featia.net/linux/
grubsplash/

•   Strona domowa Memtest86:

http://www.memtest86.com/

•   Strona domowa Memtest86+:

http://www.memtest.org/

•   Strona domowa skryptu Grubconfig:

http://www.tux.org/pub/people/kent-
robotti/looplinux/index.html

•   Strona domowa programu GrubConf:

http://grubconf.sourceforge.net/

•   Strona domowa programu Install 

Kernel:
http://installkernel.tripod.com/ik/
index.html

•   Strona domowa programu GrubTk:

http://freshmeat.net/projects/grubtk/

•   Strona domowa gry GRUB Invaders:

http://www.erikyyy.de/invaders/