Co dokładnie dzieje się po włączeniu komputera?

Po włączeniu komputer przechodzi przez proces „rozruchu” – termin, który pochodzi od słowa „bootstrap”. Oto, co dzieje się w tle – niezależnie od tego, czy używasz komputera z systemem Windows, Mac czy Linux.

Sprzęt włącza się

Po naciśnięciu przycisku zasilania komputer dostarcza zasilanie do swoich komponentów – płyty głównej, procesora, dysków twardych, dysków półprzewodnikowych, procesorów graficznych i wszystkiego innego w komputerze.

Element sprzętu dostarczającego energię nazywany jest „zasilaczem”. Wewnątrz typowego komputera stacjonarnego wygląda jak pudełko w rogu obudowy (żółta rzecz na powyższym obrazku) i to tam podłączasz kabel zasilający.

Procesor ładuje UEFI lub BIOS

Teraz, gdy ma prąd, procesor inicjuje się i szuka małego programu, który jest zwykle przechowywany w chipie na płycie głównej.

W przeszłości komputer ładował coś, co nazywa się BIOS (podstawowy system wejścia / wyjścia). Na nowoczesnych komputerach procesor ładuje zamiast tego oprogramowanie układowe UEFI (Unified Extensible Firmware Interface). Jest to nowoczesny zamiennik starego BIOS-u. Aby jednak było to jeszcze bardziej zagmatwane, niektórzy producenci komputerów PC i tak nazywają swoje oprogramowanie UEFI „BIOS”.

UEFI lub BIOS testuje i inicjuje sprzęt

Oprogramowanie układowe BIOS lub UEFI ładuje ustawienia konfiguracyjne ze specjalnego miejsca na płycie głównej – tradycyjnie było to w pamięci podtrzymywanej przez baterię CMOS. Jeśli zmienisz niektóre ustawienia niskiego poziomu na ekranie ustawień BIOS lub UEFI, tutaj są przechowywane ustawienia niestandardowe.

Procesor uruchamia UEFI lub BIOS, który testuje i inicjuje sprzęt systemu – w tym sam procesor. Na przykład, jeśli twój komputer nie ma pamięci RAM, wyda sygnał dźwiękowy i wyświetli błąd, zatrzymując proces rozruchu. Nazywa się to procesem POST (Power On Self Test).

Podczas tego procesu na ekranie może pojawić się logo producenta komputera i często możesz nacisnąć przycisk, aby uzyskać dostęp do ekranu ustawień systemu BIOS lub UEFI. Jednak wiele nowoczesnych komputerów przechodzi ten proces tak szybko, że nie zawraca sobie głowy wyświetlaniem logo i wymaga dostępu do ekranu ustawień UEFI z menu Opcje rozruchu systemu Windows.

UEFI może zrobić dużo więcej niż tylko inicjalizować sprzęt; to naprawdę mały system operacyjny. Na przykład procesory Intel mają Intel Management Engine. Zapewnia to różnorodne funkcje, w tym technologię Intel Active Management Technology, która umożliwia zdalne zarządzanie komputerami biznesowymi.

UEFI lub BIOS Hands Off to urządzenie rozruchowe

Po zakończeniu testowania i inicjalizacji sprzętu UEFI lub BIOS przekaże odpowiedzialność za uruchomienie komputera do programu ładującego systemu operacyjnego.

UEFI lub BIOS szuka „urządzenia rozruchowego”, z którego można uruchomić system operacyjny. Zwykle jest to dysk twardy lub dysk SSD komputera, ale może to być również dysk CD, DVD, napęd USB lub lokalizacja sieciowa. Urządzenie rozruchowe można konfigurować z poziomu ekranu konfiguracji UEFI lub BIOS. Jeśli masz wiele urządzeń rozruchowych, UEFI lub BIOS próbuje przekazać im proces uruchamiania w kolejności, w jakiej są wymienione. Na przykład, jeśli w napędzie optycznym znajduje się bootowalna płyta DVD, system może spróbować rozpocząć od tego, zanim spróbuje uruchomić z dysku twardego.

