Wat gebeurt er als een server opstart: BIOS/UEFI, POST en de overdracht aan je OS
Kort antwoord
Een server aanzetten zet een vaste reeks stappen in gang: firmware voert een Power-On Self-Test (POST) uit om de kernhardware te controleren, BIOS- of UEFI-firmware initialiseert die hardware en draagt de controle over aan een bootloader, de bootloader laadt de kernel van het besturingssysteem, en de kernel neemt het vanaf daar over, start drivers en de services die het OS bruikbaar maken. Elke fase draagt pas over aan de volgende zodra ze zelf is geslaagd, en dat is precies waarom een mislukte opstart vaak direct wijst naar de fase waar het vastliep.
Stap 1: POST, de eigen gezondheidscheck van de hardware
Zodra een server wordt aangezet, nog voordat er een besturingssysteem in beeld komt, voert de firmware de Power-On Self-Test uit. POST controleert of de hardware waar het systeem van afhankelijk is om überhaupt te kunnen opstarten, ook echt aanwezig is en werkt: de CPU, het geheugen, en genoeg van de storage- en peripheral-bus om verder te kunnen. Vindt POST iets ernstig mis, een ontbrekende geheugenmodule, een CPU die niet reageert, dan stopt het proces meestal meteen, vaak gemeld met een beepcode of een POST-foutcode op een diagnostisch display, omdat er geen veilige manier is om verder te gaan zonder die hardware.
Stap 2: firmware initialiseert het platform (BIOS of UEFI)
Als POST is geslaagd, neemt de systeemfirmware, het klassieke BIOS of de moderne opvolger UEFI, het initialiseren van de rest van het platform over: de chipset configureren, storage- en netwerkcontrollers inventariseren, en uitzoeken wat er allemaal is aangesloten, nog voordat er iets in de buurt van een besturingssysteem komt kijken. Zodra dat klaar is, is het de taak van de firmware om een geldig opstartdoel te vinden en de controle daaraan over te dragen.
UEFI versus klassiek BIOS, kort
UEFI is de moderne standaard en heeft het klassieke BIOS op actuele server- en desktophardware in de praktijk vervangen. Een paar praktische verschillen laten zien waarom:
- Opstartsnelheid. UEFI initialiseert hardware doorgaans sneller en draagt sneller over aan het OS dan het meer sequentiële opstartproces van klassiek BIOS uit het 16-bit-tijdperk.
- Schijfgrootte. Klassiek BIOS start op vanaf schijven die zijn gepartitioneerd met het oudere MBR-schema, wat een opstartschijf begrenst op 2TB. UEFI werkt met GPT-partitionering, waarmee dat plafond wegvalt, relevant voor elke server met grote opstartvolumes.
- Secure Boot. UEFI ondersteunt Secure Boot, dat controleert of de bootloader en kernel die worden geladen cryptografisch zijn ondertekend door een vertrouwde autoriteit voordat ze mogen draaien, een bescherming waar klassiek BIOS geen equivalent voor heeft.
Stap 3: de bootloader laadt de kernel
Firmware laadt niet rechtstreeks een besturingssysteem. Het zoekt een klein programma, de bootloader, dat op een vaste locatie op de opstartschijf staat, en draagt de controle daaraan over. Op Linux-systemen is dat meestal GRUB; op Windows is het de Windows Boot Manager. De taak van de bootloader is beperkt maar essentieel: de kernel van het besturingssysteem vinden, die in het geheugen laden, de benodigde opstartparameters meegeven, en ernaartoe springen. Op een systeem met meer dan één geïnstalleerd OS of meerdere kernelversies is dit ook de fase waarin een opstartmenu je laat kiezen.
Stap 4: de kernel neemt het over
Zodra de kernel draait, verdwijnen firmware en bootloader naar de achtergrond. De kernel initialiseert de drivers voor de hardware waar hij nu directe controle over heeft, koppelt het rootbestandssysteem, en start het eerste systeemproces, dat op zijn beurt de services, het netwerk en al het andere opstart wat het OS daadwerkelijk bruikbaar maakt. Vanaf het moment dat dat eerste userspace-proces start, draait de machine het besturingssysteem dat je hebt geïnstalleerd, in plaats van firmware uit te voeren.