Ładowanie systemu operacyjnego Linux. Wykonaj skrypt podczas uruchamiania lub zamykania systemu Linux. Konfiguracja sprzętu

Sekwencja rozruchowa systemu Linux składa się z następujących kroków:

BIOS (Podstawowy system wejścia-wyjścia - podstawowy system wejścia/wyjścia)

BIOS to interfejs najniższego poziomu pomiędzy komputerem a urządzeniami peryferyjnymi, który wyszukuje i uruchamia sektor rozruchowy na dowolnym urządzeniu pamięci masowej podłączonym do komputera.

Zazwyczaj jest to:

  • Napęd CD ROM
  • dysk twardy
  • Dysk twardy (używany coraz rzadziej)

Lista zależy od możliwości konkretnego systemu BIOS, a także sprzętu.

Priorytet rozruchu można zmienić w BIOS-ie. Wejdź do menu Ustawienia BIOS-u„I z reguły możesz nacisnąć Del, F1, F2 lub F10 podczas uruchamiania komputera.

MBR (główny rekord rozruchowy)

Pierwszy sektor rozruchowego urządzenia magazynującego jest zarezerwowany dla sektora głównego wpis rozruchowy. Po uruchomieniu urządzenia BIOS ładuje i uruchamia program ładujący system operacyjny(program ładujący) znajdujący się w MBR.

W większości przypadków program ładujący jest dość skomplikowany i nie mieści się w 512 bajtach przydzielonych przez MBR. W tym przypadku MBR zawiera tzw. stage1, program, który po prostu ładuje program drugiego etapu ładowania systemu operacyjnego - stage2 (czasami sektor rozruchowy jest ładowany jako stage2 partycja aktywna, menedżer rozruchu lub program autoryzacji i ochrony dostępu).

Konkretnie, stage2 bootloadera GRUB-a odczytuje dane z pliku /boot/grub/grub.conf (lub /boot/grub/menu.lst, w zależności od wersji), który zawiera listę wszystkich dostępnych systemów operacyjnych i ich opcji rozruchu . Następnie na ekranie wyświetlana jest lista systemów operacyjnych, z której użytkownik wybiera system operacyjny do uruchomienia.

Moduł ładujący system operacyjny

W niektórych przypadkach etap 1 GRUB-a (GRand Unified Bootloader) ładuje etap 1.5, którego kod znajduje się w pierwszych trzydziestu kilobajtach urządzenia pamięci masowej bezpośrednio po MBR, a już etap 1.5 ładuje etap 2.

Kiedy stage2 przejmuje kontrolę, wyświetlane jest (pseudo)graficzne menu, w którym użytkownik może wybrać system operacyjny do uruchomienia. Warto zauważyć, że opcje rozruchu można zmienić z tego samego menu, co pozwala na przywrócenie systemu po przypadkowym uszkodzeniu menu.lst lub grub.conf.

Po wybraniu opcji rozruchu GRUB ładuje wybrane jądro do pamięci i przekazuje kontrolę do jądra, które następnie uruchamia system. GRUB może także przekazać kontrolę nie do jądra, ale do innego bootloadera, wykorzystując tzw. ładowanie łańcuchowe, na przykład do bootloadera systemu operacyjnego, który nie obsługuje standardu Multiboot.

Rdzeń

Z kolei jądro sprawdza konfigurację sprzętową, inicjuje urządzenia i uruchamia initrd (opcjonalnie), po czym montuje urządzenie określone w parametrach startowych jako „root” jako główny system plików.

System plików urządzenia jest wykrywany automatycznie. Jeśli z jakiegoś powodu montaż się nie powiedzie, system wywoła błąd jądra i pobieranie zostanie zatrzymane.

Po udanej instalacji system plików, jądro uruchamia demona init, który otrzymuje identyfikator procesu równy jeden i uruchamia resztę systemu.

w tym

inicjacja jest ostatni krok w sekwencji rozruchu systemu. init jest rodzicem (lub bardziej odległym przodkiem) wszystkich procesów działających w systemie. Proces ten rozpoczyna się jako pierwszy w systemie i jest uruchamiany bezpośrednio przez jądro. Uruchamia także wszystkie procesy systemowe określone w /etc/inittab.

Gdy system jest uruchomiony, init nie zostanie ukończony. Warto zauważyć, że init jest procesem użytkownika, a nie systemowym, mimo że uruchamiany jest jako root.

Poziomy działania

Każdy wpis w /etc/inittab zawiera tzw. „poziom działania” procesu, tj. informację o tym, na jakim poziomie uruchamiania systemu należy uruchomić ten proces.

W systemach Linux istnieje siedem możliwych wartości poziomu uruchomienia, od 0 do 6 włącznie:

  1. Zatrzymanie systemu
  2. Tryb pojedynczego użytkownika
  3. Zdefiniowany przez użytkownika, zwykle tryb wielu użytkowników bez obsługi sieci lub powłoki graficznej
  4. Tryb wielu użytkowników bez powłoki graficznej
  5. Zdefiniowane przez użytkownika, generalnie nieużywane
  6. Tryb wielu użytkowników z powłoką graficzną

