LFCS Jak konfiguracja i rozwiązywanie problemów z ujednoliconym bootloaderem (GRUB) - Część 13

LFCS Jak konfiguracja i rozwiązywanie problemów z ujednoliconym bootloaderem (GRUB) - Część 13

Z powodu ostatnich zmian w celach certyfikacyjnych LFCS skutecznych z 2 lutego 2016, Dodajemy potrzebne tematy do opublikowanej tutaj serii LFCS. Aby przygotować się do tego egzaminu, jesteś bardzo zachęcany do śledzenia serii LFCE.

LFCS: Konfiguruj i rozwiązywanie problemów z rozkładem rozruchu Grub - Część 13

W tym artykule przedstawymy Cię do Gruba i wyjaśnimy, dlaczego moduł ładujący jest konieczny i jak dodaje wszechstronności systemu.

Proces rozruchu Linux od momentu naciśnięcia przycisku zasilania komputera, dopóki nie otrzymasz w pełni funkcjonalnego systemu, przestrzega tej sekwencji wysokiego poziomu:

  1. 1. Proces znany jako POST (Samokontrolowy test) Wykonuje ogólną kontrolę komponentów sprzętowych komputera.
  2. 2. Gdy POST kończy, przekazuje kontrolę do ładowarki rozruchowej, co z kolei ładuje jądro Linux do pamięci (wraz z initramfs) i wykonuje to. Najczęściej używanym ładowarką rozruchową w Linux jest Grand Unified Boot Loader, Lub ŻARCIE w skrócie.
  3. 3. Jądro sprawdza i uzyskuje dostęp do sprzętu, a następnie uruchamia proces początkowy (znany głównie pod jego ogólną nazwą „w tym”), Który z kolei uzupełnia rozruch systemu, uruchamiając usługi.

W Część 7 z tej serii („Sysvinit, Upstart i Systemd”) wprowadziliśmy systemy i narzędzia do zarządzania usługami używane przez nowoczesne dystrybucje Linux. Możesz przejrzeć ten artykuł przed kontynuowaniem.

Przedstawiamy ładowarkę butów grubów

Dwa główne ŻARCIE wersje (v1 Czasami nazywany Dziedzictwo grubowe I v2) można znaleźć w nowoczesnych systemach, chociaż większość dystrybucji używa v2 Domyślnie w ich najnowszych wersjach. Tylko Red Hat Enterprise Linux 6 a jego pochodne nadal używają v1 Dzisiaj.

Dlatego skupimy się przede wszystkim na cechach v2 W tym przewodniku.

Niezależnie od ŻARCIE Wersja, ładowarka rozruchowa umożliwia użytkownik:

  1. 1). Zmodyfikuj sposób zachowania systemu, określając różne jądra do użycia,
  2. 2). Wybierz między alternatywnymi systemami operacyjnymi do uruchomienia i
  3. 3). Dodaj lub edytuj zwrotki konfiguracji, aby zmienić opcje rozruchu, między innymi.

Dzisiaj, ŻARCIE jest utrzymywany przez GNU ANTYLOPA projekt i jest dobrze udokumentowany na ich stronie internetowej. Zachęcamy do korzystania z oficjalnej dokumentacji GNU podczas przeglądania tego przewodnika.

Kiedy system systemowy otrzymasz następujące ŻARCIE ekran w głównej konsoli. Początkowo masz monit o wybór między jądrem alternatywnym (domyślnie system będzie się uruchamiał za pomocą najnowszego jądra) i może wprowadzić A Wprowadzenie ŻARCIE wiersz poleceń (z C) lub edytuj opcje rozruchu (naciskając mi klucz).

Ekran rozruchowy Grub

Jednym z powodów, dla których rozważysz uruchamianie ze starszym jądrem, jest urządzenie sprzętowe, które działało prawidłowo i zaczęło się ”działanie”Po aktualizacji (patrz ten link w Askubuntu na przykład fora).

Grub V2 Konfiguracja jest odczytywana podczas rozruchu z /boot/grub/grub.CFG Lub /boot/grub2/grub.CFG, mając na uwadze, że /boot/grub/grub.conf Lub /boot/grub/menu.LST są używane w v1. Te pliki nie należy edytować ręcznie, ale są modyfikowane na podstawie zawartości /etc/default/grub i pliki znalezione w środku /etc/grub.D.

