Skip to content

Latest commit

 

History

History
64 lines (41 loc) · 21.2 KB

101_2.md

File metadata and controls

64 lines (41 loc) · 21.2 KB

101.2 Загрузка системы

Студент должен разбираться в процессе загрузки системы.

Изучаем :

  • команды и опции загрузчика;
  • настройку последовательности загрузки в BIOS;
  • включение и выключение ПК;
  • стили инициализации системы;
  • журналы загрузки системы.

Термины и утилиты:** **

  • dmesg
  • BIOS
  • bootloader
  • kernel
  • initramfs
  • init
  • SysVinit
  • systemd

Процесс загрузки любой операционной системы, представляющий собой последовательную работу ряда программных и аппаратных компонентов ПК, будет рассмотрен в этом уроке.

Вкратце процесс загрузки выглядит так:

  • при старте ПК процессор переходит на адрес BIOS (UEFI) и загружает его;

  • BIOS (или современный UEFI) проводит необходимые проверки, выбирает согласно своим настройкам носитель информации;

  • на носителе находит MBR (или GPT для UEFI) в которой находится загрузчик;

  • дальше по обстоятельствам: загрузчик может загружать ОС, может передать управление следующему загрузчику по цепочке;

  • в любом случае загрузчик знает где лежит ядро ОС, грузит его и InitialRamDisk (там конфигурационные файлы и модули необходимые для загрузки ядра) в оперативную память;

  • загруженное ядро берет дальнейший процесс запуска на себя (инициализация устройств, конфигурирование процессора, памяти и т.д.)

  • после всех инициализационных процедур ядро запускает процедуры инициализации всех необходимых служб ОС.

Рисунок 1. Порядок загрузки ОС

Существуют различные загрузчик ОС, например Lilo и Grub для Linux, NTLDR для Windows и т.д. Все они, как правило, имеют файл конфигурации самого загрузчика (формат диалога загрузки, таймауты для выбора варианта загрузки, поле для ввода дополнительных опций и т.д.) и секцию доступных для загрузки образов ОС.

Подробно стили инициализации и загрузчики рассматриваются в дальнейших уроках. Для успешного освоения данной темы необходимо знать, что в момент загрузки можно нажать выделенные клавиши (как, правило, отличающиеся у разных загрузчиков), и выбрать ОС для запуска или указать дополнительные опции загрузки.

При работе с загрузчиком можно увидеть следующие понятия:

  • uuid – идентификатор носителя информации с установленной ОС;
  • kernel – путь к ядру ОС;
  • initrd – путь к минимальному образу ядра для загрузки в оперативную память;
  • quiet – не показывать процесс загрузки;
  • splash – показать заставку при загрузке.

Вся информация о загрузке хранится в журнале /** var / log / dmesg**(журнал событий ядра), при этом данные о последней загрузке можно получить, выполнив командуdmesg . Также события загрузки могут располагаться в журнале / var / log / boot . log . В современных ОС события загрузки можно увидеть при помощи утилиты journalctl , например командой journalctl -b0 SYSLOG_PID=1

Процесс инициализации системы будет рассмотрен подробно в дальнейших уроках, на данном этапе нужно знать о существование трех стилей инициализации:

  • SysV – родительский процесс инициализации системы на одном из заданных уровней запуска (runlevel);
  • systemd – родительский процесс инициализацию системы в ускоренном режиме, за счёт параллельного запуска задач;
  • upstart – родительский процесс инициализации системы на основе отслеживания событий.