W oparciu o bieżący poziom pracy, init uruchamia skrypty znajdujące się w podkatalogach /etc/rc.d/, każdy poziom pracy ma swój własny podkatalog, od /etc/rc.d/rc0.d do /etc/rc.d/rc6.d .

W rzeczywistości uruchomienie skryptów na każdym poziomie pracy odbywa się za pomocą skryptu /etc/rc, który jest wywoływany na każdym poziomie pracy z parametrem równym bieżącemu poziomowi. Wywołanie /etc/rc z parametrem jest rejestrowane w /etc/inittab dla każdego z możliwych poziomów działania.

Domyślny poziom pracy jest określony przez wpis w /etc/inittab:

Identyfikator:3:initdefault:

Bieżący poziom pracy można zmienić, wywołując:

/sbin/telinit #

Gdzie # jest żądanym poziomem pracy. Te. wywołanie „/sbin/telinit 6” spowoduje ponowne uruchomienie systemu.

Naciśnij przycisk zasilania na jednostce systemowej, a po kilku sekundach zobaczysz okno logowania.

Ośmielę się zasugerować, że każdy choć raz interesował się tym, co dzieje się za kurtyną ekranów powitalnych i ekranów ładowania od momentu włączenia komputera do momentu, w którym pojawia się monit o zalogowanie.

Sugeruję zapoznanie się z następującymi poziomami typowego rozruchu systemu Linux:

1.BIOS

  • BIOS jest odpowiedzialny za podstawowe wprowadzanie/wyprowadzanie danych z/do urządzeń.
  • Wykonuje pewne kontrole integralności urządzenia. Dodatkowo za testowanie wydajności elektroniki odpowiada POST (autotest po włączeniu zasilania, zwany także „testem adekwatności siebie”, wykonywany jako etap przed uruchomieniem), który jest kontrolowany przez BIOS.
  • Wyszukuje, ładuje i uruchamia program ładujący system operacyjny
  • Pobiera moduł ładujący z flopa, CD lub twardy dysk. Podczas ładowania BIOS-u możesz nacisnąć przycisk (zwykle F12, F2 lub Del, w zależności od platformy), jeśli chcesz wprowadzić zmiany w ustawieniach sprzętowych.
  • Po wykryciu programu ładującego i załadowaniu go do pamięci BIOS przekazuje mu kontrolę.
  • Krótko mówiąc, BIOS ładuje i wykonuje rekord rozruchowy (MBR).

2.MBR

  • MBR to główny rekord rozruchowy przechowywany na dysku twardym
  • Znajduje się w I sektorze dysk rozruchowy, na przykład /dev/hda lub /dev/sda
  • MBR zajmuje mniej niż 512 bajtów. Składa się z trzech elementów: 1) głównej informacji startowej, „żyjącej” w pierwszych 446 bajtach; 2) informację o tablicy partycji – w kolejnych 64 bajtach; 3) i ostatnie 2 bajty są potrzebne do sprawdzenia poprawności mbr.
  • Zawiera informacje o GRUB-ie (lub LILO).
  • W prostych słowach - MBR ładuje i uruchamia program ładujący GRUB.

3.GRUB

  • GRUB – Wielki ujednolicony program ładujący.
  • Jeśli w Twoim systemie jest zainstalowanych więcej niż jedno jądro, możesz wybrać, które z nich ma zostać uruchomione
  • GRUB wyświetla ładną animację powitalną plymouth i po odczekaniu kilku sekund na interakcję użytkownika, jeśli nie nacisnął on żadnego klawisza, ładuje domyślne jądro w pliku konfiguracyjnym Gruba.
  • GRUB rozumie, czym jest system plików (starożytne programy ładujące Linuksa, na przykład LILO, tego nie rozumieją).
  • Plik konfiguracyjny Gruba zwykle znajduje się wzdłuż ścieżki /boot/grub/grub.conf (również /etc/grub.conf może być dowiązaniem symbolicznym do niego). Oto przykładowy plik konfiguracyjny dla CentOS:
    #boot=/dev/sda
    domyślnie=0
    limit czasu = 5
    powitalnyimage=(hd0,0)/boot/grub/splash.xpm.gz
    ukrytemenu
    tytuł CentOS (2.6.18-194.el5PAE)
    korzeń (hd0,0)
    jądro /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/
    initrd /boot/initrd-2.6.18-194.el5PAE.img
  • Jako uwaga do powyższych informacji, plik konfiguracyjny zawiera ścieżkę do jądra i obrazu initrd
  • Krótko mówiąc, GRUB po prostu ładuje i wykonuje obrazy jądra i initrd.

