Η διαδικασία εκκίνησης Linux - 6 βήματα που περιγράφονται λεπτομερώς

Ένα λειτουργικό σύστημα (OS) είναι το λογισμικό χαμηλού επιπέδου που διαχειρίζεται πόρους, ελέγχει περιφερειακά και παρέχει βασικές υπηρεσίες σε άλλο λογισμικό. Στο Linux, υπάρχουν 6 διαφορετικά στάδια στην τυπική διαδικασία εκκίνησης.

1. BIOS

Το BIOS σημαίνει βασικό σύστημα εισόδου / εξόδου. Με απλά λόγια, το BIOS φορτώνει και εκτελεί το πρόγραμμα φόρτωσης εκκίνησης Master Boot Record (MBR).

Όταν ενεργοποιείτε για πρώτη φορά τον υπολογιστή σας, το BIOS πραγματοποιεί πρώτα ελέγχους ακεραιότητας του σκληρού δίσκου ή του SSD.

Στη συνέχεια, το BIOS αναζητά, φορτώνει και εκτελεί το πρόγραμμα φόρτωσης εκκίνησης, το οποίο μπορείτε να βρείτε στο Master Boot Record (MBR). Το MBR είναι μερικές φορές σε USB stick ή CD-ROM, όπως με μια ζωντανή εγκατάσταση του Linux.

Μόλις εντοπιστεί το πρόγραμμα φόρτωσης εκκίνησης, στη συνέχεια φορτώνεται στη μνήμη και το BIOS δίνει τον έλεγχο του συστήματος σε αυτό.

2. MBR

Το MBR σημαίνει Master Boot Record και είναι υπεύθυνο για τη φόρτωση και εκτέλεση του GRUB boot loader.

Το MBR βρίσκεται στον 1ο τομέα του δίσκου με δυνατότητα εκκίνησης, ο οποίος είναι συνήθως /dev/hdaή /dev/sda, ανάλογα με το υλικό σας. Το MBR περιέχει επίσης πληροφορίες σχετικά με το GRUB ή το LILO σε πολύ παλιά συστήματα.

3. GRUB

Μερικές φορές ονομάζεται GNU GRUB, το οποίο είναι σύντομο για το GNU GRand Unified Bootloader, είναι ο τυπικός φορτωτής εκκίνησης για τα περισσότερα σύγχρονα συστήματα Linux.

Η οθόνη εκκίνησης GRUB είναι συχνά το πρώτο πράγμα που βλέπετε κατά την εκκίνηση του υπολογιστή σας. Έχει ένα απλό μενού όπου μπορείτε να ορίσετε μερικές επιλογές. Εάν έχετε εγκαταστήσει πολλές εικόνες πυρήνα, μπορείτε να χρησιμοποιήσετε το πληκτρολόγιό σας για να επιλέξετε αυτό που θέλετε να εκκινήσει το σύστημά σας. Από προεπιλογή, επιλέγεται η τελευταία εικόνα του πυρήνα.

Η οθόνη εκκίνησης θα περιμένει λίγα δευτερόλεπτα για να επιλέξετε και να επιλέξετε. Εάν δεν το κάνετε, θα φορτώσει την προεπιλεγμένη εικόνα του πυρήνα.

Σε πολλά συστήματα μπορείτε να βρείτε το αρχείο διαμόρφωσης GRUB στο /boot/grub/grub.confή /etc/grub.conf. Ακολουθεί ένα παράδειγμα ενός απλού grub.confαρχείου:

#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img

4. Πυρήνας

Ο πυρήνας αναφέρεται συχνά ως ο πυρήνας οποιουδήποτε λειτουργικού συστήματος, συμπεριλαμβανομένου του Linux. Έχει απόλυτο έλεγχο σε όλα του συστήματός σας.

Σε αυτό το στάδιο της διαδικασίας εκκίνησης, ο πυρήνας που επιλέχθηκε από το GRUB τοποθετεί πρώτα το ριζικό σύστημα αρχείων που καθορίζεται στο grub.confαρχείο. Στη συνέχεια εκτελεί το /sbin/initπρόγραμμα, το οποίο είναι πάντα το πρώτο πρόγραμμα που θα εκτελεστεί. Μπορείτε να το επιβεβαιώσετε με το αναγνωριστικό διαδικασίας (PID), το οποίο θα πρέπει πάντα να είναι 1.

