Proces rozruchu systemu Linux: proces uruchamiania jądra i błędy

Po zainstalowaniu Linux system operacyjny (Ubuntu, Debian, Mint itp.), Aby z niego skorzystać, wystarczy nacisnąć przycisk zasilania komputera i poczekać, aż załaduje się system operacyjny. Podobnie jak każdy inny system operacyjny, na przykład Windows. Jednak proces rozruchu jest dość złożonym procesem i jest również podzielony na kilka etapów, z których każdy jest niezbędny do pomyślnego uruchomienia naszej dystrybucji. Dlatego jeśli znamy ten proces uruchamiania, dość łatwo będzie zidentyfikować i rozwiązać każdy możliwy problem, z którym możemy się spotkać.

Istnieje kilka dystrybucji Linuksa skonfigurowanych tak, aby proces rozruchu, rozruch, jest w trybie szczegółowym, to znaczy pokazuje na ekranie wszystkie wykonywane polecenia. Chociaż prawdą jest, że większość, szczególnie „łatwe” dystrybucje, mają na ekranie splash, który uniemożliwia nam jego zobaczenie (chociaż zawsze możemy to pokazać, naciskając klawisz Esc, aby kontrolować proces).

Proces rozruchu systemu Linux: proces uruchamiania jądra i błędy

Jednak zarówno w trybie tekstowym, jak i przy nieruchomym obrazie na ekranie, proces uruchamiania jest taki sam. A ponieważ naciskamy przycisk zasilania, dopóki nie zobaczymy pulpitu, przechodzimy przez kilka faz, które szczegółowo omówimy poniżej.

Faza BIOS / UEFI

Ta faza jest taka sama dla wszystkich systemów operacyjnych. Ten mały system lub oprogramowanie układowe jest przechowywany w układzie scalonym w płyta główna i jest odpowiedzialny za sprawdzenie, czy wszystkie komponenty komputera są podłączone i działają poprawnie. Aby to zrobić, wykonaj POST (autotest po włączeniu zasilania) , sprawdź, czy niezbędne urządzenia peryferyjne są podłączone, aby kontynuować (zwłaszcza klawiatura), i zlokalizuj jednostkę, którą skonfigurowaliśmy jako „rozruch”, gdzie bootloader będzie kontynuował ładowanie systemu operacyjnego.

Niektóre z błędy w tym momencie możemy stwierdzić, że przez większość czasu są one bezpośrednio związane ze sprzętem (szczególnie z dyskami twardymi), więc można je rozwiązać, sprawdzając, czy urządzenia peryferyjne są dobrze podłączone, lub resetując BIOS do ustawień fabrycznych ustawienia:

  • Korupcja MBR.
  • Uszkodzona tablica partycji.
  • Korupcja PBR.
  • Uszkodzenie bootsektora.
  • Uszkodzony dysk.
  • Uszkodzenie Bootmgr.

Faza modułu ładującego

W tej fazie komputer będzie próbował uzyskać dostęp do Główny rekord rozruchowy (MBR) albo Tabela partycji z przewodnikiem (GPT) dysku twardego, w zależności od konfiguracji BIOS lub UEFI. Jeśli ta partycja nie zostanie znaleziona, bezpośrednio na komputerze zostanie wyświetlony komunikat informujący, że system operacyjny nie został znaleziony. W takim przypadku musielibyśmy sprawdzić konfigurację rozruchu systemu BIOS lub UEFI, a jeśli to konieczne, nawet ponownie zainstalować system operacyjny, aby rozruch został zregenerowany.

Jeśli ta partycja zostanie znaleziona, następną rzeczą, którą zobaczymy, będzie menu startowe Linuksa, znane również jako „GRUB” (chociaż mogą istnieć inne programy ładujące, takie jak LILO). Tutaj zobaczymy wszystkie systemy operacyjne zainstalowane na komputerze, a także inne wpisy programu ładującego (różne jądro, opcje odzyskiwania, RAM analizator pamięci itp.).

GRUB z systemem Ubuntu i Windows 10

Wybierzemy wpis, który chcemy uruchomić (na przykład Ubuntu, aby kontynuować rozruch z Linuksa), a w następnym etapie rozpocznie się ładowanie samego jądra.