4. Jądro lub jądro

  • Jądro montuje system plików zgodnie z ustawieniem „root=" w grub.conf
  • Wykonuje program /sbin/init
  • Ponieważ init jest pierwszym procesem uruchamianym przez jądro Linuksa, jego identyfikator procesu (PID) wynosi #1. Możesz uruchomić „ps -ef | grep init” i upewnij się.
  • initrd to początkowy dysk RAM, czyli dysk tymczasowy pamięć o dostępie swobodnym
  • initrd jest używany przez samo jądro jako tymczasowy główny system plików, dopóki jądro nie uruchomi się w rzeczywiście zamontowanym systemie plików. Ten dysk tymczasowy zawiera także sterowniki rozruchowe, które umożliwiają dostęp do partycji dysku i innego sprzętu.

5.Rozpoczęcie

  • Sprawdza plik /etc/inittab, aby określić poziom uruchomienia.
  • Istnieją następujące poziomy wykonania:
    • 0 – przerwanie wykonywania
    • 1 – Tryb pojedynczego użytkownika, tzw. „Tryb pojedynczego użytkownika”, czyli inaczej konsola odzyskiwania
    • 2 – Tryb wielu użytkowników bez obsługi NFS
    • 3 – Pełny tryb wieloosobowy
    • 4 – nieużywany
  • Init określa domyślny poziom działania z /etc/inittab i używa go do załadowania wszystkich niezbędnych programów.
  • Uruchom w swoim systemie „grep initdefault /etc/inittab”, a dowiesz się, jaki jest Twój domyślny poziom
  • Jeśli nie możesz żyć w spokoju, możesz zainstalować standardowy poziom do 0 lub 6. :)
  • W większości przypadków wystarczy Ci poziom 3 lub 5.

6. Poziom wykonania programu (Runlevel)

  • Podczas uruchamiania systemu Linux można zobaczyć ładowanie różnych usług. Mogą to być na przykład komunikaty typu „uruchamiam Postfix... OK” (Uruchamia się Postfix). Usługi te nazywane są programami poziomu pracy i są wykonywane z katalogu odpowiadającego żądanemu poziomowi pracy.
  • W oparciu o ustawienia domyślne system będzie wykonywał pliki według poniższych katalogów.
    • Poziom wykonania 0 – /etc/rc.d/rc0.d/
    • Poziom wykonania 1 – /etc/rc.d/rc1.d/
    • Wykonanie poziomu 2 – /etc/rc.d/rc2.d/
    • Wykonanie poziomu 3 – /etc/rc.d/rc3.d/
    • Poziom działania 4 – /etc/rc.d/rc4.d/
    • Poziom wykonania 5 – /etc/rc.d/rc5.d/
    • Wykonanie poziomu 6 – /etc/rc.d/rc6.d/
  • Należy jednak pamiętać, że w katalogu /etc mogą również znajdować się dowiązania symboliczne. Na przykład plik /etc/rc0.d jest powiązany z plikiem /etc/rc.d/rc0.d.
  • W katalogach /etc/rc.d/rc*.d/ możesz zobaczyć listę programów, których nazwy zaczynają się na litery S i K.
  • Do uruchomienia wykorzystywane są programy zaczynające się na literę S. S. ponieważ S tartup.
  • Programy zaczynające się na literę K służą - poprawnie - do zatrzymywania pracy. K., ponieważ k chory.
  • W nazwach programów obok liter S i K znajdują się cyfry. Liczby te służą do określenia kolejności uruchamiania tych programów.
  • Na przykład S12syslog jest przeznaczony do uruchamiania demona syslog, to numer seryjny 12. S80sendmail - aby uruchomić demona sendmail o numerze sekwencyjnym 80. W ten sposób program syslog zostanie uruchomiony przed sendmailem.

To wszystko. Być może dla niektórych z Was nie jest to nowość i nie było szczególnego zainteresowania przeczytaniem tego artykułu, ponieważ skupia się on bardziej na początkującym i średniozaawansowanym poziomie znajomości Linuksa.
W tym przypadku mogę tylko powiedzieć, że „powtarzanie jest matką uczenia się” (c).

Uzupełnienia, poprawki, wyjaśnienia

