Przejdź do głównej zawartości

Linux RHCSA cz.2 - Inicjowanie systemu - GRUB konfiguracja i zastosowanie

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
Oprócz przekazywania parametrów do jądra systemu GRUB może być używany z poziomu linii poleceń. Zanim przejdziemy dalej zobaczmy plik konfiguracyjny 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:
  1. Wchodzimy w GRUB (mamy na to domyślnie 5 sekund )
  2. Używamy opcję "a" (wcisnąć klawisz "a") w celu dodania opcji przed botowaniem
  3. W miejscu gdzie znajduje się kursor wpisujemy spację i "s" lub "single" ( <BOARDTYPE=pc KEYTABLE=us rd_NO_DM s ) następnie zatwierdzamy Enterem. 
  4. 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 :

Komentarze

Prześlij komentarz

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości