Процес завантаження Linux - 6 кроків, докладно описаних

Операційна система (ОС) - це програмне забезпечення низького рівня, яке управляє ресурсами, керує периферійними пристроями та надає основні послуги іншому програмному забезпеченню. У Linux існує 6 різних етапів типового процесу завантаження.

1. BIOS

BIOS розшифровується як Базова система введення / виводу. Простіше кажучи, BIOS завантажує та виконує завантажувач Master Boot Record (MBR).

При першому увімкненні комп'ютера BIOS спочатку виконує деякі перевірки цілісності жорсткого диска або твердотільного диска.

Потім BIOS шукає, завантажує та виконує програму завантажувача, яку можна знайти в Master Boot Record (MBR). MBR іноді знаходиться на USB-накопичувачі або компакт-диску, наприклад, під час інсталяції Linux.

Після виявлення програми завантажувача вона завантажується в пам’ять, і BIOS дає їй контроль над системою.

2. MBR

MBR розшифровується як Master Boot Record і відповідає за завантаження та виконання завантажувача GRUB.

MBR знаходиться в 1 - му секторі завантажувального диска, який , як правило /dev/hda, або /dev/sda, в залежності від вашого обладнання. MBR також містить інформацію про GRUB, або LILO у дуже старих системах.

3. ГРУБ

Іноді 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, який зазвичай можна знайти на /etc/inittabрівні запуску Linux.

Сучасні системи Linux використовують systemmd для вибору натомість рівня запуску. За даними TecMint, це доступні рівні запуску:

Рівень запуску 0 відповідає poweroff.targetrunlevel0.target є символічним посиланням на poweroff.target ).

Рівень запуску 1 відповідає методу rescue.targetrunlevel1.target є символічним посиланням на rescue.target ).

Рівень запуску 3 емулює multi-user.targetrunlevel3.target є символічним посиланням на multi-user.target ).

Рівень запуску 5 імітується graphical.targetrunlevel5.target є символічним посиланням на graphical.target ).

Рівень запуску 6 емулює reboot.targetrunlevel6.target є символічним посиланням на reboot.target ).

Надзвичайна ситуація поєднується з urgent.target .

Потім systemmd розпочне виконання програм на рівні запуску.

6. Програми рівня запуску

Залежно від того, який дистрибутив Linux ви встановили, ви можете бачити різні сервіси на початку роботи. Наприклад, ви можете зловити starting sendmail …. OK.

Вони відомі як програми рівня запуску і виконуються з різних каталогів залежно від рівня запуску. Кожен з 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. А тепер виходьте туди і робіть Тукса гордим.