W komentarzach wielokrotnie nawiązywano do tekstu artykułu, dlatego uważam, że warto uwzględnić kilka ważnych uwag społeczności habra. (dzięki artemlight, 3al, Tishka17, HhyperH, Next_Alex, Ilya_Shmelykh, Aux, soomrack, Xpeh)
  • artemlight: : „Cóż, spójrzmy prawdzie w oczy, nie wszystkie dystrybucje są ładowane w ten sposób.” Większość się z nim zgodziła, zauważając init w stylu bsd, u-boot i chociaż w artykule pominięto initrd, warto zauważyć, że jądro nie potrzebuje go we wszystkich dystrybucjach. Należy również zauważyć, że w Slackware obsługa rc.d jest zapewniona jedynie jako kompatybilność, a systemy wbudowane są ładowane inaczej. Komputery stacjonarne czasami mają EFI, a poza tym Linux jest popularny w świecie wbudowanym, a jest ich dużo więcej różne platformy. Linux ładuje się inaczej na telefonie.
  • soomrack, cytując Wikipedię: Chciałbym także skomentować kwestię MBR, pierwszego sektora itp. W ostatnich latach wszystko stało się nieco bardziej skomplikowane. Teraz bardziej właściwe jest mówienie o EFI.

    „Tabela partycji GUID (GPT) to standardowy format umieszczania tablic partycji na fizycznym dysku twardym. Jest częścią Extensible Firmware Interface (EFI), standardu zaproponowanego przez firmę Intel w celu zastąpienia przestarzałego BIOS-u, jednego z ostatnich reliktów oryginalnego IBM PC. EFI używa GPT, podczas gdy BIOS używa głównego rekordu rozruchowego (MBR)...."

  • Poprosili nas także, abyśmy pamiętali o LILO. LILO, pamiętamy o Tobie! Cześć!
  • Xpeh dodaje, że „BIOS (i (U)EFI, o których tu nie wspomniano) zajmuje się przede wszystkim inicjowaniem urządzeń (w tym ładowaniem własnych BIOS-ów urządzeń PCI), nic na ten temat nie jest napisane. Chociaż ta rola stopniowo maleje, w miarę jak coraz więcej sprzętu inicjuje się samoczynnie i/lub obsługuje podłączanie na gorąco i dlatego nadal jest inicjowany przez system operacyjny, ale na przykład zawsze inicjuje pamięć RAM. „
  • VolCh wyjaśnia pobieranie dla systemu operacyjnego Debian-Ubuntu:
    Dla Debiana/Ubuntu:
    - nie ma katalogu /etc/rc.d/;
    - katalogi /etc/rc?.d/ są prawdziwymi katalogami, a nie linkami;
    - te katalogi przechowują linki do skryptów w katalogu /etc/init.d/

    Lepiej nie edytować niczego ręcznie w /etc/rc?.d/, tylko skorzystać z komendy update-rc.d, która pozwala tworzyć linki, usuwać je, zabraniać (a właściwie zmienić ich nazwę z S* na K*) i pozwolić im (od K* do S*) wystartować.

Linux, jak każdy inny system operacyjny, uruchamia się w kilku głównych etapach: -> Rozruch przed systemem -> Podstawowy program ładujący Linuksa-> Dodatkowy moduł ładujący -> Ładowanie przestrzeni użytkownika ( W TYM).

Takie podejście jest potrzebne ze względu na fakt, że system operacyjny jest strukturą złożoną logicznie, dlatego jego załadowanie jest dość trudne dla komputera. W oparciu o tę złożoność i niezrozumiałość zrodził się pomysł podzielenia procesu ładowania systemu operacyjnego na bardziej elementarne etapy. Pierwszy stopień jest najprostszy i najlżejszy dla komputera, a ostatni jest największy i najcięższy.

Rozważ ładowanie przed systemem

Zadaniem rozruchu przed systemem jest wybór sposobu ładowania jądra systemu operacyjnego.

Użytkownik może dokładnie wybrać sposób niezależnego ładowania jądra. Aby wybrać, potrzebujesz specjalny system kierownictwo. Ten system kontroli jest zwykle nazywany ładowarka. W Linuksa najpopularniejszymi i najczęściej używanymi programami ładującymi są programy ładujące LILO (program ładujący Linuksa) i program ładujący GRUB (Grand Unified Bootloader). Dają użytkownikowi możliwość wyboru wstępnie skonfigurowanego typu pobierania. Oba te programy ładujące mają opcje interfejsu tekstowego (konsola) i graficznego. Głównym i kluczowym zadaniem takich programów ładujących jest załadowanie jądra i wszystkiego, co niezbędne do pomyślnego uruchomienia systemu, do pamięci komputera.

W tych ustawieniach możesz wybrać standardowy rozruch systemu operacyjnego Linux, który możesz wywołać narzędzie systemowe(mały program specjalnego przeznaczenia), określ, które programy mają być aktywowane podczas ładowania systemu operacyjnego i wiele, wiele więcej.

W ten prosty sposób opracowaliśmy moduł ładujący jądro systemu operacyjnego Linuksa«!

Linux może być przydatny z wielu powodów. Na przykład Twoje stary komputer nie mogę zaktualizować do nowych Wersje Windowsa lub macOS, potrzebujesz aplikacji specyficznych dla systemu Linux lub po prostu chcesz spróbować czegoś nowego. A może właśnie kupiłeś nowy komputer bez systemu operacyjnego i chcesz zaoszczędzić pieniądze, wybierając darmowego Linuksa.

Instalacja Linuksa jest łatwa. Istnieją oczywiście dystrybucje takie jak Arch, które są dość trudne do zainstalowania dla początkującego. Ale większość nowoczesnych dystrybucji jest bardzo łatwa w instalacji. Być może nawet prostsze i szybsze niż Windows.