W Centos 7, Oto plik konfiguracyjny, który jest tworzony po pierwszym zainstalowaniu systemu:

Grub_timeout = 5 Grub_distributor = "$ (sed 's, wydanie .*$ ,, g ' /etc /system-release) "Grub_default = Saved Grub_Disable_Submenu = true Grub_Minal_output =" Console "Grub_Cmdline_linux =" Vconsole.Keymap = La-Latin1 Rd.LVM.lv = centos_centos7-2/swap crashkernel = auto vconsole.czcionka = latarcyrheb-sun16 rd.LVM.lv = centos_centos7-2/root rhgb cichy „Grub_disable_reCovery =„ True ” 

Oprócz dokumentacji online można również znaleźć instrukcję GNU Grub za pomocą informacji w następujący sposób:

# Info Grub 

Jeśli jesteś szczególnie zainteresowany dostępnymi opcjami /etc/default/grub, Możesz bezpośrednio wywołać sekcję konfiguracji:

# Info -f Grub -n „Prosta konfiguracja” 

Korzystając z powyższego polecenia, dowiesz się tego Grub_timeout Ustawia czas między momentem, w którym pojawia się początkowy ekran a automatycznym uruchamianiem systemu, chyba że zostanie przerwany przez użytkownika. Gdy ta zmienna jest ustawiona na -1, BOOT nie zostanie uruchomiony, dopóki użytkownik nie dokona wyboru.

Gdy wiele systemów operacyjnych lub jądra jest zainstalowane w tym samym komputerze, Grub_default Wymaga wartości całkowitych wskazującej, który system operacyjny lub jądra na początkowym ekranie GRUB powinien zostać wybrany do domyślnego uruchomienia. Lista wpisów można wyświetlić nie tylko na ekranie Splash pokazanym powyżej, ale także za pomocą następującego polecenia:

W Centos i OpenSuse:

# awk -f \ "$ 1 ==" menenEntry "print 2 $ '/boot/grub2/grub.CFG 

W Ubuntu:

# awk -f \ "$ 1 ==" menenEntry "print 2 $ '/boot/grub/grub.CFG 

W przykładzie pokazanym na poniższym obrazku, jeśli chcemy uruchomić wersję jądra 3.10.0-123.El7.x86_64 (4. pozycja), musimy ustawić Grub_default Do 3 (Wpisy są ponumerowane wewnętrznie, począwszy od zera) w następujący sposób:

Grub_default = 3 
System rozruchu ze starą wersją jądra

Ostatnia zmienna konfiguracji Gruba, która jest szczególnie interesująca jest Grub_cmdline_linux, który służy do przekazywania opcji do jądra. Opcje, które można przekazać przez Grub do jądra, są dobrze udokumentowane w pliku parametrów jądra oraz w Man 7 Bootparam.

Aktualne opcje w moim Centos 7 serwer to:

Grub_cmdline_linux = "vconsole.Keymap = La-Latin1 Rd.LVM.lv = centos_centos7-2/swap crashkernel = auto vconsole.czcionka = latarcyrheb-sun16 rd.LVM.lv = centos_centos7-2/root rhgb cisza " 

Dlaczego chcesz zmodyfikować domyślne parametry jądra lub przekazać dodatkowe opcje? Mówiąc najprościej, mogą być czasy, w których trzeba powiedzieć jądrze pewne parametry sprzętowe, że może nie być w stanie samodzielnie ustalić.

To mi się przydarzyło niedawno, kiedy próbowałem Wektor Linux, pochodna Slackware, na moim 10-letnim laptopie. Po instalacji nie wykrył właściwych ustawień mojej karty graficznej, więc musiałem zmodyfikować opcje jądra przepuszczane przez Grub, aby to zadziałało.

Innym przykładem jest to, że musisz wprowadzić system do trybu jednoosobowego, aby wykonywać zadania konserwacyjne. Możesz to zrobić, dołączając słowo single Grub_cmdline_linux i ponowne uruchomienie:

Grub_cmdline_linux = "vconsole.Keymap = La-Latin1 Rd.LVM.lv = centos_centos7-2/swap crashkernel = auto vconsole.czcionka = latarcyrheb-sun16 rd.LVM.lv = centos_centos7-2/root rhgb cisza pojedynczy" 

