Όταν ενεργοποιούμε έναν υπολογιστή με Linux, συμβαίνει μια σειρά από διαδικασίες που φέρνουν το σύστημα σε πλήρη λειτουργία. Ας εξετάσουμε βήμα-βήμα αυτή τη διαδικασία:
1. Power On – Ενεργοποίηση
Όταν πατάτε το κουμπί ενεργοποίησης στον υπολογιστή, η μητρική πλακέτα λαμβάνει ηλεκτρική ενέργεια και ξεκινά η διαδικασία εκκίνησης.
2. BIOS/UEFI – Το βασικό σύστημα εισόδου/εξόδου
Το BIOS (Basic Input/Output System) ή το πιο σύγχρονο UEFI (Unified Extensible Firmware Interface) είναι το πρώτο λογισμικό που τρέχει στον υπολογιστή. Αυτό:
- Εκτελεί το POST (Power-On Self-Test) για να ελέγξει ότι το hardware λειτουργεί σωστά
- Αναζητά συσκευές από τις οποίες μπορεί να εκκινήσει το σύστημα (σκληρός δίσκος, USB, δίκτυο κ.λπ.)
- Φορτώνει ρυθμίσεις από τη non-volatile memory
3. GRUB – Το boot loader
Το GRUB (Grand Unified Bootloader) είναι το πρόγραμμα που:
- Εμφανίζει το μενού επιλογών εκκίνησης (αν έχετε πολλά λειτουργικά συστήματα ή διαφορετικές εκδόσεις πυρήνα)
- Διαβάζει τις ρυθμίσεις από το αρχείο
/etc/grub2.cfg
- Φορτώνει τον επιλεγμένο πυρήνα (kernel) του Linux στη μνήμη
4. Ο πυρήνας (Kernel) του Linux
Ο πυρήνας είναι ο “εγκέφαλος” του λειτουργικού συστήματος. Όταν φορτωθεί:
- Αρχικοποιεί όλο το hardware του συστήματος
- Φορτώνει τους απαραίτητους drivers (οδηγούς συσκευών)
- Φορτώνει τις υποστηριζόμενες βιβλιοθήκες
- Δημιουργεί την εικονική μνήμη (virtual memory)
- Ξεκινά το πρώτο πρόγραμμα χρήστη, το
systemd
(στη πλειονότητα των σύγχρονων διανομών)
5. Το systemd – Ο διαχειριστής συστημάτων και υπηρεσιών
Το systemd είναι το πρώτο πρόγραμμα που εκτελείται σε χώρο χρήστη και έχει την ευθύνη για:
- Εκτέλεση του
default.target
(που συνήθως είναι συμβολικός σύνδεσμος προς τοmulti-user.target
ήgraphical.target
) - Ξεκίνημα όλων των απαραίτητων υπηρεσιών (services) με τη σωστή σειρά
- Διαχείριση των διαδικασιών και των dependencies μεταξύ τους
6. Τα επίπεδα εκκίνησης (Targets)
Τα targets είναι παρόμοια με τα παλιά “runlevels” και ορίζουν το επίπεδο λειτουργίας του συστήματος:
basic.target
: Βασικές υπηρεσίες του συστήματοςmulti-user.target
: Πολλαπλοί χρήστες με κονσόλα (χωρίς γραφικό περιβάλλον)graphical.target
: Γραφικό περιβάλλον (αν είναι εγκατεστημένο)getty.target
: Ενεργοποιεί τις εικονικές κονσόλες για σύνδεση χρηστών
7. Τα σενάρια εκκίνησης
Μετά την εκκίνηση των βασικών υπηρεσιών, το σύστημα:
- Εκτελεί τα σενάρια στο
/etc/profile
(γενικές ρυθμίσεις για όλους τους χρήστες) - Εκκινεί την υπηρεσία
systemd-logind
για διαχείριση συνδέσεων χρηστών - Είναι έτοιμο να δεχτεί συνδέσεις χρηστών
Σημείωση: Στις σύγχρονες διανομές Linux, το systemd έχει αντικαταστήσει το παραδοσιακό σύστημα init SysV. Αν χρησιμοποιείτε μια παλιά διανομή, μπορεί να δείτε διαφορές στη διαδικασία εκκίνησης.

Συμπέρασμα
Η διαδικασία εκκίνησης του Linux είναι μια καλά οργανωμένη ακολουθία βημάτων που εξασφαλίζει ότι όλα τα στοιχεία του συστήματος – από το hardware μέχρι τις υπηρεσίες και τις εφαρμογές – ξεκινούν με τη σωστή σειρά και λειτουργούν αρμονικά. Κάθε βήμα βασίζεται στο προηγούμενο, δημιουργώντας μια ιεραρχική διαδικασία που οδηγεί σε ένα πλήρως λειτουργικό σύστημα.
Πηγή άρθρου: https://planet.ellak.gr/ , https://eiosifidis.blogspot.com