Przed zainstalowaniem Linuksa na głównym komputerze wykonaj kopię ważnych danych. Podczas pracy z partycjami na dysku twardym możesz przypadkowo usunąć coś ważnego. Oczywiście, jeśli postępujesz zgodnie z instrukcjami i uważnie czytasz, co robisz, nie wydarzy się nic nieoczekiwanego. Ale w żadnym wypadku nie jest to zbyteczne.

Możesz zainstalować Linuksa na uruchomionych komputerach Sterowanie Windowsem i macOS lub puste dysk twardy. Możesz wybrać Linuksa jako swój główny system lub używać go równolegle ze starym systemem.

1. Pobierz dystrybucję Linuksa

Przede wszystkim musisz wybrać dystrybucję Linuksa. Ocena DistroWatch.com pomoże Ci podjąć decyzję.

Następnie musisz pobrać wybraną dystrybucję. Jest to łatwe: otwórz witrynę żądanej dystrybucji, znajdź sekcję pobierania i wybierz tę, która odpowiada pojemności bitowej Twojego procesora.

Zazwyczaj, Dystrybucje Linuksa Oficjalne strony internetowe oferują dwa sposoby pobierania. Pierwsza metoda to normalne pobieranie. Drugi sposób odbywa się poprzez P2P przy użyciu klienta torrent. Druga metoda jest oczywiście szybsza. Wybierz go, jeśli chcesz zaoszczędzić czas.

Po pobraniu pakietu dystrybucyjnego w formacie ISO należy go nagrać na płytę CD lub zwykły dysk flash USB.

Można nagrać na CD standardowe środki system: „Nagraj obraz dysku” Windows lub „Narzędzie dyskowe” macOS. Wystarczy kliknąć pobrany obraz kliknij prawym przyciskiem myszy myszką i wybierz odpowiednią pozycję w menu.

Aby nagrać ISO na dysk flash, będziesz potrzebować specjalne narzędzia. Dla Windows jest lepszy wybierz Rufus, a dla systemu macOS - UNetbootin. Programy te mają bardzo prosty interfejs, dość trudno się w nich pomylić.

3. Przygotuj partycję dysku

Ten krok należy wykonać, jeśli chcesz zachować system zainstalowany na sobie i jednocześnie używać Linuksa. Jeśli zdecydujesz się całkowicie przełączyć komputer na system Linux lub instalujesz system operacyjny na pustym dysku twardym, pomiń ten akapit.

Okna

Otwórz Zarządzanie dyskami systemu Windows. Wybierz dysk lub partycję, z której chcesz wydzielić trochę miejsca na instalację Linuksa. W przypadku większości dystrybucji 10 GB jest więcej niż wystarczające. Jeśli jednak planujesz zainstalować wiele aplikacji, pobierz ich więcej. Kliknij partycję prawym przyciskiem myszy i wybierz opcję Zmniejsz wolumin. Wprowadź rozmiar i kliknij OK.

Proces ten może zająć dość dużo czasu, dlatego należy uzbroić się w cierpliwość.

Kiedy Zarządzanie dyskami zakończy zmianę rozmiaru partycji, na dysku pozostanie puste, nieprzydzielone miejsce, zaznaczone na czarno. Zainstalujemy tam Linuksa.

Później, jeśli nie potrzebujesz Linuksa, możesz usunąć za jego pomocą partycje i oddać wolne miejsce systemowi Windows, korzystając z tego samego narzędzia do zarządzania dyskami.

System operacyjny Mac

Możesz przydzielić miejsce na instalację Linuksa za pomocą „ Narzędzie dyskowe" System operacyjny Mac. Wybierz dysk i kliknij ikonę „+”, aby utworzyć partycję dla systemu Linux. Utworzenie nowej partycji może zająć trochę czasu.

4. Przygotuj program ładujący

Okna

Ten punkt dotyczy tylko nowych komputerów z preinstalowanym systemem Windows 10, 8.1 lub 8. Te komputery korzystają z modułu ładującego UEFI, który nie pozwala na uruchomienie systemu innego niż Windows.

Aby to naprawić, przejdź do ustawień BIOS komputera i wyłącz opcję Bezpiecznego rozruchu. Następnie uruchom ponownie. Gotowe, możesz teraz pobrać i zainstalować inne systemy obok systemu Windows.

System operacyjny Mac

W przeciwieństwie do większości komputerów, komputer Mac wymaga kilku dodatkowych kroków, aby zainstalować system Linux przy podwójnym rozruchu z systemem macOS.

Przede wszystkim wyłącz SIP. Uruchom ponownie komputer Mac i naciśnij Cmd + R. The Menu odzyskiwania. Wybierz w nim „Terminal” i wpisz csrutil wyłącz .

Uruchom ponownie komputer Mac ponownie. SIP jest wyłączony.

podręcznik

Odpowiedni, jeśli chcesz samodzielnie ustawić rozmiary swoich partycji lub na przykład utworzyć oddzielną partycję na swoje pliki. Aby to zrobić, wybierz „Inna opcja” i kliknij „Kontynuuj”.

