Загрузчик связывает обнаружение прошивкой с выполнением ядра. На ПК с Linux распространён GRUB, но systemd-boot, U-Boot, загрузка прошивкой ядра с EFI stub и другие схемы реализуют разные части этой роли.
Загрузка системы · Урок 3
Процесс загрузки: Загрузчик
Узнайте, как загрузчик выбирает артефакты Linux, формирует командную строку ядра и передаёт управление.
Выбор загрузочных артефактов
Запись загрузчика может указывать:
- образ ядра Linux;
- необязательный образ initramfs или устаревший initrd;
- командную строку ядра;
- платформенные метаданные или загрузчик другой ОС.
GRUB может показывать несколько ядер и вариантов восстановления. Резервное ядро полезно лишь тогда, когда совместимые модули и initramfs остаются доступными и проверенными. Загрузчик читает файлы через собственные модули хранения и файловых систем, не опираясь на ещё не запущенную VFS Linux.
Кому загрузчик Linux обычно передаёт управление?
Параметры командной строки ядра
Загрузчик передаёт текстовую командную строку, которую разбирают ядро и раннее пространство пользователя. Распространённые примеры:
root=...задаёт будущую корневую файловую систему или спецификацию источника для раннего пространства пользователя;roилиrwзапрашивают исходный режим монтирования корня;quietуменьшает количество сообщений ядра в консоли;init=...запрашивает другую первую программу пространства пользователя для специального восстановления;- параметры
rd.*конкретного дистрибутива интерпретируются инструментами initramfs.
initrd обычно является директивой загрузчика с именем образа, а не универсальным параметром ядра. BOOT_IMAGE= может встречаться в строке некоторых конфигураций GRUB, но не служит механизмом загрузки ядра.
Посмотрите командную строку текущей загрузки:
$ cat /proc/cmdline
Для чего предназначен параметр командной строки ядра root=?
Что обычно запрашивает параметр quiet?
Временное редактирование и восстановление
GRUB часто позволяет авторизованному пользователю консоли изменить запись на одну загрузку через указанную в меню клавишу. Это полезно для удаления quiet, выбора параметров восстановления или исправления неверного идентификатора корня. Интерфейс и авторизация различаются, особенно при Secure Boot и защищённой паролем конфигурации GRUB.
Командная строка может раскрыть чувствительный текст через /proc/cmdline, журналы загрузки и отчёты о сбоях. Параметры также способны ослабить защиту или сделать систему незагружаемой. Не помещайте туда секреты и сохраняйте исправную запись и консольный путь восстановления.
Что обычно верно для интерактивного изменения записи GRUB на одну загрузку?
Постоянная конфигурация GRUB
Дистрибутивы обычно генерируют итоговую конфигурацию GRUB из шаблонов, значений по умолчанию, сценариев и обнаруженных ядер. Не редактируйте созданный grub.cfg напрямую, если дистрибутив явно не предписывает этот способ: следующая генерация может стереть правку.
Внесите ограниченное изменение в исходную конфигурацию, выполните документированную команду генерации дистрибутива, проверьте вывод и тестируйте, сохранив старую исправную запись и загрузочный носитель восстановления. Команда и путь вывода различаются в Debian, Fedora и установках UEFI и BIOS.
Почему прямое редактирование сгенерированного grub.cfg обычно ненадёжно?
Используйте лабораторию Настройка меню загрузки GRUB2 только в учебной среде с возможностью восстановления.
Урок завершён
Вы завершили Процесс загрузки: Загрузчик
Теперь вы умеете отличать директивы загрузчика от параметров командной строки ядра.
Определять ядро, initramfs, командную строку и альтернативные записи.
Применять
root=,roиquietсогласно их настоящим ролям.Смотреть параметры текущей загрузки через
/proc/cmdline.Считать интерактивные правки временными и чувствительными для безопасности.
Менять постоянную генерируемую конфигурацию через процесс дистрибутива.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт