Podstawowy przewodnik po procesie rozruchu Linux
- 3866
- 1043
- Laura Zygmunt
Za każdym razem, gdy zasilasz na komputerze Linux, przechodzi przez serię etapów, zanim w końcu wyświetli się ekran logowania, który wynika z twojej nazwy użytkownika lub hasła. Istnieją 4 różne etapy, przez które przechodzi każdy rozkład Linuksa w typowym procesie rozruchu.
Monit logowania użytkownikaW tym przewodniku podkreślamy różne kroki wykonane przez system systemu Linux od momentu, gdy jest on zasilany do czasu logowania się. Uprzejmie zauważ, że ten przewodnik bierze tylko pod uwagę Grub2 bootloader i Systemd init, ponieważ są one obecnie używane przez zdecydowaną większość nowoczesnych dystrybucji Linuksa.
Proces uruchamiania podejmuje następujące 4 kroki, które omówimy bardziej szczegółowo:
- BIOS Sprawdzanie integralności (POST)
- Ładowanie ładowarki (Grub2)
- Inicjalizacja jądra
- Startowy Systemd, rodzic wszystkich procesów
1. Kontrola integralności BIOS (post)
Proces rozruchu jest zwykle inicjowany, gdy użytkownik naciska zasilanie włączone przycisk - jeśli komputer został już wyłączony - lub uruchom ponownie system za pomocą GUI lub na wierszu poleceń.
Kiedy system Linux zasiada, BIOS (Podstawowy System Wejścia Wyscia) wchodzi i wykonuje Moc w autostlecie (POST). Jest to kontrola integralności, która wykonuje mnóstwo kontroli diagnostycznych.
POST sonduje działanie sprzętowe komponentów, takich jak HDD Lub SSD, Klawiatura, Baran, USB porty i każdy inny element sprzętu. Jeśli jakieś urządzenie sprzętowe nie jest wykryte lub jeśli istnieje nieprawidłowa funkcja w żadnym z urządzeń, takich jak uszkodzony dysk twardy lub dysk SSD, na ekranie rozpryskuje się komunikat o błędzie.
W niektórych przypadkach dźwięk sygnał dźwięk. Jeśli jednak oczekiwany sprzęt jest obecny i funkcjonuje zgodnie z oczekiwaniami, proces uruchamiania przebiega do następnego etapu.
2. Bootloader (Grub2)
Kiedyś POST jest kompletny, a wybrzeże jest czyste, BIOS sondy Mbr (Główny rekord rozruchu) dla informacji o bootloaderach i partycjonowaniu dysku.
Mbr jest kodem 512-bajtowym, który znajduje się w pierwszym sektorze dysku twardego, który jest zwykle /dev/sda
Lub /dev/hDA
W zależności od architektury dysku twardego. Zauważ jednak, że czasami Mbr może być zlokalizowane na Live USB Lub płyta DVD Instalacja Linuksa.
Istnieją 3 główne typy ładowaczy w Linux: Lilo, ŻARCIE, I Grub2. Grub2 Bootloader to najnowszy i główny bootloader w nowoczesnych dystrybucjach Linux i informuje o naszej decyzji o pominięciu pozostałych dwóch, które stały się przestarzałe z upływem czasu.
Grub2 oznacza Grand Unified Bootloader wersja 2. Kiedyś BIOS lokalizuje bootloader Grub2, wykonuje i ładuje go do pamięci głównej (Baran).
Grub2 Menu pozwala zrobić kilka rzeczy. Pozwala wybrać wersję jądra Linux, której chcesz użyć. Jeśli kilka razy aktualizujesz swój system, możesz zobaczyć różne wymienione wersje jądra. Dodatkowo daje to możliwość edytowania niektórych parametrów jądra poprzez naciśnięcie kombinacji klawiszy klawiatury.
Wybierz wersję jądraPonadto w konfiguracji z podwójnym bootem, w którym masz wiele instalacji systemu operacyjnego, menu Grub umożliwia wybrać, który system operacyjny do uruchomienia. Plik konfiguracyjny Grub2 to /boot/grub2/grub2.CFG plik. Głównym celem Gruba jest załadowanie jądra Linux do pamięci głównej.
3. Inicjalizacja jądra
Jądro jest rdzeniem każdego systemu Linux. Łączy sprzęt komputera z procesami podstawowymi. Jądro kontroluje wszystkie procesy w systemie Linux. Po załadowaniu wybranego jądra Linux przez bootloader musi wyodrębnić ze swojej skompresowanej wersji przed podjęciem jakiegokolwiek zadania. Po samokontroli wybrane jądro zamontuje system plików głównych i inicjuje /sbin/init program powszechnie określany jako w tym.
Proces inicjalizacji jądraW tym jest zawsze pierwszym programem, który został wykonany i przypisany jest identyfikator procesu lub PID wynoszący 1. To proces inicjowania, który spawnuje różne demony i montuje wszystkie partycje określone w /etc/fstab plik.
Jądro następnie zamontuje początkowy dysk RAM (initrd), który jest tymczasowym systemem plików root, dopóki nie zostanie zamontowany prawdziwy system plików. Wszystkie jądra znajdują się w /uruchomić
katalog wraz z początkowym obrazem dysku RAM.
4.Początkowe systemd
Jądro w końcu ładuje Systemd, który jest zastąpieniem starego Sysv w tym. Systemd jest matką wszystkich procesów Linux i zarządza między innymi montaż systemów plików, rozpoczynając i zatrzymując usługi, aby wymienić tylko kilka.
SystemD używa /etc/systemd/system/domyślnie.cel plik w celu ustalenia stanu lub celu, w który system Linux powinien uruchomić.
- W przypadku stacjonarnej stacji roboczej (z GUI) domyślna wartość docelowa wynosi 5, która jest odpowiednikiem poziomu 5 dla starego systemu inicja.
- Dla serwera domyślnym celem jest Multi-użytkownik.cel który odpowiada uruchomieniu poziomu 3 w SYSV INIT.
Oto podział celów SystemD:
- Poweroff.Target (RunLevel 0): Poweroff lub wyłącz system.
- ratunek.Target (RunLevel 1): uruchamia sesję ratowniczą.
- Multi-użytkownik.Target (RunLevel 2,3,4): Konfiguruje system do systemu nie-graficznego (konsoli) wielozadaniowego.
- graficzny.Target (RunLevel 5): Ustaw system, aby użyć graficznego interfejsu wielozadaniowego z usługami sieciowymi.
- ponowne uruchomienie.Target (RunLevel 6): Ponownie uruchamia system.
Aby sprawdzić bieżący cel w systemie, uruchom polecenie:
$ Systemctl Get-DefaultSprawdź poziom biegu
Możesz przełączyć się z jednego celu na drugi, uruchamiając następujące polecenie na terminalu:
$ init runLevel-wartość
Na przykład Init 3 konfiguruje system do stanu nie-graficznego.
Init 6 Polecenie ponownie uruchamia system i init 0 Zasili system. Pamiętaj, aby wywołać polecenie sudo Kiedy chcesz przejść do tych dwóch celów.
Proces uruchamiania kończy się raz Systemd ładuje wszystkie demony i ustawia wartość poziomu docelowego lub uruchomienia. W tym momencie jesteś poproszony o nazwę użytkownika i hasło, na które uzyskasz wejście do systemu Linux.
- « Jak zainstalować przeglądarkę Microsoft Edge w Linux
- Jak zainstalować CDH i skonfigurować umiejscowienie serwisowe w Centos/RHEL 7 - Część 4 »