Linux wyświetli partycje, które masz na swoim komputerze. Możesz je usunąć, sformatować lub odwrotnie, pozostawić sekcje z informacjami, które chcesz zachować, nienaruszone.

Aby zainstalować Linuksa zamiast systemu, wybierz partycję z zainstalowanego systemu i usuń go przyciskiem „–”. Następnie utwórz nowe partycje na wolnej przestrzeni.

  • Partycja główna dla pliki systemowe Linuksa. Wybierz system plików Ext4 i punkt podłączenia /.
  • Partycja wymiany lub partycja wymiany jest przydatna, jeśli nie masz wystarczającej ilości pamięci RAM, ale szybki dysk SSD. Na liście systemów plików wybierz „Zamień partycję”.
  • Partycja domowa, na której będą przechowywane Twoje pliki. Wybierz system plików Ext4 i punkt podłączenia /home.

Kliknij Kontynuuj i potwierdź zmiany. Instalator usunie wybrane partycje i utworzy nowe na wolnej przestrzeni.

Jak zainstalować Linuksa obok obecnego systemu

zainstalować Linux jest w pobliżu w twoim systemie są dwa sposoby.

Automatyczny

Większość instalatorów Linuksa natychmiast wykryje zainstalowane systemy. Jeśli nie utworzyłeś osobnego miejsca na dysku dla systemu Linux, możesz spróbować wybrać opcję „Zainstaluj obok systemu Windows”. Instalator automatycznie utworzy niezbędne partycje i nie będziesz musiał nic robić ręcznie.

podręcznik

Jeśli chcesz samodzielnie określić ile miejsca przeznaczyć dla systemu i postępujesz zgodnie z instrukcjami z kroku 3, kliknij „Inna opcja” i kliknij „Kontynuuj”. Zobaczysz partycje dysku i puste miejsce, które przygotowaliśmy dla systemu Linux. Utwórz tam partycję główną (punkt podłączenia /), jak opisano powyżej. W tym przypadku partycja domowa nie jest konieczna: będziesz mógł kopiować i modyfikować pliki w swoim głównym systemie.

Kliknij Kontynuuj. Instalator pozostawi pliki na miejscu. Po prostu utworzy nowe partycje wolna przestrzeń. Będziesz mógł wybrać, który system chcesz uruchomić przy uruchomieniu.

8. Dokończ instalację Linuksa

Następnie zostaniesz poproszony o przedstawienie się. Wpisz swoje imię i utwórz hasło. Nie zapomnij swojego hasła, ponieważ będziesz go stale potrzebować do wykonywania zadań w imieniu wszystkich. Jeśli chcesz, możesz zaszyfrować swój folder domowy.

Potem po prostu poczekaj. Po zakończeniu instalacji zostaniesz poproszony o wyciągnięcie dysk instalacyjny i uruchom ponownie. Nie zapomnij wyłączyć Ładowanie BIOS-u Z dyski zewnętrzne, jeśli go włączyłeś.

Co zrobić po instalacji

Po ponownym uruchomieniu komputera i pojawieniu się pulpitu systemu Linux możesz robić wszystko, co w systemie Windows i macOS: surfować po Internecie, edytować dokumenty i słuchać muzyki. Nie zapomnij o aktualizacji i zajrzyj do „App Store” (lub jego odpowiednika, w zależności od dystrybucji), aby dodatkowo zainstalować potrzebne aplikacje.

Wypróbuj Linuksa, a przekonasz się, że w życiu codziennym nie jest on trudniejszy niż Windows czy macOS.

dodatkowy program ładujący schemat z Mapa lokalizacji. To spełnia swoje zadanie LILO czynność wymagająca wzmożonej ostrożności ze względu na zmianę procedury załadunku nie atomowy: najpierw użytkownik modyfikuje jądro lub jego moduły, a następnie edytuje plik /etc/ lilo.conf, który zawiera informacje o wszystkich opcjach rozruchu komputera, a następnie uruchamia polecenie lilo, który gromadzi tabele rozmieszczenia dla wszystkich określonych rdzeni i dodatkowy program ładujący i zapisuje podstawowe i ładowacz dodatkowy wraz z mapami w określone miejsce dysk. Podstawowy moduł ładujący LILO(nazywa się LI) można zapisać zarówno w MBR, jak i na początku Sekcja Linuksa.

Najprostszy plik lilo.conf może wyglądać tak:

Boot=/dev/hda map=/boot/map image=/boot/vmlinuz-up root=/dev/hda1 Przykład 10.1. Najprostsza konfiguracja LILO: przykładowy plik lilo.conf

