Mi történik pontosan, amikor bekapcsolja a számítógépét?

Amikor bekapcsolja a számítógépet, az „boot-up” folyamaton megy keresztül – ez a kifejezés a „bootstrap” szóból ered. Íme, mi történik a háttérben – akár Windows PC-t, Mac vagy Linux rendszert használ.

A hardver bekapcsol

Ha megnyomja a bekapcsológombot, a számítógép árammal látja el összetevőit – az alaplapot, a CPU-t, a merevlemezeket, a szilárdtestalapú meghajtókat, a grafikus processzorokat és minden mást, ami a számítógépben található.

Az áramellátást biztosító hardvert „tápegységnek” nevezik. Egy tipikus asztali számítógépen belül úgy néz ki, mint egy doboz a ház sarkában (a fenti képen a sárga dolog), és oda kell csatlakoztatni a hálózati tápkábelt.

A CPU betölti az UEFI-t vagy a BIOS-t

Most, hogy van áram, a CPU inicializálja magát, és keres egy kis programot, amelyet általában az alaplapon lévő chipben tárolnak.

A múltban a PC-re valami úgynevezett BIOS-t (Basic Input/Output System) töltöttek be. A modern PC-ken a CPU UEFI (Unified Extensible Firmware Interface) firmware-t tölt be helyette. Ez a régi típusú BIOS modern helyettesítője. De hogy ez még zavaró legyen, egyes PC-gyártók továbbra is „BIOS”-nak hívják az UEFI szoftverüket.

Az UEFI vagy a BIOS teszteli és inicializálja a hardvert

A BIOS vagy az UEFI firmware az alaplap egy speciális helyéről tölti be a konfigurációs beállításokat – hagyományosan ezt a memóriában CMOS akkumulátorral támogatták. Ha módosít néhány alacsony szintű beállítást a BIOS vagy az UEFI beállítások képernyőjén, ez az egyéni beállítások tárolási helye.

A CPU az UEFI-t vagy a BIOS-t futtatja, amely teszteli és inicializálja a rendszer hardverét – beleértve magát a CPU-t is. Például, ha a számítógépe nem rendelkezik RAM-mal, hangjelzést ad, és hibaüzenetet jelez, leállítva a rendszerindítási folyamatot. Ezt a folyamatot POST (Power On Self Test) néven ismerik.

A folyamat során a számítógép gyártójának logója megjelenhet a képernyőn, és gyakran megnyomhat egy gombot a BIOS vagy az UEFI beállítások képernyőjének eléréséhez. Sok modern számítógép azonban olyan gyorsan átmegy ezen a folyamaton, hogy nem zavarja a logó megjelenítését, és hozzá kell férnie az UEFI beállítási képernyőjéhez a Windows rendszerindítási beállítások menüjéből.

Az UEFI sokkal többre képes, mint a hardver inicializálása; ez tényleg egy pici operációs rendszer. Például az Intel CPU-k Intel Management Engine-t tartalmaznak. Ez számos funkciót biztosít, beleértve az Intel Active Management Technology tápellátását, amely lehetővé teszi az üzleti számítógépek távoli kezelését.

Az UEFI vagy a BIOS átadja a rendszerindító eszközt

Miután befejezte a hardver tesztelését és inicializálását, az UEFI vagy a BIOS átadja a számítógép indításának felelősségét az operációs rendszer rendszertöltőjének.

Az UEFI vagy a BIOS „indítóeszközt” keres az operációs rendszer indításához. Ez általában a számítógép merevlemeze vagy szilárdtestalapú meghajtója, de lehet CD, DVD, USB-meghajtó vagy hálózati hely is. A rendszerindító eszköz az UEFI vagy a BIOS beállítási képernyőjén konfigurálható. Ha több rendszerindító eszköze van, az UEFI vagy a BIOS megpróbálja átadni nekik az indítási folyamatot a felsorolás sorrendjében. Így például, ha van egy rendszerindító DVD-lemez az optikai meghajtóban, a rendszer megpróbálhat onnan indulni, mielőtt a merevlemezről próbálná meg elindítani.