Tradycyjnie BIOS patrzył na MBR (główny rekord rozruchowy), specjalny sektor rozruchowy na początku dysku. MBR zawiera kod, który ładuje resztę systemu operacyjnego, zwany „programem ładującym”. BIOS uruchamia program ładujący, który pobiera go stamtąd i rozpoczyna ładowanie rzeczywistego systemu operacyjnego – na przykład Windows lub Linux.

Komputery z UEFI mogą nadal używać tej starej metody rozruchu MBR do uruchamiania systemu operacyjnego, ale zwykle używają czegoś, co nazywa się plikiem wykonywalnym EFI. Nie muszą być one przechowywane na początku dysku. Zamiast tego są przechowywane na czymś, co nazywa się „partycją systemową EFI”.

Tak czy inaczej, zasada jest taka sama – BIOS lub UEFI sprawdza urządzenie magazynujące w systemie w celu wyszukania małego programu w MBR lub na partycji systemowej EFI i uruchamia go. Jeśli nie ma rozruchowego urządzenia rozruchowego, proces uruchamiania się nie powiedzie, a na ekranie pojawi się komunikat o błędzie z informacją o tym.

Na nowoczesnych komputerach oprogramowanie układowe UEFI jest zwykle skonfigurowane pod kątem „Bezpiecznego rozruchu”. Gwarantuje to, że uruchamiany system operacyjny nie został zmodyfikowany i nie załaduje złośliwego oprogramowania niskiego poziomu. Jeśli funkcja Secure Boot jest włączona, UEFI sprawdza, czy program ładujący jest poprawnie podpisany przed jego uruchomieniem.

Bootloader ładuje pełny system operacyjny

Program ładujący to mały program, którego zadaniem jest uruchomienie reszty systemu operacyjnego. Windows używa programu ładującego o nazwie Windows Boot Manager (Bootmgr.exe), większość systemów Linux używa GRUB, a Mac używa czegoś o nazwie boot.efi.

Jeśli wystąpi problem z programem ładującym – na przykład jeśli jego pliki są uszkodzone na dysku – zostanie wyświetlony komunikat o błędzie programu ładującego, a proces rozruchu zostanie zatrzymany.

Bootloader to tylko jeden mały program, który sam nie obsługuje procesu uruchamiania. W systemie Windows Menedżer rozruchu systemu Windows znajduje i uruchamia się moduł ładujący systemu operacyjnego Windows. Program ładujący systemu operacyjnego ładuje podstawowe sterowniki sprzętowe wymagane do uruchomienia jądra – podstawowej części systemu operacyjnego Windows – a następnie uruchamia jądro. Jądro następnie ładuje rejestr systemowy do pamięci, a także ładuje wszelkie dodatkowe sterowniki sprzętu, które są oznaczone jako „BOOT_START”, co oznacza, że ​​powinny być ładowane podczas rozruchu. Następnie jądro systemu Windows uruchamia proces menedżera sesji (Smss.exe), który uruchamia sesję systemową i ładuje dodatkowe sterowniki. Ten proces jest kontynuowany, a system Windows ładuje usługi w tle, a także ekran powitalny, który umożliwia zalogowanie się.

W systemie Linux program ładujący GRUB ładuje jądro Linuksa. Jądro uruchamia również system init – jest to systemd w większości nowoczesnych dystrybucji Linuksa. System init obsługuje uruchamianie usług i inne procesy użytkownika, które prowadzą aż do monitu o zalogowanie.

Ten złożony proces jest po prostu sposobem na poprawne ładowanie wszystkiego, wykonując czynności we właściwej kolejności.

Nawiasem mówiąc, tak zwane „programy startowe” w rzeczywistości ładują się podczas logowania się na konto użytkownika, a nie podczas uruchamiania systemu. Jednak niektóre usługi działające w tle (w systemie Windows) lub demony (w systemie Linux i macOS) są uruchamiane w tle podczas uruchamiania systemu.

Proces zamykania jest również dość skomplikowany. Oto dokładnie, co się dzieje, gdy zamykasz lub wylogowujesz się z komputera z systemem Windows.

Źródło zdjęcia: Suwan Waenlor/Shutterstock.com, Obrazy DR/Shutterstock.com,