To ustawienie LILO definiuje tylko jedną opcję rozruchu: główny moduł ładujący jest zapisywany na początku pierwszego dysku twardego (linia boot=/dev/ hd), mapa zakwaterowania pożytek lilo zapisuje do pliku /boot/map , jądro jest wyodrębniane z pliku /boot/vmlinuz-up , a wpis root=/dev/hda1 informuje jądro, że główny system plików znajduje się na pierwszej partycji pierwszego dysku.

Do uruchomienia czasami używano jednej z maszyn, przy której Metodiusz pracował jedyny program, napisany dla MS-DOS. Teksty źródłowe Ten program zaginął dawno temu, podobnie jak jego autor, więc musiałem zainstalować na komputerze zarówno MS-DOS, jak i Linuksa. W rezultacie lilo.conf wyszło tak:

# cat /etc/lilo.conf boot=/dev/hda map=/boot/map default=Limit czasu podpowiedzi linux-up=50 image=/boot/vmlinuz-up label=linux-up root=/dev/hda5 initrd= /boot/initrd-up.img obraz tylko do odczytu=/boot/vmlinuz-up label=failsafe root=/dev/hda5 initrd=/boot/initrd-up.img vga=normal append="failsafe noapic nolapic acpi=off " tylko do odczytu inny=/dev/hda1 label=dos other=/dev/fd0 label=dyskietka niebezpieczna Przykład 10.2. Konfigurowanie LILO na maszynie z dwoma systemami

Tutaj Linux został zainstalowany na piątej partycji dysku (numeracja partycji w komputerach kompatybilnych z IBM zostanie omówiona w Wykładzie 11), a MS-DOS został zlokalizowany na pierwszej. Oprócz uruchamiania systemu MS-DOS istnieją dwie opcje uruchamiania systemu Linux i jeszcze jedna - dowolna system operacyjny z dyskietki. Każda opcja pobierania oznaczona jest linią label=option. Na starcie LILO drukuje najprostsze 3 Jeśli zainstalowany jest interfejs graficzny, okno można dowolnie ozdobić. okno zawierające listę wszystkich etykiet (w tym przypadku „linux-up”, „failsafe”, „dos” i „dyskietka”). Użytkownik za pomocą strzałek wybiera potrzebną opcję i naciska Enter. W razie potrzeby użytkownik może ręcznie dodać kilka parametry, zostaną przesłane do jądra systemu. Jeśli użytkownik niczego nie dotknie, to po upływie limitu czasu wybrana zostanie etykieta określona w polu domyślnym.

Jeszcze kilka wyjaśnień. Etykiety Linux-up i Failsafe w przykładzie używają tego samego jądra (vmlinuz-up), ale w drugim przypadku tryb jest ponownie skonfigurowany karta graficzna i dodano parametry, które wyłączają obsługę rozszerzeń sprzętowych opcjonalnych podczas uruchamiania (przetwarzanie wieloprocesorowe, automatyczne zarządzanie energią itp.). Użytkownik może sam wprowadzić linię po append=; są to parametry jądra. Pole initrd= wskazuje, w którym pliku znajduje się punkt wyjścia dysk wirtualny (sekcja poświęcona mu „ Uruchom dysk wirtualny i moduły” tego wykładu) oraz nieco niepokojący napis „ niebezpieczny" (dla etykiety dyskietki) oznacza po prostu, że dyskietka jest urządzeniem wymiennym, więc nie ma znaczenia przy uruchomieniu lilo sprawdź jego poprawność sektor rozruchowy i zrób mapę.

Wreszcie wskazują na to wpisy takie jak other=device LILO nieznany typ system operacyjny, znajdujący się na tym urządzeniu, co oznacza, że ​​nie ma możliwości załadowania jądra. Oczekuje się jednak, że zostanie wykryty w pierwszym sektorze urządzenia Inny główny moduł ładujący, LILO załaduje go i przekaże kontrolę wzdłuż łańcucha. Oto jak MS-DOS ładuje się na tym komputerze: główny moduł ładujący jest pobierany (przez etykietę dos) od początku pierwszej partycji pierwszego dysku.

ŻARCIE

Podsystem rozruchowy ŻARCIE jest bardziej złożony. Ona też ma główny moduł ładujący, który jest zapisywany w pierwszym sektorze dysku lub partycji, oraz ładowacz dodatkowy, położony w system plików. Jednakże Mapa lokalizacji V ŻARCIE zwykle używany tylko dla tak zwanego bootloadera „półtora” („etap 1.5”) - zasadniczo sterownik dla jednego konkretnego system plików. Procedura ładowania wygląda następująco. Podstawowy moduł ładującyładuje półtora zgodnie z tym, co jest w nim napisane mapa zakwaterowania. Ta mapa może być bardzo prosta, ponieważ zwykle półtoratorowy moduł ładujący jest umieszczany bezpośrednio po głównym w kilku sektorach 4 Te. na ścieżce zerowej cylindra zerowego, zaczynając od sektora 2. Ten obszar dysku często nie jest używany systemy plików(patrz wykład 11). w rzędzie lub w innym specjalnie wyznaczonym miejscu poza system plików. Półtora ładowarki potrafi rozpoznać jeden system plików i znajdź już tam drugi nazwa(zwykle /boot/ grub/stage2). Wreszcie, ładowacz dodatkowy, korzystając z możliwości półtora, czyta z pliku /boot/ grub/menu.lst menu, w którym użytkownik może wybrać opcje rozruchu w taki sam sposób jak w LILO. Zatem aktualizacja i ponowna konfiguracja zainstalowanych ŻARCIE nie wymaga ponowne obliczanie map rozmieszczenia i zmienianie czegokolwiek innego niż pliki w katalogu /boot/ żarcie.

