GRUB dla zielonych - 5.0 out of 5 based on 1 vote

Ocena użytkowników: 5 / 5

Gwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywna
 

Spis treści

Teraz przejdźmy do GRUB'a. Ten oznacza dyski i partycje na swój, podobny sposób. Zmieniają sie tylko literki. Ważny jest tutaj plik device.map, który znajduje się w /boot/grub/. W nim są zawarte przypisania dysków do grub'owych oznaczeń. Np. dysk /dev/sda w hd0, dysk /dev/sdb to będzie hd1 itd. Tak więc jeśli mamy jeden dysk, zawartość pliku /boot/grub/device.map będzie wyglądał tak:
(hd0)    /dev/sda
Jeśli mamy dwa dyski to plik będzie wyglądał tak:
(hd0)    /dev/sda
(hd1)    /dev/sdb
Jak pisałem, sposób podobny. Jeśli nie podoba nam sie kolejność oznaczeń dysków określona automatycznie przez system podczas instalacji, zawsze możemy to zmienić edytując powyższy plik.
Partycje są oznaczane w ten sposób:
  • partycja /dev/sda1 to hd0,0
  • partycja /dev/sda2 to hd0,1
  • partycja /dev/sda3 to hd0,2 itd.
  • jeśli partycja pierwsza na dysku drugim czyli /dev/sdb1 to hd1,0
  • partycja trzecia na dysku drugim (/dev/sdb3) to hd1,2 itd.
Te oznaczenia też są proste. Żadna filozofia, trzeba po prostu wiedzieć jaka jest kolejność partycji na dysku i wiemy jak powinna być określona w GRUB.
Przejdźmy teraz do najważniejszego pliku konfiguracyjnego GRUB'a czyli /boot/grub/menu.lst. Tu znajduje się konfiguracja wyglądu i zachowania menu, które pokazuje się przed systemami. Zazwyczaj instalator systemu wszystko sam skonfiguruje, nie będzie trzeba specjalnie nic grzebać. Możemy co najwyżej pozmieniać wpisy w menu na jakieś bardziej pasujące nam, np. zamiast Windows Loader możemy dać Windows 7 czy Windows XP. Aby go edytować, trzeba mieć prawa admina w systemie.
Pliki konfiguracyjne Linuksa mają to do siebie, że są tekstowe, można je edytować w konsoli, bez środowiska graficznego i zazwyczaj same w sobie zawierają pomoc w konfiguracji (niestety po angielsku). Znaczki# poprzedzają komentarze, wszystko co po nich się znajduje będzie ignorowane przez programy. Są tylko dla informacji użytkownika. Zazwyczaj służą do pomocy. To bardzo ułatwia życie. Jeśli chce zmienić konfigurację odległego serwera, nie musze specjalnie do tego używać zdalnego pulpitu, który przez neta będzie się wlekł, wystarczy mi linia poleceń.
Poniżej przedstawię najważniejsze opcje GRUB'a, które można wykorzystać w konfiguracji.
  • default - po tej opcji wstawiamy cyferkę porządkową z listy systemów. Możemy wybrać, który z systemów będzie od razu podświetlony. Po upłynięciu określonego czasu zacznie on być ładowany. Czas ustawia się w następnej opcji. Przypuśćmy że mamy takie menu:
Menu GRUB
W menu mamy 5 pozycji. Liczenie zaczynamy od zera. Jeśli chcemy aby domyślnie zaznaczony był Windows po default wpisujemy po prostu 4. Jeśli chcemy aby domyślnie był zaznaczony memtest, nie ma sprawy, wpisujemy 2. Czwarta linijka jest tylko opisem i nie zawiera, żadnych procedur uruchamiania systemu, więc nawet jeśli wpiszemy 3 to i tak sie nic nie uruchomi.
  • timeout - czas w sekundach po których zacznie być ładowany zaznaczony system, jeśli nic nie naciśniemy.
  • hiddenmenu - jeśli opcja jest odkomentowana (przed hiddenmenu nie ma znaczka #) menu zostanie ukryte. Zostanie wyświetlony tekst, że aby wyświetlić menu trzeba nacisnąć escape. Obok będą wyświetlone sekundy do końca odliczania. Jeśli jest #hiddenmenu GRUB potraktuje ten wpis jako komentarz i zignoruje go.
  • password - po tej opcji ustawiamy hasło. Zanim pokaże nam się menu, komputer poprosi nas o hasło. Możemy je zapisać normalnie tekstowo i w postaci kodu md5. Jako, że plik menu.lst to zwykły plik tekstowy, ktoś może podejrzeć nasze hasło podczas nieobecności nas przy komputerze, warto je zatem zakodować algorytmem md5. Np. ustawiamy hasło tekstowo:
password ubuntu
Po wpisaniu hasła ubuntu mamy dostęp do menu. Ale żeby nikt nam nie podejrzał hasła możemy je zakodować. Uruchamiamy konsole, wpisujemy grub i enter. Jesteśmy w linii poleceń programu GRUB. Teraz wpisujemy polecenie md5crypt. Program zapyta nas o hasło, wpisujemy je, potwierdzamy enterem i dostajemy swojego hasło w postaci kodu md5. Kopiujemy to co wypluł program i wstawiamy do pliku menu.lst. Hasło ubuntu będzie wyglądać np. tak:
password $1$mH9J6/$2IYH5lu/byKJOVvshqVyy/
Napisałem na przykład ponieważ jeśli powtórzymy to samo polecenie, kod md5 będzie wyglądał już inaczej. Z linii poleceń GRUB'a wychodzimy przez quit. Jeśli naciśniemy przycisk tab uzyskamy listę poleceń.
  • title - po tej opcji wpisujemy to co ma się wyświetlić w menu. Np. Ubuntu 9.04 albo WindowsXP. Ta opcja ma związek z następnymi opcjami i zazwyczaj występują razem.
  • uuid - numer identyfikacyjny dysku. Nadany przez system. Wpis ten nie jest konieczny, ale zazwyczaj jest wstawiany przez instalator systemu. Aby sprawdzić jaki numer identyfikacyjny jest przypisany do partycji czy dysku wystarczy wstukać w konsoli blkid. Numer ten jest potrzebny do wyboru partycji z której ma startować system.
  • kernel - ścieżka dostępu do pliku kernela i opcje jego. Możemy tu ustawić czy ma się wyświetlać usplash czy podczas startu systemu ma się pokazywać log. To ten obrazek pokazujący się podczas startu z paskiem postępu. Jeśli nie chcemy go usuwamy opcję kernela splash. Jeśli chcemy aby system dawał jeszcze więcej informacji podczas startu usuwamy opcję quiet.
  • initrd - ścieżka dostępu do obrazu ramdysku, który uruchamia system. W nim zawarte są moduły jądra (kernela) i pliki potrzebne do uruchomienia Linuksa.
  • quiet - wyłączenie tej opcji spowoduje jeszcze większą ilość komunikatów podczas startu systemu, ale tylko na początku procedury.
  • root - zmienia główną partycję. Wpis stosowany szczególnie przy Windows'ie. Dla przykładu weźmy przykład z 5 partycjami. Jeśli Windows znajduje się na pierwszej partycji wtedy po opcji root wpiszemy (hd0,0).
  • savedefault - ustawia partycję jako domyślną dla systemu, który właśnie się załaduje.
  • makeactive - uaktywnie partycję.
  • chainloader - zazwyczaj z parametrem +1. Stosowane szczególnie dla Windows'a, który ma własny bootloader. Po tym GRUB oddaje kontrolę nad systemem innemu bootloader'owi.
Teraz dam kilka przykładowych wpisów z pliku menu.lst, które uruchamiają różne systemy, aby pokazać jak te opcje wygląją w całości.
title        Ubuntu 8.10, kernel 2.6.27-14-generic ?
uuid        176dd0de-adb1-4d6b-9103-4e469b454d79 ?
kernel        /boot/vmlinuz-2.6.27-14-generic root=UUID=176dd0de-adb1-4d6b-9103-4e469b454d79 ro splash ?
initrd        /boot/initrd.img-2.6.27-14-generic?
quiet ?
To uruchamia Ubuntu w normalnym trybie.
title        Ubuntu 8.10, memtest86+
uuid        176dd0de-adb1-4d6b-9103-4e469b454d79
kernel        /boot/memtest86+.bin
quiet
Ten wpis uruchamia program do testowania pamięci.
title        Microsoft Windows XP Professional
root        (hd0,0)
savedefault
makeactive
chainloader    +1
A ten uruchamia Windows'a.


Wykorzystanie zawartości tej strony w celach komercyjnych bez zgody autora jest zabronione.
Jeśli wykorzystujesz zawartość tej strony w swoich artykułach, podaj jako źródło adres URI tej strony. Google+
Creative Commons License