Po edycji /etc/defalt/grub, Będziesz musiał biec Update-Grub (Ubuntu) lub Grub2 -MkConfig -O/boot/grub2/grub.CFG (Centos I OpenSuse) Następnie do aktualizacji żarcie.CFG (W przeciwnym razie zmiany zostaną utracone po rozruchu).

To polecenie przetworzy wcześniej wymienione pliki konfiguracji rozruchu, aby aktualizować żarcie.CFG. Ta metoda zapewnia, że ​​zmiany są trwałe, podczas gdy opcje przekazywane przez Grub w czasie rozruchu będą trwać tylko podczas bieżącej sesji.

Naprawienie problemów z linux grub

Jeśli zainstalujesz drugi system operacyjny lub jeśli Twój plik konfiguracyjny GRUB zostanie uszkodzony z powodu błędu ludzkiego, istnieją sposoby odzyskania systemu na nogi i uruchamianie się ponownie.

Na początkowym ekranie naciśnij C Aby uzyskać wiersz polecenia Gruba (pamiętaj, że możesz również nacisnąć mi Aby edytować domyślne opcje rozruchu) i użyj pomocy, aby wprowadzić dostępne polecenia w monicie GRUB:

Napraw problemy z konfiguracją grubu w Linux

Skupimy się na LS, które będą wymienić zainstalowane urządzenia i systemy plików, a my sprawdzimy, co znajdzie. Na poniższym obrazku widzimy, że istnieją 4 dyski twarde (HD0 Poprzez HD3).

Tylko HD0 wydaje się, że został podzielony (o czym świadczy MSDOS1 I MSDOS2, Gdzie 1 I 2 Czy numery partycji, a MSDO to schemat partycjonowania).

Przeanalizujmy teraz pierwszą partycję HD0 (MSDOS1) Aby zobaczyć, czy możemy tam znaleźć Grub. Takie podejście pozwoli nam uruchomić Linuksa i istnieje inne narzędzia na wysokim poziomie do naprawy pliku konfiguracyjnego lub całkowitej ponownej instalacji Gruba, jeśli jest potrzebne:

# ls (HD0, MSDOS1)/ 

Jak widzimy w wyróżnionym obszarze, znaleźliśmy Grub2 katalog w tej partycji:

Znajdź konfigurację Gruba

Kiedy już jesteśmy pewni, że Grub przebywa (HD0, MSDOS1), powiedzmy Grub, gdzie znaleźć swój plik konfiguracyjny, a następnie poinstruuj go, aby spróbować uruchomić swoje menu:

Ustaw prefiks = (HD0, MSDOS1)/GRUB2 Ustaw root = (HD0, MSDOS1) Insmod Normal Normal 
Znajdź i uruchom menu Grub

Następnie w menu Grub wybierz wpis i naciśnij Wchodzić Aby go uruchomić. Po uruchomieniu systemu możesz wydać Grub2-install /dev /sdx polecenie (zmiana SDX z urządzeniem, na którym chcesz zainstalować). Informacje rozruchowe zostaną następnie zaktualizowane, a wszystkie powiązane pliki zostaną przywrócone.

# Grub2-install /dev /sdx 

Inne bardziej złożone scenariusze są udokumentowane, wraz z ich sugerowanymi poprawkami, w przewodniku rozwiązywania problemów Ubuntu Grub2. Wyjaśniono, że koncepcje są również ważne dla innych dystrybucji.

Streszczenie

W tym artykule wprowadziliśmy Cię do Grub, wskazaliśmy, gdzie można znaleźć dokumentację zarówno online, jak i offline, i wyjaśniliśmy, jak podejść do scenariusza, w którym system przestał poprawnie uruchamiać się z powodu problemu związanego z bootloaderem.

Na szczęście Grub jest jednym z najlepiej udokumentowanych narzędzi i można łatwo znaleźć pomoc w zainstalowanych dokumentach lub online za pomocą zasobów, które udostępniliśmy w tym artykule.

Czy masz pytania lub komentarze? Nie wahaj się, aby nas znać, używając poniższego formularza komentarza. Oczekujemy na kontakt zwrotny!

Zostań certyfikowanym administratorem systemu