Управление загрузкой
Процедура загрузки
При старте устройства происходит POST (Power-On Self Test), проверяющий работоспособность аппаратных компонентов
После этого происходит загрузка BIOS или UEFI в зависимости от системы
Независимо от типа загрузки в предыдущей стадии далее загружается GRUB
GRUB Bootloader загружает ядро, позволяя через меню при необходимости изменить параметры этой загрузки
Ядро загружается вместе с initramfs, который содержит необходимые для пуска системы драйвера
После загрузки ядра работу перехватывает systemd, который проходит через две фазы:
Старт базовых компонентов (примонтирование девайсов, разделов)
Старт сервисов и служб
Далее пользователь получает доступ к системе и возможность залогиниться
Grub2 Runtime
Runtime - параметры, применяемые только в текущем сеансе, до следующей перезагрузки
Из меню Grub2 необходимо нажать "e" для изменения настроек
При нажатии "с" совершается переход в командный режим Grub
Из командного режима "help" отобразит доступные опции
Grub2 по-умолчанию дает возможность выбрать для загрузки три последних ядра
Одной из опций является Rescue Kernel - ядро с ограниченном набором модулей, но с максимальной вероятностью безпроблемной загрузки
По-умолчанию набор опций следующий:
load_video - загрузка видеодрайвера
set gfx_payload=keep - режим видео
insmod gzio - активация модуля сжатия
linux ($root)/<kernel> - ядро для загрузки
root=/dev/mapper/rhel-root ro
crash/kernel=auto - запись дампа сбоя
lvm <volume>
rhgb - redhat graphical boot
quiet - без вывода информации
initrd /dev/initram<name>.img - initram образ
Grub2 Persistent
Persistent - настройки, которые сохраняются при перезагрузке
Данные параметры настраиваются в /etc/default/grub
После внесения изменений в настройки необходимо пересобрать grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg для BIOS систем
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg для EFI систем
Systemd таргеты
Таргет systemd - группа файлов инициализации загрузки
Часть трагетов - изолируемые (isolatable), они определяют конечное состояние, в котором загружается система
emergency.target - для загрузки минимального набора сервисов, используется для отладки проблем
rescue.target - также ограниченный набор сервисов, но с большим их числом
multi-user.target - обынчый запуск без графики
graphical.target - обычный запуск с графикой
При активации юнита, он добавляется к определенному таргету
Параметры самого таргета можно посмотреть через systemctl
Все сервисы, которые привязаны к таргету отображаются как симлинки в /etc/systemd/system/<name>.target
Зависимости таргетов доступны в systemctl list-dependencies
Настройка Default таргета
systemctl get-default отображает текущий таргет по-умолчанию
systemctl set-default устанавливает таргет по-умолчанию
systemctl start graphical.target - загрузит GUI
Загрузка в нужный таргет:
В grub2 использовать systemctl.unit=<name>.target в параметрах загрузки
В текущей системе systemctl isolate <name>.target
Last updated
Was this helpful?