Błędy, które możemy znaleźć w tym momencie, to: uszkodzone wpisy w GRUB . A sposobem na rozwiązanie tego problemu jest użycie dysku odzyskiwania (lub dystrybucji Linux Live, którą możemy załadować z pamięci RAM), aby naprawić GRUB i sprawić, aby wpisy wskazywały na odpowiednie dyski twarde lub partycje.

Faza uruchamiania jądra Linux

Teraz nadchodzi najważniejsza faza rozruchu: Linux Kernel faza. Bez względu na to, z jakiej dystrybucji korzystamy, wszyscy będą korzystać z mniej lub bardziej spersonalizowanej wersji oryginalnego jądra tego systemu operacyjnego. Ze względu na miejsce i optymalizację jądro jest kompresowane na dysk, więc pierwszą rzeczą do zrobienia jest rozpakowanie go w pamięci, aby kontynuować.

Uruchom system Linux 1

Następnym krokiem będzie inicjalizacja wszystkich komponentów. Aby to zrobić, większość dystrybucji używa kontrolera demona o nazwie systemd (chociaż niektóre wykorzystują alternatywy, takie jak init.d). W tym kroku odbywa się to uruchom wszystkie procesy i usługi które są częścią systemu i są niezbędne do jego prawidłowego funkcjonowania. Wszystkie te procesy pozwalają na funkcjonowanie sprzętu i synchronizację wszystkich komponentów systemu operacyjnego, zwłaszcza pamięci i dysków. Usługi te będą nadal działać po procesie rozruchu i zostaną zamknięte w momencie zamknięcia systemu.

Oprócz podstawowych procesów i usług systemu Linux można również załadować inne spersonalizowane usługi (na przykład serwer, który zamontowaliśmy i skonfigurowaliśmy, taki jak SSH lub FTP).

O ile sami nie dokonaliśmy modyfikacji systemu, w tym momencie rzadko pojawiają się problemy. Uruchamianie systemu za pomocą Systemd jest zwykle w pełni automatycznym procesem i nie wymaga interwencji z naszej strony. Ponadto, jeśli jakikolwiek demon nie może zostać załadowany, po prostu oznaczy go jako błąd i przejdzie do następnego. To, co może się zdarzyć, to to niektóre demony ładują się przez wiele sekund . A następnie powinniśmy sprawdzić, w którym momencie Systemd zawiesza się i spróbować rozwiązać problem, wyłączając usługę, konfigurując ją poprawnie lub aktualizując system.

Ostatnia faza rozruchu systemu Linux

W tym momencie nasza dystrybucja będzie gotowa. To jest kiedy „Poziom pracy” wkracza faza, która wskaże liczbowo rodzaj działania systemu operacyjnego zgodnie z usługami, które zostały poprawnie załadowane:

  • 0 - Zatrzymaj. Krytyczny błąd systemu.
  • 1 - Tryb jednego użytkownika.
  • 2 - Tryb wielu użytkowników bez dostępu do sieci.
  • 3 - Tryb wielu użytkowników terminala.
  • 4 - Tryb zdefiniowany przez użytkownika.
  • 5 - Tryb wielu użytkowników ze środowiskiem graficznym. Jest to pożądany tryb, w którym domyślnie będzie się starał zawsze uruchamiać
  • 6 - Wymaga ponownego uruchomienia komputera.

Zakładając, że uzyskaliśmy „5” na poziomie działania, możemy już zobaczyć ekran logowania do naszej dystrybucji Linuksa i możemy się zalogować. Po zalogowaniu będziemy mieć pulpit na wyciągnięcie ręki i możemy rozpocząć pracę z komputerem swobodnie.

Biuro Ubuntu

Możemy zmienić wartość runlevel, wykonując w terminalu polecenie „telinit”, po którym następuje żądana wartość. Na przykład wartość „0” wymusiłaby wyłączenie komputera, podczas gdy wartość „1” pozwoliłaby nam używać Linuksa tylko w trybie jednego użytkownika.

Możemy również zobaczyć, ile czasu zajęło załadowanie naszej dystrybucji za pomocą polecenia „systemd-analysis”:

analiza systemowa