Dla Początkujących
GRUB
GRUB
Sylwester Zdanowski
GRUB, czyli Grand Unified Bootloader, to menadżer bootowania systemu pozwalający uruchomić
dowolny system z każdego zainstalowanego w komputerze dysku. Stojąc pomiędzy procedurą POST
komputera, a załadowaniem jądra systemu. Posiada on większe możliwości niż samo uruchomienie
systemu.
RUB jest boot loaderem ładującym system specyfikacją multiboot miał być lekarstwem na mnogość nie-
operacyjny. Stwierdzenie krótkie i prawdzi- kompatybilnych ze sobą sposobów uruchamiania systemów.
we, jak jednak program działa i dlaczego jest Erich zaczął od modyfikowania boot loadera FreeBSD,
Gpotrzebny? Po włączeniu komputera BIOS doszedł jednak do wniosku, iż łatwiej będzie napisać nowy
potrafi odczytać jedynie pierwsze 512 bajty urządzenia, z program niż rozwijać istniejące narzędzie. Nowo powsta-
którego ma być uruchomiony system. Jest to główny sektor łym programem był GRUB. Opiekę nad programem w ro-
rozruchowy (ang. MBR). W sytuacji, gdy na dysku znajduje ku 1999 przejęli Gordon Matzigkeit i Yoshinori K. Okuji,
się większa ilość systemów, jest to niewystarczające. przyjmując program jako oficjalny pakiet GNU.
Ze względu na niewielkie możliwości BIOS-u, wyko- Specyfikacja multiboot ujednolicająca sposób urucha-
rzystywany on jest jedynie do ładowania pierwszej części miania systemu została przyjęta przez systemy Linux, Fre-
boot leadera. Część ta pozwala na wczytanie właściwej czę- eBSD, NetBSD, Mach, VSTa. Jednak możliwość urucha-
ści programu przez niektórych nawet zwanej minimalnym miania różnych systemów operacyjnych nie jest wyłączną
systemem operacyjnym. W tym miejscu program lądujący, cechą GRUB-a. Znacznie starszy boot loader LILO rów-
zależnie od swoich możliwości, pozwala na interakcje. nież nie ma z tym problemów. Nie posiada on jednak wielu
możliwości GRUB-a:
Historia GRUB-a
Idea stworzenia boot loadera o większych możliwościach niż " nie dysponuje linią poleceń;
dostępne programy powstała w roku 1995, gdy Erich Boleyn " nie wspiera uruchamiania systemu przez sieć;
próbował uruchomić na jednej maszynie GNU HURD razem " zmiana konfiguracji wymaga nadpisania MBR, w efek-
z mikrokernelem Mach 4. W efekcie tych starań postanowił ra- cie niemożliwe może stać się uruchomienie boot lo-
zem z Brianem Fordem stworzyć uniwersalny boot loader po- adera. W przypadku GRUB-a nie uruchomi on się je-
zwalający uruchamiać wiele systemów. Program ten wraz ze dynie po nadpisaniu MBR przez inny system.
12 kwiecień 2009
linux@software.com.pl
Dla Początkujących
GRUB
Dzięki tej przewadze GRUB stał się najpopu- Ostatni parametr linii siódmej, ram- stać z ram dysków. Pozwala on kontrolować
larniejszym boot loaderem. disk_size, jest przydatny jeżeli chcemy korzy- rozmiar, jaki otrzyma domyślnie taki dysk.
Podstawowe parametry Listing 1. Przykład pliku menu.lst
Na dużą elastyczność pozwala GRUB-owi od- 1:Default 0
czytywanie plików z dysku twardego.
Zazwyczaj jest on instalowany jednorazo- 2:timeout 6
wo razem z systemem. W przypadku dwóch
systemów na jednym dysku, jak Windows i 3:color cyan/blue white/blue
Linux, kwestią czasu jest konieczność reinsta-
lacji GRUB-a. Wówczas przydaje się wiedza 4:splashimage=(hd0,1)/boot/grub/splash.xpm.gz
o tym w jaki sposób pracuje Boot loader.
Sposób ładowania systemu i przyjmowa- 5:title Debian Lenny
ne parametry można łatwo zrozumieć na przy-
kładzie pliku menu.lst, widocznego na Listin- 6:root (hd0,0)
gu 1, z którego przy każdym uruchomieniu
komputera GRUB pobiera konfiguracje. 7:kernel /vimlinuz-2.6.27.2 root=/dev/hda2 ro quiet vga=0x303 ramdisk_
Pierwsze dwie linie określają domyślne size=64000
zachowanie GRUB-a, po 6 sekundach załaduje
on pierwszy wymieniony system operacyjny. 8:initrd /initrd.img-2.6.27.2
W linii 3 możliwe jest zdefiniowanie schematu
kolorów z jakich korzysta program. Jego wy- 9:title Windows
gląd można zmienić przez dołączenie przezna-
czonego do tego celu pliku graficznego. Załą- 10:rootnoverify (hd0,0)
czony w linii 4 plik umieszczony jest na dysku
sda1. Widać tutaj, iż GRUB nie rozróżnia dys- 11:makeactive
ków ATA, SATA czy SCSI, zawsze korzysta z
oznaczenia hd z odpowiednią cyfrą. Widoczny 12:chainloader +1
na Rysunku 1 obraz dla GRUBA można zna-
lezć na stronie: http://www.queervisions.com/
arch/2007/04/9_grub_splash_i.html.
W linii 5 znajduje się wyświetlana przez
GRUB-a nazwa ustawiona dla systemu, które-
go dotyczą kolejne parametry. W linii 6 opcja
root określa, na którym dysku i której partycji
znajduje się system do załadowania. Pierwsza
cyfra oznacza dysk, druga zaś numer partycji.
W linii 7 znajduje się nazwa pliku zawie-
rającego jądro systemu oraz położenie głów-
nej partycji. Warto zwrócić uwagę, iż jest ona
już podana w zwykłej notacji hda, nie hd.
Opcja ro nakazuje montowanie partycji tyl-
ko w trybie do odczytu. Umożliwia to kon-
trolę partycji przez program fdisk. Następna
opcja quiet wyłącza znaczną część informa-
cji jakie mogą zostać wyświetlone na moni-
torze w trakcie uruchamiania. Kolejna opcja,
vga, pozwala na wybór rozdzielczości z jaką
będzie pracowała konsola. Możliwe parame-
try znajdują się w Tabeli 1.
Działanie tej opcji jest jednak powiąza- Rysunek 1. Zmieniony wygląd GRUBA-a
ne ze skompilowanymi elementami jądra oraz
Tabela 1. Parametry opcji vga określającej parametry graficzne konsoli
posiadanymi czcionkami. Nie należy łączyć
jej działania ze środowiskiem graficznym, 640x480 800x600 1024x268 1280x1024
szczególnie jeżeli zostały dla niego wgra-
256 0x301 0x303 0x305 0x307
ne dodatkowe sterowniki karty graficznej. W
32k 0x310 0x313 0x316 0x319
przypadku niektórych kart graficznych wyko-
64k 0x311 0x314 0x317 0x31A
rzystanie tej opcji będzie stwarzało problemy,
16M 0x312 0x315 0x318 0x31B
w innych po prostu będzie działać.
www.lpmagazine.org 13
Dla Początkujących
GRUB
W linii 8 znajduje się nazwa ram dysku, przypadku aktualizacji GRUB-a. Zapobiec dowania wybrać wpis, który chcemy zmodyfi-
który zostanie załadowany. Jego zawartość za- temu można wpisując konfigurację w do- kować i wcisnąć literę e. Wyświetlone zostaną
leży od sposobu w jaki zbudowane zostało ją- myślne ustawienia. Należy w tym celu od- informacje dotyczące ładowania systemu. Po-
dro systemu. nalezć w pliku menu.lst sekcje Start Default niżej na ekranie znajduje się opis, w jaki spo-
W linii 9 rozpoczyna się część odpowiedzial- Options, i w niej zapisać ustawienia. Waż- sób modyfikować i dodawać nowe linie. Słu-
na za uruchomienie systemu Windows. Jest ona ne jest, aby nie usuwać komentarza z po- żą temu litery e oraz o. Wszystkie nowe pa-
poprawna pod warunkiem, że system znajduje się czątku linii. rametry dotyczące ładowania systemu można
na partycji hda1. Opcja chainloader służy przej- w ten sposób przetestować bez ryzyka poważ-
ściu do boot loadera systemu Windows. GRUB Problemy z GRUB-em nych problemów.
nie uruchamia tego systemu bezpośrednio. Problemy z GRUB-em przeważnie są spowo- Najgorszą możliwą sytuacją jest jednak
GRUB daje znacznie więcej możliwości dowane instalacją drugiego systemu. Drugą całkowite zastąpienie GRUB-a w głównym
konfiguracji, niż zostało wykorzystane w po- możliwością jest wprowadzenie niewłaściwe- sektorze rozruchowym przez inny program ła-
danym przykładzie. go parametru do pliku menu.lst. dujący. Sytuacja taka jest normalna przy in-
Pełen opis przyjmowanych przez boot lo- Przed drugą możliwością można chronić stalacji systemu Windows. Jeżeli już do tego
adera parametrów można znalezć na stronie: się w bardzo prosty sposób. W trakcie urucha- doszło, istnieje kilka dróg ratunku. Najszyb-
http://www.linuxselfhelp.com/gnu/grub/html_ miania systemu boot loader pozwala na mo- szą metodą jest uruchomienie dyskietki ratun-
chapter/grub_toc.html. W Tabeli 2 znajdują się dyfikacje parametrów bez ich zapisywania. kowej, którą można przygotować na spraw-
jedynie wybrane parametry. W efekcie, system uruchomi się z nimi tyl- nym systemie za pomocą trzech poleceń z Li-
Wprowadzane w taki sposób zmiany do ko raz. Aby dokonać takiej jednorazowej mo- stingu 2.
pliku menu.lst zostaną jednak usunięte w dyfikacji wystarczy z listy systemów do zała- Tak utworzona dyskietka da możliwość
ponownej instalacji GRUBa na dysku twar-
dym.
Uruchomiona z dyskietki konsola posiada
możliwości służące tylko i wyłącznie do pra-
cy z GRUB-em. Listę wszystkich poleceń, jak
i możliwości uzupełnienia wpisywanych pole-
ceń, można otrzymać przez wciśnięcie klawi-
sza Tab. Przed wgraniem boot loadera należy
zamontować właściwą partycję, a następnie
dopiero zainstalować program. Ustalić, któ-
ra partycja na dysku jest prawidłowa. Moż-
na to zrobić za pomocą polecenia find. Prawi-
dłową odpowiedz na to polecenie widać na Li-
stingu 3.
Po prawidłowym wykonaniu tej czynno-
ści, przy starcie systemu pojawi się GRUB. Je-
żeli z jakiegoś powodu nie będzie chciał uru-
chamiać systemu, możliwa jest już edycja bez
użycia dyskietki.
Jeżeli nie posiadamy dyskietki, istnieje
nieco bardziej złożona możliwość z wykorzy-
staniem dystrybucji LiveCD.
Po uruchomieniu systemu z płyty należy
Rysunek 2. Położenie programu do tworzenia systemu na USB
zamontować partycję zawierającą GRUB-a.
Następnie wydać polecenia widoczne na Li-
Tabela 2. Wybrane opcje konfiguracji GRUB-a
stingu 4, przy założeniu, że zamontowaliśmy
parametr opis
dysk do katalogu hda.
com1=115200, 8n1
Opcja ta zamienia pierwszy port szeregowy w kon- Jeżeli problem był spowodowany instala-
sole szeregową.
cją Windowsa, powyższe postępowanie przy-
fallback 1
Jeżeli uruchomienie domyślnego systemu nie po- wróci okno GRUB-a przy starcie systemu,
ale niekoniecznie będzie on uruchamiał Li-
wiedzie się, program spróbuje uruchomić drugą
nuksa. Jeżeli Linux w dalszym ciągu nie bę-
wskazaną konfigurację
dzie chciał się uruchomić, będzie to oznacza-
hiddemenu
Pozwala ukryć menu GRUB-a
ło zmianę partycji. Należy wówczas edytować
mem=1024M
Przekazuje do jądra systemu jak dużo pamię-
plik menu.lst i zmienić partycję root.
ci podręcznej znajduje się w systemie. W przykła-
Skuteczną metodą unikania powyższych
dzie 1GB użyteczne, gdy system nie wykrywa ca-
czynności naprawczych może być instalacja
łej pamięci
systemu Windows przy użyciu dyskietki star-
password
Pozwala na zabezpieczenie GRUB-a hasłem
towej. Jeżeli dyskietka taka zostanie urucho-
14 kwiecień 2009
Dla Początkujących
GRUB
miona po starcie GRUB-a, może on zmie- Ratunek z USB kie czynności, wystarczy jedynie podłączyć
nić ustawienie partycji, jakie będzie dostęp- Problem z ratowaniem boot loadera powsta- do komputera pendrive 2GB lub większy.
ne dla systemu Windows. W efekcie, nieza- je, gdy dysponujemy laptopem bez stacji dys- W zależności od wykorzystywanego pendri-
leżnie na którą partycję zostanie zainstalowa- kietek i bez napędu CD-ROM. Sytuacja taka ve'a należy przygotować się na długi czas wy-
ny, będzie uważał, iż znajduje się na pierw- nie jest niczym nadzwyczajnym w przypadku konywania tej operacji.
szej. Ponadto nie nadpisze posiadanego bo- niewielkich laptopów wyposażonych w napęd Metoda ta kryje jednak pewną pułapkę.
ot loadera. Metoda ta niestety jest skuteczna podłączany poprzez złącze USB. Ubuntu uruchamiane z płyty CD ma problemy
tylko dla systemów opierających się przy in- Z ratunkiem przychodzi dystrybucja z obsługą niektórych pendriv'ów. Przykładem
stalacji na informacjach przekazanych przez Ubuntu w wersji 8.10. Można ją pobrać pod jest Kingston DataTraveler 400 2GB. W jego
BIOS. Konfiguracja takiej opcji znajduje się adresem http://releases.ubuntu.com/releases/ przypadku kopiowanie plików zostaje prze-
na Listingu 5. 8.10/ubuntu-8.10-desktop-i386.iso. Przy rwane najdalej po wykonaniu kilku procent.
W linii 2 i 3 na Listingu 5 mapowane są czym należy również zaopatrzyć się w plik z Z kolei metoda ta sprawdzi się dla karty micro
dwie partycje w taki sposób, aby system Win- sumą kontrolną w celu sprawdzenia popraw- SDHC 4GB firmy SanDisk.
dows widział je na zamienionych pozycjach. ności obrazu. Po wypaleniu i uruchomieniu Alternatywną możliwością jest wy-
Identyczne działanie mają linie 7 i 8 wykorzy- płyty dostępny jest program Create USB star- korzystanie systemu Windows i progra-
stywane przy uruchamianiu instalacji z dys- tup. Jego położenie w systemie widoczne jest mu Ubuntu810PL do pobrania pod adresem
kietki. na Rysunku 2. Program sam wykona wszyst- http://www.pendrivelinux.com/downloads/
Ubuntu810P.exe. Należy pamiętać, aby w ka-
Listing 2. Tworzenie dyskietki ratunkowej
talogu, do którego rozpakowany zostanie pro-
1: cd /boot/grub gram, umieścić obraz płyty Ubuntu. Jeżeli
2: dd if=stage1 of=/dev/fd0 bs=512 count=1 program nie znajdzie obrazu płyty, rozpocz-
3: dd if=stage2 of=/dev/fd0 bs=512 seek=1 nie jego pobieranie przez internet.
Przygotowany w powyższy sposób pen-
Listing 3. Wyszukiwanie partycji zawierającej GRUB-a drive można wykorzystać do ratowania bo-
1: find (hd0,0)/grub/stage1 ot loadera w sposób identyczny jak system
2: (hd0,0) z płyty. Metoda ta ma jednak pewna przewagę.
3: (hd0,4) System taki można dostosować do własnych
4: (hd1,0) upodobań i wyposażyć w dowolne dostępne
5: root (hd0,0) narzędzia. Daje on również możliwość pracy
6: setup (hd0) na dowolnym komputerze z własnym syste-
mem operacyjnym.
Listing 4. Przywracanie GRUB-a z LiveCD
1: chroot hda Podsumowanie
2: grub GRUB stanowi potężne narzędzie. Powyżej
3: root (hd0,0) przedstawione informacje dają jedynie pogląd
4: setup (hd0) na jego możliwości. Ze względu na swoje zna-
czenie dla funkcjonowania systemu jak i jego
Listing 5. Mapowanie dysku dla systemu Windows 98 bezpieczeństwa powinien on być znany każ-
1: title Windows 98 demu użytkownikowi systemu. Osoby chcące
2: map (hd0,0) (hd0,2) sięgnąć głębiej niż podstawowe funkcje mo-
3: map (hd0,2) (hd0,0) gą wykorzystać mogą wykorzystać GRUB-a
4: rootnoverify (hd0,2) do uruchomienia systemu z niemal dowolne-
5: chainloader +1 go nośnika.
6: title DOS Boot Disk Program ten jeszcze długo będzie najlep-
7: map (hd0,0) (hd0,2) szym narzędziem do wykonywanej przez sie-
8: map (hd0,2) (hd0,0) bie pracy. dlatego też warto poznać go lepiej
9: chainloader (fd0)+1 niż pozwala na to ten artykuł.
O autorze
Absolwent technikum policealnego na kie-
W Sieci
runku informatyki w Szczecinie. Obecnie
student 2 roku Europeistyki na Uniwersy-
" http://www.gnu.org/software/grub/manual/grub.txt podręcznik GRUB-a;
tecie Szczecińskim. Od ponad roku pra-
" http://www.gnu.org/software/grub/manual/multiboot/multiboot.txt specyfikacja
cownik firmy świadczącej usługi interneto-
multiboot;
we w Gryfinie.
" http://www.ibm.com/developerworks/linux/library/l-bootload.html działanie boot
Kontakt z autorem:
loadera;
sylwesterzdanowski@o2.pl
" http://www.pendrivelinux.com/ Instalowanie Linuxa na USB.
www.lpmagazine.org 15
Wyszukiwarka
Podobne podstrony:
[W] Badania Operacyjne Zagadnienia transportowe (2009 04 19)2009 04 Tag Master Public Key Infrastructure with the Dogtag Certificate System[C] SZZL Pojęcie i istota ZZL u (2009 04 05)ZADANIE A1 2009 04 062009 04 05 3052 142009 04 06 ZADANIE A2 (4)[W] Badania Operacyjne Programowanie calkowitoliczbowe (2009 04 19)2009 04 Sounds[W] Badania Operacyjne Zarządzanie projektami (2009 04 19)Fakty i Mity 2009 04Prezydent Autonomii Palestyńskiej Nie uznam Izraela za państwo żydowskie (27 04 2009)Wzrasta liczba zabitych w zamachu (29 04 2009)2009 10 27 Wstęp do SI [w 04]id&835Irak będzie respektować kalendarz wojsk USA (04 05 2009)więcej podobnych podstron