Hagyományosan a BIOS az MBR-t (master boot record) vizsgálta, amely egy speciális rendszerindító szektor a lemez elején. Az MBR olyan kódot tartalmaz, amely betölti az operációs rendszer többi részét, amelyet „bootloadernek” neveznek. A BIOS végrehajtja a rendszerbetöltőt, amely onnan veszi, és megkezdi a tényleges operációs rendszer – például a Windows vagy a Linux – indítását.

Az UEFI-vel rendelkező számítógépek továbbra is használhatják ezt a régi stílusú MBR rendszerindítási módszert az operációs rendszer indítására, de általában EFI végrehajtható fájlt használnak helyette. Ezeket nem kell a lemez elején tárolni. Ehelyett az úgynevezett „EFI rendszerpartíción” vannak tárolva.

Akárhogy is, az elv ugyanaz: a BIOS vagy az UEFI megvizsgál egy tárolóeszközt a rendszeren, hogy keressen egy kis programot, akár az MBR-ben, akár egy EFI-rendszerpartíción, és lefuttatja azt. Ha nincs indítható rendszerindító eszköz, a rendszerindítási folyamat meghiúsul, és megjelenik egy hibaüzenet a kijelzőn.

A modern számítógépeken az UEFI firmware általában „Biztonságos rendszerindításra” van konfigurálva. Ez biztosítja, hogy az elindított operációs rendszert ne manipulálják, és ne töltsön be alacsony szintű rosszindulatú programokat. Ha a Secure Boot engedélyezve van, az UEFI indítása előtt ellenőrzi, hogy a rendszerbetöltő megfelelően aláírva van-e.

A rendszerbetöltő betölti a teljes operációs rendszert

A rendszerbetöltő egy kis program, amelynek nagy feladata az operációs rendszer többi részének elindítása. A Windows a Windows Boot Manager (Bootmgr.exe) nevű rendszerbetöltőt használja, a legtöbb Linux rendszer a GRUB-ot, a Macek pedig a boot.efi nevű programot használják.

Ha probléma van a rendszerbetöltővel – például, ha a fájljai sérültek a lemezen –, megjelenik egy rendszerbetöltő hibaüzenet, és a rendszerindítási folyamat leáll.

A rendszerbetöltő csak egy kis program, és nem kezeli egyedül a rendszerindítási folyamatot. Windows rendszeren a Windows Boot Manager megtalálja és elindul a Windows OS Loader. Az operációs rendszer betöltője betölti a kernel – a Windows operációs rendszer központi része – futtatásához szükséges alapvető hardver-illesztőprogramokat, majd elindítja a kernelt. A kernel ezután betölti a rendszerleíró adatbázist a memóriába, és betölt minden további hardver-illesztőprogramot is, amelyek „BOOT_START” jelzéssel vannak ellátva, ami azt jelenti, hogy rendszerindításkor be kell tölteni őket. A Windows kernel ezután elindítja a munkamenet-kezelő folyamatot (Smss.exe), amely elindítja a rendszermunkamenetet, és betölti a további illesztőprogramokat. Ez a folyamat folytatódik, és a Windows betölti a háttérszolgáltatásokat, valamint az üdvözlőképernyőt, amely lehetővé teszi a bejelentkezést.

Linuxon a GRUB rendszertöltő betölti a Linux kernelt. A kernel elindítja az init rendszert is – ez a legtöbb modern Linux disztribúció rendszere. Az init rendszer kezeli az indító szolgáltatásokat és egyéb felhasználói folyamatokat, amelyek egészen a bejelentkezési promptig vezetnek.

Ez az érintett folyamat csak egy módja annak, hogy mindent helyesen töltsön be, ha a dolgokat a megfelelő sorrendben hajtja végre.

Egyébként az úgynevezett „indító programok” valójában akkor töltődnek be, amikor bejelentkezel a felhasználói fiókodba, nem pedig a rendszer indításakor. Néhány háttérszolgáltatás (Windows rendszeren) vagy démon (Linux és macOS rendszeren) azonban a háttérben indul el, amikor a rendszer elindul.

A leállítási folyamat is meglehetősen bonyolult. Pontosan ez történik, ha leállítja a Windows PC-t, vagy kijelentkezik onnan.

Kép jóváírása: Suwan Waenlor/Shutterstock.com, DR-képek/Shutterstock.com,