2005 02 GRUB–program uruchomieniowy [Poczatkujacy]


dla początkujących
GRUB  program
uruchomieniowy
Piotr Machej
zym jest program uruchomie- nych dystrybucjach miałem możliwość
niowy (ang. bootloader) i czy zmiany na GRUB-a, przez kilka lat upar-
jest mi potrzebny do szczę- cie zostawałem przy LILO. Do zmiany
Cścia? Jest to program umiesz- przekonało mnie moje własne lenistwo...
czony w początkowych sektorach dysku Po prostu, gdy po raz kolejny zapomnia-
twardego (np. w MBR  Master Boot łem uruchomić polecenie lilo po zmia-
Record). BIOS, po uruchomieniu kompu- nie w pliku konfiguracyjnym i musiałem
tera i wykonaniu testów, przekazuje ste- szukać dyskietki ratunkowej, powie-
rowanie właśnie do programu zawartego działem: dość. Zainstalowałem GRUB-a
w MBR dysku wskazanego jako startowy, i od tej pory nie mam już powodów do
czyli do naszego programu uruchomie- narzekań. I nawet jak przyjadą krewni,
niowego. Jego zadaniem jest załadowanie to nie ma siły, aby uruchomili system,
systemu operacyjnego do pamięci i prze- którego nie powinni  przynajmniej
kazanie mu kontroli. Obecnie większość dopóki nie odgadną hasła.
popularnych programów uruchomienio-
wych pozwala na wybór jednego z sys- Instalacja
temów zainstalowanych na dysku. Najpo- Pakiety z programem GRUB można zna-
pularniejsze tego typu programy, dostar- lezć w praktycznie każdej dystrybucji.
czane wraz z dystrybucjami Linuksa, to Co więcej, podczas instalacji dystrybu-
LILO i GRUB (Grand Unified Bootloader). cji możemy wybrać program uruchomie-
W niniejszym artykule postaram się przy- niowy, z którego chcemy korzystać. Jeśli
bliżyć to drugie narzędzie. zdecydujemy się na GRUB-a, to system
od razu postara się odpowiednio dosto-
Przykład użycia sować jego konfigurację. Jeśli jednak nie
Jestem tradycjonalistą. Nie ukrywam zdecydowaliśmy się na instalację GRUB-a,
tego. Z tego powodu przez bardzo długi musimy to zrobić teraz sami.
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ózniej zacząłem korzystać
z 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
Na płycie CD/DVD
Rysunek 1. Wersja GRUB-a obecnie
bezpieczny od zakusów studenckiej
Na płycie CD/DVD znajdują się
wykorzystywana w dystrybucjach nie jest
narzędzia omawiane w artykule. braci, więc mogłem sobie pozwolić na
już rozwijana
odrobinę luksusu. I chociaż w kolej-
52
luty 2005
dla początkujących
grub
install. Lepszym rozwiązaniem jest pomogą w zidentyfikowaniu pozycji
jednak skorzystanie z pakietów dostęp- w menu.
nych dla naszej dystrybucji. Druga linia wskazuje, na jakiej par-
Teraz musimy skonfigurować nasze- tycji jest umieszczony katalog /boot/.
go GRUB-a, a następnie umieścić go na W naszym przykładzie katalog /boot/
dysku. umieszczony jest na osobnej partycji,
/dev/hda8, natomiast główny katalog
Rysunek 2. Podstawowe menu GRUB-a
Podstawowa konfiguracja systemowy / jest umieszczony na par-
nie wygląda zbyt atrakcyjnie
Główny plik konfiguracyjny GRUB-a to tycji /dev/hda9 (oznaczonej etykietą / ).
Przede wszystkim upewnijmy się, /boot/grub/grub.conf. Zazwyczaj istnie- Więcej o nazewnictwie partycji stoso-
że nie jest już zainstalowany. W przy- ją również dwa dowiązania symbolicz- wanym przez GRUB-a można przeczy-
padku Auroksa wykorzystamy do tego ne do tego pliku: /boot/grub/menu.lst tać w ramce Nazewnictwo dysków i par-
polecenie rpm -q grub. Jeśli pojawi się oraz /etc/grub.conf (tak jest w Auroksie  tycji.
napis pakiet grub nie jest zainstalowa- w innych dystrybucjach głównym pli- W kolejnej linii określamy, które
ny, to będziemy musieli zmienić ten stan kiem konfiguracyjnym może być jeden jądro chcemy załadować. Po słowie
rzeczy. Pakiet z GRUB-em możemy zain- z trzech wymienionych). Co prawda, nie kernel podajemy ścieżkę do pliku
stalować z kilku różnych zródeł. Pierw- jest on konieczny, gdyż możemy korzy- z jądrem (w naszym przykładzie vmli-
szym z nich są płyty, z których instalo- stać z linii poleceń GRUB-a, ale odpo- nuz-2.4.22-1), liczoną w stosunku do
waliśmy naszą dystrybucję. W przypadku wiednie skonfigurowanie pliku bardzo partycji określonej linię wcześniej.
Auroksa pakiet znajduje się na pierwszej ułatwi nam pracę. Dzięki temu nie Ponieważ dla katalogu /boot/ w naszym
płycie, więc po włożeniu jej do napędu będziemy musieli każdorazowo przy uru- przykładzie mamy osobną partycję, to
możemy wydać polecenia: chamianiu komputera wpisywać szeregu podajemy ścieżkę /vmlinuz-2.4.22-1. Po
poleceń, a w przypadku zainstalowania nazwie pliku jądra możemy podać
# mount /mnt/cdrom/ wielu systemów będziemy mogli korzy- parametry jądra. W naszym przy-
S
# rpm -Uvh /mnt/cdrom/Aurox/RPMS/ stać z wygodnego menu. padku określamy partycję z głów-
grub-0.94-5.i386.rpm nym systemem plików (root). Wyja-
Dyskietka ratunkowa śnienie wartości LABEL=/ znajduje się
Drugim zródłem są repozytoria pakie- Przede wszystkim zadbajmy o to, aby w ramce Nazewnictwo dysków i par-
tów. Jeśli korzystamy z jednego z syste- mieć dyskietkę lub płytę ratunkową. Dys- tycji. Należy zwrócić uwagę, że słowo
mów zarządzania pakietami, to możemy kietkę mogliśmy utworzyć podczas insta- root w tej linii ma inne znaczenie niż
użyć odpowiedniego dla niego polece- lacji dystrybucji. Jeśli tego nie zrobiliśmy, w linii wcześniejszej. Tutaj jest to para-
nia, np.: zazwyczaj możemy skorzystać z pierw- metr jądra, wskazujący główny system
szej płyty dystrybucji. Zazwyczaj nie ma plików, natomiast słowo root, występu-
# yum install grub potrzeby korzystania z dyskietki ratunko- jące w drugiej linii, to komenda GRUB-a,
# apt-get grub install wej, ale podczas zmiany programu roz- pozwalająca wskazać urządzenie, wzglę-
# emerge grub ruchowego mogą pojawić się problemy, dem którego będą opisywane następne
które sprawią, że nie uda się nam uru- ścieżki dostępu.
Oczywiście, wydajemy tylko jedno chomić z systemów zainstalowanych na Ostatnia linia nie jest konieczna,
z powyższych poleceń. Analogicznie dysku. lecz jeśli tylko mamy utworzony plik
możemy wykorzystać system zarządzania initrd odpowiedni dla naszego jądra, to
pakietami do aktualizacji wersji GRUB-a Uruchamianie Linuksa powinniśmy z niego skorzystać. Polece-
(np. poleceniem yum update grub). Najpierw spróbujmy wykorzystać GRUB-a nie initrd zawarte w tej linii ładuje RAM-
Mamy jeszcze trzecią możliwość. do uruchamiania naszego Linuksa. dysk. To, czy go wykorzystamy, zależy od
Jeśli zależy nam na najnowszej wersji, W tym celu powinniśmy mieć w pliku konfiguracji naszego jądra.
możemy ją pobrać ze strony domowej /boot/grub/grub.conf przynajmniej cztery
projektu (http://www.gnu.org/software/ linie:
grub/ ). Ze względu na rozpoczęcie prac
nad GRUB 2, starsza wersja (linia 0.9.x, title Aurox Linux (2.4.22-1)
wciąż jeszcze wykorzystywana w dys- root (hd0,7)
trybucjach) została przemianowana na kernel /vmlinuz-2.4.22-1 ro root=LABEL=/
GRUB Legacy. Tutaj mamy dostępne jedy- initrd /initrd-2.4.22-1.img
nie zródła, których instalacja przebiega
zwykłym torem  po pobraniu i rozpako- Pierwsza z nich, po słowie title, zawie-
waniu pliku (tar xzvf grub-0.95.tar.gz) ra tekst, który pojawi się w menu. Naj-
wchodzimy do utworzonego katalo- lepiej umieścić tu nazwę systemu (dys-
gu i wydajemy polecenia: ./configure trybucji) oraz w nawiasie numer wersji
Rysunek 3. Dokumentację GRUB-a
i make. Następnie, po uzyskaniu upra- jądra. Oczywiście, możemy też podać
możemy również znalezć na stronie
wnień administratora (poleceniem su -), inne dodatkowe informacje (np. czy jest
WWW
wydajemy ostatnie polecenie: make wykorzystywany FrameBuffer), które
53
www.lpmagazine.org
dla początkujących
Opcje ogólne
Nazewnictwo dysków i partycji
Oprócz powyższych czterech linii, warto
od razu dodać kilka innych, które określą W pliku konfiguracyjnym GRUB-a (/boot/ larne jest wskazywanie partycji za pomocą
zachowanie naszego menu. Są to nastę- grub/grub.conf) zazwyczaj nie używa- etykiety. Jeśli w naszym pliku konfiguracyj-
pujące linie: my znanych z Linuksa oznaczeń dysków nym mamy linię postaci: kernel /vmlinuz-
i partycji, takich jak hda, hdb2 i tym podob- 2.4.22-1 ro root=LABEL=/, to zwróćmy
default=0 ne. Zamiast tego, widzimy oznaczenia typu uwagę na tekst root=LABEL=/. Zastępuje
timeout=30 (fd0) lub (hd1,2). Jest to nieco mylące, na on zwykły tekst postaci root=/dev/hda1 (jeśli
początku, lecz można się szybko przyzwy- nasz katalog / jest umieszczony na partycji
Umieszczamy je przed (podkreślam czaić. hda1). Można zastanawiać się, co to daje i
 przed) wymienionymi wcześniej linia- Opis (fd0) oznacza pierwszy napęd czemu się tego używa. Zapis taki pozwala