Na prośbę Metodego Gurewicza zainstalowano go na maszynie dwusystemowej ŻARCIE. W tym przypadku plik /boot/ grub/menu.lst wyszło tak:

# cat /boot/grub/menu.lst domyślny 0 limit czasu 50 tytuł jądro Linux-up (hd0,4)/boot/vmlinuz-up root=/dev/hda5 initrd (hd0,4)/boot/initrd-up.img tytuł Failsafe kernel (hd0,4)/boot/vmlinuz-up root=/dev/hda5 Failsafe Noapic Nolapic acpi=off initrd (hd0,4)/boot/initrd-up.img tytuł dyskietka root (fd0) chainloader +1 tytuł dos root (hd0,0) program ładujący +1 Przykład 10.3. Konfigurowanie GRUB-a na komputerze z dwoma systemami

Różnica pomiędzy lilo.conf tylko w składni, a także w tym, że dyski twarde i rozdziały na ich temat ŻARCIE nazywa go na swój sposób, w formie (numer_dysku_HDD, numer_partycji) i rozpoczyna numerację od zera. Etykiety („ title ”) są również numerowane od zera, więc wartość domyślna wpisu 0 oznacza, że ​​po upływie limitu czasu pierwsza konfiguracja (według nazwy" linux-up ").!}

Studiowanie instrukcji ŻARCIE, Metody odkrył znacznie ważniejszą różnicę od LILO. Okazuje się, że w ŻARCIE nie tylko parametry, ale także same pliki (jądro, uruchomienie dysku wirtualnego itp.) są rozpoznawane i Ładowanie w trakcie. Zamiast pozycji menu możesz wybierać tryb wiersza poleceń, który wygląda podejrzanie jak bash , w którym możesz wymusić ŻARCIE załaduj inne jądro, które nie jest zalecane w konfiguracji, spójrz na zawartość katalogów system plików, rozpoznawany przez półtoraprogram ładujący, a nawet zawartość tych plików, niezależnie od jakichkolwiek praw dostępu: system nie został jeszcze załadowany. Co więcej, możesz ponownie skonfigurować program ładujący na swój własny sposób i zanotować wyniki ustawień. Nie mając czasu na cieszenie się nieoczekiwaną swobodą, Metody pewnego pięknego dnia odkrył, że wyjście do wiersz poleceń hasło chronione.

Działania jądra systemu Linux podczas procesu rozruchu

Odbywa się to zatem w trzech etapach.

  1. Program ładujący z pamięci ROM określa, z których urządzeń można uruchomić system i ewentualnie monituje użytkownika o wybranie jednego z nich. Pobiera z wybranego urządzenia główny moduł ładujący i przekazuje mu kontrolę.
  2. Podstawowy moduł ładujący określa (i najczęściej wie), gdzie się znajduje ładowacz dodatkowy- duży i ładny inteligentny program. Łatwiej mu to zrobić niż w przypadku programu z ROM-u: po pierwsze, ponieważ dla każdego urządzenia główny moduł ładujący własny, a po drugie, ponieważ można go łatwo zmienić, zmieniając ustawienia systemu rozruchowego. W proponowanym schemacie LILO I ŻARCIE, główny moduł ładujący nie wchodzi w rozmowy z użytkownikiem, lecz od razu ładuje rozmówcę pomocniczego i przekazuje mu kontrolę.
  3. Ładowarka dodatkowa wystarczająco inteligentny, aby wiedzieć, gdzie znajduje się jądro systemu (prawdopodobnie więcej niż jedno), oferuje użytkownikowi kilka opcji rozruchu do wyboru, a nawet, w przypadku ŻARCIE, pozwala ustawić własne opcje rozruchu. Jego zadaniem jest załadowanie do pamięci jądra i wszystkiego, co niezbędne do uruchomienia systemu (czasami modułów, czasem uruchomienie dysku wirtualnego), skonfiguruj to wszystko i przekaż kontrolę do jądra.

Jądro jest zarówno mózgiem, jak i sercem Linuksa. Wszystkie czynności, których nie można powierzyć odrębnemu podzadaniu (procesowi) systemu, wykonywane są przez jądro. Dostępem do pamięci RAM, sieci, dysku i innych urządzeń zewnętrznych zarządza jądro. Jądro uruchamia i rejestruje procesy oraz zarządza podziałem czasu pomiędzy nimi.