Στη συνέχεια, ο πυρήνας δημιουργεί ένα προσωρινό ριζικό σύστημα αρχείων χρησιμοποιώντας το Initial RAM Disk (initrd) μέχρι να εγκατασταθεί το πραγματικό σύστημα αρχείων.

5. Init

Σε αυτό το σημείο, το σύστημά σας εκτελεί προγράμματα runlevel. Σε ένα σημείο θα αναζητούσε ένα αρχείο init, το οποίο συνήθως βρέθηκε για /etc/inittabνα αποφασίσει το επίπεδο εκτέλεσης του Linux.

Τα σύγχρονα συστήματα Linux χρησιμοποιούν το systemmd για να επιλέξουν ένα επίπεδο εκτέλεσης. Σύμφωνα με την TecMint, αυτά είναι τα διαθέσιμα επίπεδα εκτέλεσης:

Το επίπεδο εκτέλεσης 0 αντιστοιχεί στο poweroff.target (και το runlevel0.target είναι ένας συμβολικός σύνδεσμος για το poweroff.target ).

Το επίπεδο εκτέλεσης 1 αντιστοιχεί με το save.target (και το runlevel1.target είναι ένας συμβολικός σύνδεσμος για το save.target ).

Το επίπεδο εκτέλεσης 3 μιμείται το multi-user.target (και το runlevel3.target είναι ένας συμβολικός σύνδεσμος για το multi-user.target ).

Το επίπεδο εκτέλεσης 5 μιμείται το graphicical.target (και το runlevel5.target είναι ένας συμβολικός σύνδεσμος προς το graphicical.target ).

Το επίπεδο εκτέλεσης 6 μιμείται το reboot.target (και το runlevel6.target είναι ένας συμβολικός σύνδεσμος για το reboot.target ).

Η κατάσταση έκτακτης ανάγκης συνδυάζεται με το emergency.target .

Το systemmd θα ξεκινήσει να εκτελεί προγράμματα runlevel.

6. Προγράμματα Runlevel

Ανάλογα με την διανομή Linux που έχετε εγκαταστήσει, ενδέχεται να μπορείτε να δείτε διάφορες υπηρεσίες να ξεκινούν. Για παράδειγμα, μπορεί να πιάσετε starting sendmail …. OK.

Αυτά είναι γνωστά ως προγράμματα runlevel και εκτελούνται από διαφορετικούς καταλόγους ανάλογα με το επίπεδο εκτέλεσης. Κάθε ένα από τα 6 επίπεδα εκτέλεσης που περιγράφονται παραπάνω έχει τον δικό του κατάλογο:

  • Επίπεδο εκτέλεσης 0 - /etc/rc0.d/
  • Επίπεδο εκτέλεσης 1 - /etc/rc1.d/
  • Επίπεδο εκτέλεσης 2 - /etc/rc2.d/
  • Επίπεδο εκτέλεσης 3 - /etc/rc3.d/
  • Επίπεδο εκτέλεσης 4 - /etc/rc4.d/
  • Επίπεδο εκτέλεσης 5 - /etc/rc5.d/
  • Τρέξιμο επίπεδο 6 - /etc/rc6.d/

Σημειώστε ότι η ακριβής τοποθεσία αυτών των καταλόγων ποικίλλει από διανομή σε διανομή.

Αν κοιτάξετε στους διαφορετικούς καταλόγους επιπέδου εκτέλεσης, θα βρείτε προγράμματα που ξεκινούν είτε με "S" είτε "K" για εκκίνηση και σκοτώστε, αντίστοιχα. Τα προγράμματα εκκίνησης εκτελούνται κατά την εκκίνηση του συστήματος και σκοτώνουν προγράμματα κατά τον τερματισμό.

Αυτό είναι ό, τι πρέπει να γνωρίζετε για τη διαδικασία εκκίνησης του Linux. Τώρα βγείτε εκεί και κάντε τον Tux περήφανο.