mi, zaraz na początku pliku /boot/grub/ dyskietek (należy pamiętać o nawia- nam swobodnie przekładać dysk w ramach
grub.conf. Pierwsza z nich określa, która sach i braku odstępu pomiędzy znakami). naszego komputera, np. w przypadku dokła-
pozycja menu będzie domyślnie wybra- W przypadku dysków twardych nazwa dania nowego napędu lub nagrywarki. Jeśli
na. Jak wiemy, GRUB liczy od zera, (hd0) odpowiada dyskowi hda, nazwa (hd1) stosujemy etykiety, nie musimy wówczas
więc w naszym przykładzie wybraliśmy to dysk hdb itd. Jak więc widać, zamiast liter poprawiać plików konfiguracyjnych (m.in.
pierwszą (i na razie jedyną) pozycję w używamy cyfr, zaczynając od zera. Aby grub.conf i /etc/fstab).
menu. Druga opcja wskazuje, że przez 30 wskazać konkretną partycję, dodajemy jej Powstaje pytanie, jak odczytać i stwo-
sekund (możemy ustawić inną wartość) numer (znów licząc od zera) po przecinku. rzyć etykiety dla partycji. Służy do tego
GRUB będzie czekał na naszą decyzję. Tak więc dla hda1 mamy (hd0,0), dla hda7 polecenie e2label /dev/hda1, gdzie
Jeśli nie wciśniemy żadnego klawisza, to  (hd0,6), a dla hdc3  (hd2,2). Wystarczy zamiast /dev/hda1 wstawiamy nazwę par-
uruchomi automatycznie pozycję menu w zasadzie pamiętać, że numerujemy od 0, tycji ext2 lub ext3. Polecenie to spowoduje
wskazaną w opcji default. W przypadku, a nie od 1. Jeśli mamy wątpliwości, możemy wyświetlenie etykiety przypisanej do party-
gdy użyliśmy opcji timeout bez korzysta- przypisanie nazw do dysków sprawdzić cji. Jeśli chcemy nadać partycji nową etykie-
nia z opcji default, uruchomiona zostanie w pliku /boot/grub/device.map. Dla kompu- tę, to stosujemy zapis e2label /dev/hda1
pierwsza zdefiniowana pozycja w menu. tera posiadającego tylko jeden napęd dys- etykieta.
kietek i jeden dysk twardy, plik ten powinien Przy okazji warto zaznaczyć, że z ety-
Zapisywanie GRUB-a na dysk mieć następującą zawartość: kiet możemy korzystać tylko wtedy, gdy
Teraz już możemy zapisać GRUB-a na ładujemy również odpowiadający jądru
dysk (jeśli jeszcze tego nie robiliśmy). (fd0) /dev/fd0 RAM-dysk. Służy do tego polecenie initrd
Zazwyczaj będziemy chcieli umieścić go (hd0) /dev/hda /initrd-2.4.22-1.img, umieszczone pod
na pierwszym dysku. Służy do tego pole- wspomnianą wcześniej linią pliku konfigu-
cenie grub-install /dev/hda. W niektórych dystrybucjach (np. w Red racyjnego.
Jeśli pózniej zmienimy zawartość Hat i pochodnych  Fedora i Aurox) popu-
pliku konfiguracyjnego /boot/grub/grub.
conf, to nie będziemy musieli ponow-
nie wykonywać tego polecenia. GRUB po to, aby czasem pograć) lub z FreeBSD kernel /vmlinuz-new ro root=LABEL=/
automatycznie rozpozna zmiany w pli- (np. ze względu na studia czy pracę). initrd /initrd-2.4.22-1a.img
ku i podczas kolejnego uruchomie-
nia komputera wyświetli odpowied- Inne dystrybucje Linuksa Jeśli nie wygenerowaliśmy RAM-dysku,
nie menu. W zasadzie jedyny przypa- W przypadku, gdy chcemy z pomocą to nie dopisujemy ostatniej linii, a zamiast
dek, gdy możemy chcieć wydać ponow- GRUB-a uruchamiać również inne dystry- root=LABEL=/ musimy podać odpowiednią
nie to polecenie, to moment aktualizacji bucje Linuksa zainstalowane w naszym nazwę partycji (w naszym przykładzie
GRUB-a do nowszej wersji. komputerze, postępujemy tak samo, jak root=/dev/hda9). Jeśli o tym zapomnimy, to
Warto uruchomić ponownie kompu- w przypadku opisanym w rozdzia- nasz system przestanie się ładować na eta-
ter, aby sprawdzić, jak działa nasz GRUB. le Uruchamianie Linuksa. Wystarczy pie montowania głównego systemu plików.
Powinniśmy zobaczyć proste menu dopisać kolejną sekcję zaczynają-
z jedną pozycją do wyboru. Po jej zatwier- cą się od linii title i zawierającą odpo- Windows, DOS
dzeniu klawiszem [Enter] (lub odczeka- wiednie opcje. Tego samego sposo- Najprostszym sposobem na uruchamia-
niu 30 sekund) powinien załadować się bu możemy zresztą użyć, gdy chcemy nie systemów z rodziny Windows jest
nasz Linux. przetestować nowe jądro w naszej dystry- umieszczenie na końcu pliku /boot/grub/
bucji. Przypuśćmy, że skompilowaliśmy grub.conf następujących linii:
Uruchamianie różnych samodzielnie jądro i nazwaliśmy je
systemów vmlinuz-new. Wówczas w pliku /boot/ title DOS lub Windows
Możliwości GRUB-a najlepiej wykorzysta- grub/grub.conf możemy na końcu dopi- rootnoverify (hd0,0)
my, jeśli mamy zainstalowane również inne sać następujące linie: chainloader +1
systemy operacyjne  bardzo wielu użyt-
kowników systemu spod znaku pingwi- title Aurox Linux (2.4.22-1a) Polecenie title już znamy. W linii rootno-
na korzysta również z Windows (choćby root (hd0,7) verify wskazujemy partycję, na której jest
54
luty 2005
dla początkujących
grub
umieszczony system, który chcemy zała- slice ma być zamontowany, to możemy Oczywiście, zamiast MEMTEST możemy
dować. Polecenie to różni się od polece- użyć postaci (hd1,0,a). wstawić inny odpowiadający nam tytuł.
nia root tym, że wskazana partycja nie Pamiętajmy, że te linie dotyczą wciąż
jest montowana. Polecenie chainloader Uruchamianie Memtest86+ naszego przykładu. Jeśli katalog /boot/
przekazuje kontrolę do następnego pro- Od czasu do czasu warto przetestować mamy na innej partycji, to musimy odpo-
gramu rozruchowego. Jak to działa? Jeśli pamięć naszego komputera, aby zawcza- wiednio dostosować wartości poleceń
na partycji /dev/hda1 mamy zainstalowa- su wykryć wszelkie problemy. Dwa naj- root i kernel.
ny tylko pojedynczy system (np. DOS lub lepsze programy przeznaczone do tego Po zapisaniu zmian możemy już zre-
Windows 98), to zostanie on uruchomio- celu to Memtest86 i Memtest86+. GRUB startować system, a w naszym menu
ny. Jeśli mamy na dysku zainstalowane może nam pomóc w ich uruchomieniu. powinna pojawić się nowa opcja  MEM-
systemy Windows 98 i Windows XP, to Wystarczy wybrać jeden z wymie- TEST. Jeśli ją wybierzemy, uruchomi się
program uruchomieniowy zainstalowany nionych programów, gdyż obydwa czer- program Memtest86+ i od razu rozpocz-
przez Windows XP potrafi obsłużyć oba pią nawzajem ze swoich kodów zródło- nie testowanie pamięci. Opcje programu
te systemy. Wystarczy więc w poleceniu wych. Osobiście polecam Memtest86+. są dostępne po wciśnięciu klawisza [c],
rootnoverify wskazać partycję, na której Najpierw musimy pobrać odpowied- natomiast klawiszem [ESC ] możemy zre-
jest zainstalowany program uruchomie- ni plik ze strony domowej programu startować komputer, jeśli nie mamy czasu
niowy Windows XP. Dzięki temu, po (http://www.memtest.org/ ). Odnajduje- na przeprowadzanie pełnego testu.
wybraniu w menu GRUB-a pozycji DOS my sekcję Download (Pre-built & ISOs),
lub Windows, zobaczymy kolejne menu, w której znajdują się już skompilowane Upiększanie GRUB-a
pozwalające nam wybrać pomiędzy Win- wersje. Następnie z sekcji odpowiada- Jeśli nie podoba nam się domyślny
dows 98 a Windows XP. jącej najnowszej wersji (w chwili pisa- wygląd menu GRUB-a, możemy spróbo-
nia artykułu była to wersja 1.40) pobie- wać je nieco ubarwić. Jedną z możliwo-
FreeBSD ramy plik znajdujący się pod odnośni- ści jest ustawienie lub zmiana rysunku
Systemy z rodziny FreeBSD możemy uru- kiem Download  Pre-Compiled Boota- wyświetlanego w tle. Ponadto, możemy
chamiać w analogiczny sposób, jak Win- ble Binary (.gz). Plik ma zaledwie dopasować kolory czcionki do naszych
dows i DOS, czyli korzystając z poleceń około 40 kB, więc jego pobieranie nie upodobań.
rootnoverify i chainloader. Możemy też powinno potrwać zbyt długo. Dla pew- Większość dystrybucji dostarcza
wskazać dokładnie na program /boot/ ności możemy sprawdzić, czy plik jest swoje własne tło dla GRUB-a, więc naj-
loader z pomocą następujących linii poprawny. W tym celu wchodzimy do prawdopodobniej mamy już w pliku kon-
w pliku /boot/grub/grub.conf : katalogu, w którym znajduje się nasz figuracyjnym odpowiednią opcję. Jest to
plik i wydajemy polecenie: linia o zawartości podobnej do poniż-
title FreeBSD szej:
root (hd1,a) # md5sum memtest86+-1.40.bin.gz
kernel /boot/loader splashimage=(hd0,7)/grub/splash.xpm.gz
Oczywiście, jeśli pobraliśmy nowszą
Widać tu użycie innego nazewnictwa. wersję, to musimy odpowiednio dosto- Linia ta opcji splashimage przypisuje plik
Wynika to stąd, że FreeBSD nazywa sować nazwę pliku. W wyniku powin- splash.xpm.gz znajdujący się w katalo-
swoje partycje literami alfabetu, niśmy otrzymać ciąg znaków (tzw. skrót gu /grub/ na partycji /dev/hda8 (a więc
a w dodatku wprowadza pojęcie slice MD5), który porównujemy z ciągiem w naszym przykładzie plik ten znajduje
(tzw. plastra  natywnej partycji Fre- znaków umieszczonym obok odnośni- się w katalogu /boot/grub/ ).
eBSD). Jeśli więc mamy FreeBSD zain- ka do pliku na stronie domowej progra- Jeśli w naszym pliku nie ma takiej
stalowane na pierwszej partycji drugie- mu. Jeśli oba ciągi są takie same, możemy linii, to należy ją dodać, odpowiednio
go dysku, to zapis (hd1,a) powinien być przystąpić do następnych czynności. dopasowując wartości. Linia ta powin-
odpowiedni. Wyszuka on pierwszy slice, Czas na rozpakowanie pliku. Doko- na być umieszczona przed pierwszą linią
na którym znajduje się partycja a. Jeśli nujemy tego poleceniem gzip -d mem- title. Możemy ją wstawić zaraz poniżej
chcemy dokładnie sprecyzować, który test86+-1.40.bin. Następnie uzyskujemy opcji timeout.
uprawnienia superużytkownika (wydaje- Powstaje pytanie, skąd wziąć rysunki.
my polecenie su - i podajemy hasło użyt- Jak widać, w opcji splashimage nie poda-
kownika root), po czym kopiujemy plik jemy plików w popularnych formatach,
memtest86+-1.40.bin do katalogu /boot/. takich jak PNG czy JPG. Zamiast tego,
Teraz pozostało nam odpowiednio zmo- mamy tu plik w formacie XPM, skompre-
dyfikować plik konfiguracyjny GRUB-a. sowany programem Gzip. To nie jedyne
Otwieramy go w naszym ulubionym edy- ograniczenie. Nasz obrazek może mieć
torze (np. Vim) i na końcu dopisujemy tylko 14 kolorów i rozdzielczość 640x480
dwie linie: pikseli. Nie brzmi to może zbyt zachęca-
jąco, ale zapewniam, że można przygo-
title MEMTEST tować interesujące rysunki spełniające
Rysunek 4. Memtest86+ zajmuje niewiele
root (hd0,7) te wymagania. Zacznijmy od obejrzenia
miejsca, lecz jest bardzo przydatny
kernel /memtest86+-1.40.bin kilku przykładowych rysunków.
55
www.lpmagazine.org
dla początkujących
Wybieranie tła i ponownie zatwierdzamy klawiszem
Na stronie http://vision.featia.net/linux/ [Enter]. I już mamy wyświetlone nasze
grubsplash/ możemy znalezć kilka przy- tło. Klawiszem [Esc] możemy wrócić do
kładów rysunków mogących posłu- menu, aby zobaczyć, jak wygląda. Jeśli
żyć za tło GRUB-a. Mamy tu do dys- będziemy chcieli wypróbować inne tła,
pozycji zarówno pliki w formacie GIF znów wciskamy klawisz [c] i postępujemy
(dzięki nim od razu możemy zapoznać tak, jak wcześniej (nie musimy ponownie
się z rysunkiem), jak i odpowiadające im używać polecenia root  wystarczy samo
pliki w formacie XPM.GZ. Pobierzmy je splashimage). No właśnie, ale pewnie
wszystkie na nasz dysk. Rysunki dostar- zapomnieliśmy już, jak się nazywa-
Rysunek 6. Nawet korzystając tylko z 14
czane z dystrybucją znajdują się w kata- ły poszczególne pliki. Nie martwmy się.
kolorów można stworzyć ładne rysunki
logu /boot/grub/, lecz jeśli umieścimy tam Linia poleceń GRUB-a obsługuje uzupeł-
również nasze, może powstać bałagan. nianie nazw, więc możemy wpisać słowa Powyższa metoda jest szybka,
Zamiast tego, utworzymy podkatalog splashimage / (pamiętajmy o znaku / ), lecz czasem uzyskane rezultaty wołają
splashes/ poleceniem mkdir /boot/grub/ a następnie wcisnąć klawisz [Tab]. Pojawi o pomstę do nieba. Lepszym rozwiąza-
splashes/ (oczywiście, potrzebujemy się nam spis dostępnych nazw katalo- niem jest uruchomienie programu GIMP,
do tego uprawnień użytkownika root). gów i plików. W ten sposób dopisujemy wczytanie pliku, który chcemy konwer-
Następnie do tego katalogu kopiuje- dalszy ciąg ścieżki (/grub/splashes/ lub tować, a następnie zmiana rozmia-
my wszystkie pobrane pliki z końców- /boot/grub/splashes/  zależnie od naszej ru obrazu (Obraz >Przeskaluj obraz)
ką .xpm.gz. konfiguracji) i znów wciskamy klawisz i liczby kolorów (Obraz >Tryb > Indek-
Wydawałoby się, że powinniśmy [Tab] w celu wyświetlenia nazw plików sowany). Dzięki temu możemy poeks-
teraz zmodyfikować plik /boot/grub/ z tłami. perymentować z różnymi opcjami
grub.conf i w linii z opcją splashimage Gdy już się zdecydujemy na konkret- obrazu. Ponadto, może okazać się, że
podać nową ścieżkę do pliku. Owszem, ne tło, możemy uruchomić system (wy- konieczne będzie ręczne poprawianie
można to zrobić, wstawiając przykłado- chodzimy klawiszem [Esc] aż do menu całego rysunku, zanim uzyskamy zado-
wo taką linię: i wybieramy pozycję z naszym Linuk- walający efekt.
sem), a następnie dopisać odpowiednią Innym wyjściem jest stworzenie
S
splashimage=(hd0,7)/grub/splashes/ linię do pliku /boot/grub/grub.conf. pustego rysunku o wymiarach 640x480
seachair.xpm.gz i palecie 14 kolorów, a następnie nary-
Tworzenie własnego tła sowanie na nim tego, co nam się
Jeśli jednak chcemy sami poeksperymen- Oprócz gotowych plików z tłami, które podoba. Nie każdy jednak ma żyłkę
tować i sprawdzić, które tło najbardziej można znalezć w Internecie, każdy artystyczną.
nam odpowiada, to ciągłe restartowa- pewnie chciałby mieć możliwość stwo- Wybór metody zależy od nas. Z uzy-
nie systemu i modyfikowanie jednej linii rzenia całkiem własnego. Oczywi- skanym plikiem postępujemy tak, jak to
może być męczące. Na szczęście, można ście, nic nie stoi na przeszkodzie. Jeśli opisaliśmy w rozdziale Wybieranie tła.
to zrobić inaczej. Gdy już zrestartujemy chcemy po prostu przekonwertować Niektórzy Czytelnicy mogą zaintere-
system i powita nas menu GRUB-a, wci- posiadany obrazek do skompresowane- sować się, dlaczego kompresujemy tła
skamy klawisz [c]. W ten sposób przej- go formatu XPM, możemy wydać pole- przed wykorzystaniem ich w GRUB-ie.
dziemy do linii poleceń GRUB-a, która cenia: Można wykorzystać również pliki XPM
szerzej jest opisana w rozdziale Obsłu- nieskompresowane programem Gzip.
S
ga. W linii tej najpierw wpisujemy root # convert -resize 640x480 -colors 14 Różnica będzie dla nas w sumie nieod-
(hd0,7), a następnie wciskamy [Enter]. picture.jpg picture.xpm czuwalna, lecz dla zasady lepiej kom-
Pamiętamy, że polecenie to ustawia par- # gzip picture.xpm presować. Przy obecnych komputerach
tycję wykorzystywaną w następnych mniej czasu zajmuje wczytanie z dysku
poleceniach. Pózniej wpisujemy splash- Polecenie convert należy do pakietu Ima- skompresowanego (a więc i mniejsze-
image /grub/splashes/seachair.xpm.gz geMagick. Jeśli nie jest on zainstalowany go) pliku, a następnie rozkompreso-
w naszym systemie, możemy go zainsta- wanie go w pamięci, niż wczytanie
lować z płyt dystrybucji lub z repozyto- z dysku większego pliku, nie poddane-
rium (analogicznie, do instalacji pakietu go kompresji.
GRUB-a). Opcja -resize 640x480 powo-
duje zmianę rozdzielczości rysunku do Dobór kolorów
wymaganego rozmiaru, a opcja -colors 14 Oprócz ustalenia własnego tła, możemy
redukuje paletę kolorów do czternastu. pokusić się o zmianę kolorów czcion-
Nazwy picture.jpg i picture.xpm to odpo- ki wykorzystywanej w menu. Służą do
wiednio nazwy pliku wejściowego tego opcje foreground i background
(z konwertowanym rysunkiem) i wyjścio- ustawiane w początkowej części pliku
wego (z tłem dla GRUB-a). Drugim pole- /boot/grub/grub.conf (możemy je umie-
Rysunek 5. Rysunek na tło powinniśmy
ceniem kompresujemy rysunek progra- ścić nawet przed opcją splashimage).
dobrać tak, aby menu było czytelne
mem Gzip. Opcje te przyjmują jako parametry kolory
56
luty 2005
dla początkujących
grub
Modyfikacja pozycji menu poleceń, z których korzystaliśmy podczas
Przypuśćmy, że chcemy poekspery- tworzenia menu  chainloader, kernel,
mentować z innymi parametrami jądra. initrd, root i inne. Jak więc widać, linię
Możemy w tym celu utworzyć nowe poleceń również możemy wykorzystać
sekcje title w pliku konfiguracyjnym. do uruchamiania systemów zainstalo-
Lepszym rozwiązaniem jest modyfikacja wanych na naszym komputerze. Zresztą,
parametrów jądra podczas uruchamia- gdybyśmy nie utworzyli pliku konfigura-
nia systemu. Jak tego dokonać? Prze- cyjnego /boot/grub/grub.conf, to przy uru-
suńmy zaznaczenie w menu na pozycję chamianiu komputera moglibyśmy korzy-
naszej dystrybucji Linuksa. W naszym stać tylko z linii poleceń GRUB-a. Jeśli
Rysunek 7. Skrypt Grubconfig może nam
przykładzie jest to linia Aurox Linux w takim przypadku chcielibyśmy urucho-
ułatwić konfigurowanie GRUB-a
(2.4.22-1). Zamiast wcisnąć [Enter], wci- mić Memtest86+ (zainstalowany zgodnie
skamy klawisz [e]. Zobaczymy wyświe- z wcześniej podanymi wskazówkami),
zapisane w szesnastkowym formacie RGB tloną zawartość tej sekcji title. Pomię- musielibyśmy wydać następujące pole-
(Red, Green, Blue). Jeśli będziemy chcie- dzy liniami możemy przemieszczać się cenia:
li uzyskać białe litery z czarnym tłem, to podobnie jak w menu. Jeśli chcemy
użyjemy opcji: zmodyfikować jakąś linię, wciskamy root (hd0,7)
[Enter]. Spróbujmy w linii z poleceniem kernel /memtest86+-1.40.bin
foreground ffffff kernel dopisać opcję jądra vga=791. boot
background 000000 W naszym przykładzie linia wygląda-
łaby tak: Jedyna różnica pomiędzy zawartością
Oczywiście, możemy też używać innych grub.conf i poleceniami przy ręcznym
S
kolorów, jak czerwony (ff0000), zielo- kernel /vmlinuz-2.4.22-1 uruchamianiu systemu, to dodatkowe
ny (00ff00), niebieski (0000ff ) i inne. ro root=LABEL=/ vga=791 polecenie boot powodujące załadowanie
Jeśli chcemy w wygodny sposób dopa- wskazanego jądra.
sować kolory do naszego tła i gustu, Zmiany zatwierdzamy klawiszem [Enter]. Warto pamiętać, że w czasie wprowa-
możemy wykorzystać tę samą metodę, Wprowadzona właśnie opcja powoduje, dzania poleceń i nazw plików możemy
którą stosowaliśmy przy wybieraniu tła. że system, zamiast w standardowym korzystać z autouzupełniania  wystar-
Tym razem, po wejściu do linii poleceń trybie tekstowym, uruchomi się z wyko- czy wcisnąć klawisz [Tab], a wyświetlone
GRUB-a, wydajemy odpowiednie pole- rzystaniem bufora ramki, ustawiając roz- zostaną możliwe wartości.
cenia foreground ffff00 i background dzielczość ekranu na 1024x768 pikseli Do czego jeszcze może przydać się
ff00ff (oczywiście, eksperymentując z ponad 16 tysiącami kolorów. nam linia poleceń? Z pomocą polecenia
z kolorami). Jeśli chcielibyśmy dodać nową cat możemy sprawdzić zawartość dowol-
Oprócz tego, istnieje możliwość linię, możemy skorzystać z klawiszy [o] nego pliku, np. cat /etc/fstab. Wynika
zmiany koloru podświetlenia i tła i [O ]. Pierwszy z nich powoduje doda- z tego, że osoba mająca dostęp do linii
menu. Wykorzystywane jest do tego nie nowej linii po aktualnie zaznaczo- poleceń GRUB-a może przeczytać prak-
polecenie color, które możemy umie- nej linii, a drugi  przed nią. Niepo- tycznie dowolny plik (np. /etc/shadow
ścić w pliku konfiguracyjnym przed trzebne linie możemy skasować klawi- zawierający zakodowane hasła). Tym
poleceniami foreground i backgro- szem [d ]. jednak będziemy się martwić za chwilę,
und. Listę kolorów dostępnych w tym Gdy jesteśmy już zadowoleni z wpro- w rozdziale Zabezpieczenia. Niezależnie
poleceniu można uzyskać korzysta- wadzonych zmian, wciskamy klawisz od zagrożeń, polecenie cat może przy-
jąc z polecenia help color w linii pole- [b], co powoduje uruchomienie edyto- dać się nam, jeśli w czasie eksperymen-
ceń GRUB-a (jak również w dokumen- wanej pozycji wraz z wprowadzonymi tów będziemy chcieli sprawdzić jakieś
tacji GRUB-a  info grub). Przykładowe zmianami. Jeśli wolimy zrezygnować ze ustawienia.
wywołanie tego polecenia (dające cał- zmian, możemy klawiszem [Esc] wrócić Inne przydatne polecenie to find,
kiem przyjemny kolor) ma postać: color do głównego menu. pozwalające nam sprawdzać, na której
cyan/blue white/blue. partycji znajduje się wskazany plik.
Linia poleceń Powinniśmy podawać bezwzględną
Obsługa Jeszcze większe możliwości daje nam linia ścieżkę do pliku, np. find /boot/grub/
Jeśli zainstalowaliśmy GRUB-a na poleceń dostępna w GRUB-ie. Korzystali- stage1 lub find /grub/stage1  polece-
dysku i stworzyliśmy dla niego plik śmy z niej już w rozdziale Wybieranie nie to zwróci nam nazwę partycji, jaką
konfiguracyjny, to podczas uruchamia- tła, lecz teraz opiszemy ją bardziej szcze- powinniśmy wpisać w linii root w pliku
nia komputera powinno nas przywi- gółowo. Aby się do niej dostać, w menu konfiguracyjnym GRUB-a.
tać menu GRUB-a. Możemy poruszać GRUB-a wciskamy klawisz [c]. Mamy tu Warto zapoznać się z innymi pole-
się po nim z pomocą strzałek kurso- do dyspozycji cały szereg mniej lub bar- ceniami. Bardzo przydatna jest pomoc,
ra, a klawiszem [Enter] wybierać pozy- dziej przydatnych poleceń. Ich spis uzy- którą możemy uzyskać wpisując help
cję, którą chcemy uruchomić. Oprócz skamy wciskając po prostu klawisz [Tab]. nazwa_polecenia.
tego, mamy jednak do dyspozycji kilka Z pewnością zwrócimy uwagę, że na Linię poleceń GRUB-a można rów-
innych funkcji. spisie znajduje się wiele znanych nam już nież uruchomić z konta użytkownika root
57
www.lpmagazine.org
dla początkujących
wpisując polecenie grub. Mamy wówczas były dostępne tylko dwie możliwości Jeśli chcemy całkiem uprościć sobie
podobne możliwości, jak w opisywa-  uruchomienie jednego z systemów ustawianie tła menu GRUB-a, możemy
nej wyżej linii poleceń, lecz oczywiście lub wciśnięcie klawisza [p]. Jeśli po skorzystać z programu GrubTk. Wystar-
z niektórych poleceń nie możemy korzy- wciśnięciu klawisza [p] podamy pra- czy w nim podać tylko nazwę pliku
stać (dotyczy to przykładowo polecenia widłowe hasło (to, które wpisywaliśmy z rysunkiem, a program zajmie się
splashimage). w poleceniu md5crypt), to dopiero resztą.
wtedy uzyskamy dostęp do możliwości A jeśli chcemy zobaczyć, do czego
Zabezpieczenia opisywanych w rozdziale Obsługa. jeszcze można wykorzystać GRUB-a, to
Menu oferowane przez GRUB-a jest Nadal użytkownik może urucho- zainstalujmy sobie grę GRUB Invaders.
bardzo wygodne, lecz czasem daje zbyt mić dowolną pozycję w menu, a to nie Jest ona uruchamiana przez GRUB-a
wiele możliwości. Jak przekonaliśmy zawsze musi nam odpowiadać. Skoro i nie wymaga do działania żadnego
się w poprzednim rozdziale, użytkow- już mamy ustalone hasło, wystarczy systemu operacyjnego.
nik mający dostęp do GRUB-a może teraz w sekcji title, którą chcemy zablo-
dowolnie zmieniać parametry wywo- kować, umieścić polecenie lock. Musi Zakończenie
łania systemu, a nawet uzyskać dostęp ono być umieszczone od razu pod linią Wydawałoby się, że program urucho-
do chronionych plików. Na szczęście, title, gdyż użytkownik może wykony- mieniowy to proste narzędzie pozwa-
GRUB pozwala na zablokowanie takie- wać wszystkie polecenia aż do napo- lające tylko wskazać, który system ma
go dostępu. tkania polecenia lock. W tym momen- być uruchomiony. Tymczasem, okazuje
Służy do tego hasło broniące dostę- cie zostaje zapytany o hasło i dopóki się, że jest to program, który możemy
pu do edycji pozycji w menu, jak rów- nie poda prawidłowego, nie będzie stosunkowo łatwo dopasować do
nież do linii poleceń. Jeśli chcemy, mógł wykonać dalszych poleceń. Jak swoich potrzeb. Z jego pomocą uru-
to nawet uruchomienie poszczegól- więc widać, umieszczanie polecenia chomimy nie tylko systemy, ale rów-
nych systemów może wymagać poda- lock na końcu sekcji title zazwyczaj nież takie programy, jak Memtest86.
nia hasła. mija się z celem  lepiej umieścić je na GRUB może stanowić barierę bronią-
Jeśli chcemy zabezpieczyć w ten początku. cą innym użytkownikom dostępu do
sposób nasz system, to  oczywiście  Należy zaznaczyć, że zabezpieczenie naszego systemu, równocześnie nie
potrzebujemy do tego uprawnień użyt- to nie jest doskonałe. Nie można liczyć, zmniejszając naszej wygody obsługi.
kownika root. Najpierw wygenerujemy że założenie hasła na GRUB-a zabezpie- Dodatkowo, może witać nas naszym
nasze hasło. Uruchamiamy linię pole- czy nas przed niecnymi zamiarami osób ulubionym rysunkiem. Warto zapoznać
ceń GRUB-a  grub. Tym razem sko- mających bezpośredni dostęp do kom- się z jego dokumentacją i poznać inne
rzystamy z polecenia md5crypt. Po jego putera. Zawsze jednak może zwiększyć jego funkcje.
wydaniu zostaniemy zapytani o hasło. wygodę korzystania z komputera oraz
Wpisujemy je (niech tylko nie będzie zabezpieczyć nas przed mniej doświad-
zbyt łatwe do odgadnięcia) i wciskamy czonymi użytkownikami.
W Internecie:
[Enter]. W odpowiedzi zobaczymy linię
z zakodowanym hasłem. Ułatwianie konfiguracji
" Strona domowa GRUB-a:
Teraz edytujemy nasz plik konfigu- Jeśli nie chcemy ręcznie zmieniać pliku
http://www.gnu.org/software/grub/
racyjny (np. vim /boot/grub/grub.conf) konfiguracyjnego GRUB-a, możemy
" GNU GRUB splashimage howto:
i na jego początku umieszczamy linię skorzystać z jednego z konfigurato-
http://ruslug.rutgers.edu/~mcgrof/
o treści: rów. Najlepszym rozwiązaniem wydaje
grub-images/
się być moduł Webmina dostępny " Różne tła dla menu GRUB-a:
S
http://vision.featia.net/linux/
password --md5 w sekcji Sprzęt >Inicjator systemu
grubsplash/
$1$ikVvf0$naEIsTUTM5yM1MYrx3Ms7. GRUB. Oprócz tego, mamy do dyspo-
" Strona domowa Memtest86:
zycji działający w trybie tekstowym
http://www.memtest86.com/
Oczywiście, zamiast podanej tu warto- skrypt Grubconfig oraz przeznaczony
" Strona domowa Memtest86+:
ści należy wkleić wynik działania pole- dla środowiska graficznego program
http://www.memtest.org/
cenia md5crypt. Wykorzystanie podanej GrubConf. Pierwszy z nich jest mało
" Strona domowa skryptu Grubconfig:
wyżej wartości nie jest dobrym pomy- intuicyjny, lecz ma kilka ciekawych
http://www.tux.org/pub/people/kent-
słem, gdyż jest to zakodowane słowo opcji, a przy tym nie wymaga instala-
robotti/looplinux/index.html
password. Skoro w pliku przechowu- cji  wystarczy rozpakować archiwum
" Strona domowa programu GrubConf:
jemy hasło, powinniśmy się upewnić, i można go uruchomić.
http://grubconf.sourceforge.net/
że nie będzie ono łatwe do odczytu. Osoby samodzielnie kompilują- " Strona domowa programu Install
W tym celu ustawiamy odpowiednio ce jądro prawdopodobnie zainteresu- Kernel:
http://installkernel.tripod.com/ik/
prawa dostępu do pliku: ją się programem Install Kernel, który
index.html
nie tylko zwalnia nas od konieczności
" Strona domowa programu GrubTk:
# chmod 600 /boot/grub/grub.conf wykonania szeregu poleceń, ale rów-
http://freshmeat.net/projects/grubtk/
nież automatycznie uaktualnia konfi-
" Strona domowa gry GRUB Invaders:
Ta zmiana wystarczy, aby przy urucha- gurację programów uruchomieniowych
http://www.erikyyy.de/invaders/
mianiu komputera w menu GRUB-a (oprócz GRUB-a, obsługuje też LILO).
58
luty 2005


Wyszukiwarka

Podobne podstrony:
NF 2005 02 siła wizji
2005 02 33
2008 02 Multimedia dla początkujących użytkowników [Poczatkujacy]
2009 02 Podstawy MySQL [Poczatkujacy]
2005 02 26
2005 02 All on Board Kontact with Imap Based Calendar and Address Management
NF 2005 02 tatuaż
NF 2005 02 podróżnicy
NF 2005 02 interesy nie idą dobrze
2005 02 Ready for Press Templates and Pdfs in Scribus
NF 2005 02 paszcza
2005 02 32
2005 02 A New Kind of Fish
2005 02 38
NF 2005 02 test
2005 02 Linux on a Stick Booting Linux from a Usb Memory Stick
2005 02 Scratchbox–narzędzie do kompilacji skrośnej [Programowanie]
NF 2005 01 kurs dla początkujących

więcej podobnych podstron