GRUB (GRand Unified Bootloader) jest narzędziem umożliwiającym wybór systemu jaki ma zostać uruchomiony (jeżeli jest zainstalowany na danej maszynie). GRUB podzielony jest na kilka etapów. Kod zawarty w głównym rekordzie startowym (master boot record - MBR) można uważać za etap 1. Następny etap który można oznaczyć jako 1.5 w momencie ładowania się GRUB stara się rozpoznać system plików co jest opcjonalne lub bezpośrednio przechodni do etapu 2. Etap 2 wywołuje jądro i ładuje je do pamięci. W etapie 1 GRUB musi wyszukać w rekordzie startowym (MBR) aktywną partycje na jakiej jądro zostanie uruchomione. GRUB posiada własny format dla przeglądania twardych dysków, którego składnia wygląda następująco:
(xdn[,m])
Gdzie xd- jest oznaczeniem dysku , n - jest numerem dysku oraz m- jest numerem partycji dysku. Znajomość składni jest bardzo przydatna w momencie analizowania problemów z GRUB zwłaszcza wtedy, gdy należy namierzyć podstawową partycję dysku. Jeżeli podstawowa partycja zostanie znaleziona, a GRUB załaduje jądro systemu, przechodzi do etapu 2, gdzie poświęca się najwięcej czasu jeżeli chodzi o rozwiązywanie problemów uruchamiania systemu. Po uruchomieniu i przejściu do etapu 2 zostaje wyświetlona lista systemów operacyjnych, dająca wybór jaki system ma zostać wystartowany, wraz z listą opcji jakie można użyć w celu zmiany konfiguracji startu danego środowiska.
Opcje botowania GRUB :
- e - Edycja poleceń przed uruchomieniem
- a - Dodanie lub modyfikacja argumentów jądra systemu przed uruchomieniem
- c - Uruchomienie linii poleceń GRUB
Wykorzystujemy podane opcje by zmodyfikować dowolny parametr jaki chcemy przekazać do jądra systemu. W ten sposób można zmienić poziom uruchamiania, w jakim ma zostać uruchomiony system. W następnej części przedstawione zostanie więcej informacji na temat poziomów uruchamiania, w tej chwili wystarczy że wiemy, iż istnieją różne tryby uruchomienia środowiska:
- Single-User-Mode - Używany w przypadku gdy zapomnimy hasła root
- Runlevel 2 or 3 - Używany by załadować tylko częściowe usługi podczas startu
- Emergency Mode - Używany do wykonania zadań na niestartującym systemie
- Rescue Mode - Używany do naprawiania problemów z uruchomieniem lub re-instalacji GRUB
GRUB posiada tylko jeden główny plik konfiguracyjny # /boot/grub/grub.conf . Istnieją również dwa inne pliki aktualnie w postaci linków do głównego pliku i są to # /boot/grub/menu.lst oraz # /etc/grub.conf.
W momencie startu GRUB odczytuje konfiguracje w głównym pliku. Plik grub.conf można edytować z poziomu linii poleceń GRUB, a po każdych zmianach maszyna musi zostać zrestartowana. Zanim system zostanie uruchomiony, można podejrzeć plik konfiguracyjny, co zostało zmienione w RHEL6. Na razie zobaczymy jak wygląda starsza wersja pliku # grub.conf.
Zawartość grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-71.el6.x86_64)
root (hd0,0)
kernel/vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/mapper/vg_rhel01-lv_root
rd_LVM_LV=vg_rhel01/lv_root rd_LVM_LV=vg_rhel01/lv_swap rd_NO_LUKS rd_NO_MD
rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc
KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-71.el6.x86_64.img
Zadanie 1
Wejdź w linie poleceń GRUB i znajdź dysk oraz partycje zawarte w pliku grub.conf.
Odp: # grub> find /grub/grub.conf (wynik działania : (hd0,0) )
lub # grub> root (wynik działania : (hd0,0): Filesystem type is unknown, partition type 0x8e )
Zadanie 2
Zainstaluj GRUB na dysku jaki został zwrócony w zadaniu 1.
Odp: # grub> setup (hd0) ( Wynik działania :
Checking if “/boot/grub/stage1” exists... no
Checking if “/grub/stage1” exists... yes
Checking if “/grub/stage2” exists... yes
Checking if “/grub/e2fs_stage1_5” exists... yes
Running “embed /grub/e2fs_stage1_5 (hd0)”... 26 sectors are
embedded.
Running “install /grub/stage1 (hd0) (hd0)1+26 p
(hd0,0)/grub/stage2
/grub/grub.conf”... succeeded
Done.
)
W tej chwili MBR jest zmieniony i po wpisaniu polecenia # grub> root zobaczymy już poprawny system plików. Bardzo ważne jest również by posiadać kopie zapasową pliku grub.conf by w razie problemów łatwo go przywrócić.
Zadanie 3
Zmienić hasło użytkownika "root" wykorzystując możliwości GRUB i trybu "Single-User-Mode".
Odp:
Przydatne linki :
Zadanie 3
Zmienić hasło użytkownika "root" wykorzystując możliwości GRUB i trybu "Single-User-Mode".
Odp:
- Wchodzimy w GRUB (mamy na to domyślnie 5 sekund )
- Używamy opcję "a" (wcisnąć klawisz "a") w celu dodania opcji przed botowaniem
- W miejscu gdzie znajduje się kursor wpisujemy spację i "s" lub "single" ( <BOARDTYPE=pc KEYTABLE=us rd_NO_DM s ) następnie zatwierdzamy Enterem.
- poleceniem "passwd" zmieniamy hasło użytkownika "root"
Może się zdarzyć również tak, że polecenie "passwd" nie zmieni hasła co spowodowane jest uruchomionym SELinuxem - sprawdzić to można wydając polecenie : # getenforce i jeżeli zwróci odpowiedź " Enforcing" należy zdezaktywować SELinux komendą # setenforce 0 . Po dezaktywacji możemy sprawdzić status wydając ponownie polecenie # getenforce, które w wyniku powinno dać informację "Permissive" wtedy można już zmienić hasło "root" poleceniem # passwd
Przydatne linki :
Super detaliczne przyklady i wytlumaczenie
OdpowiedzUsuń