Инициализация ядра

Инициализация ядра

Мне интересно, что это за сообщения, которые появляются при загрузке Linux.
Как называется этот экран?
Что означает весь этот прокручивающийся текст?

Ошибок нет, но мне просто интересно, что это значит.

решение1

В целом текстовые сообщения, появляющиеся во время загрузки, делятся на две основные категории:вывод инициализации ядраизапуск/вывод состояния службы.

Инициализация ядра

Вывод инициализации ядра часто отключается по умолчанию в современных дистрибутивах путем передачи quietпараметра командной строки ядра. В прошлом он чаще всего отображался при загрузке, что необычно для помощи в устранении неполадок при загрузке. Теперь, когда Linux стал более зрелым, проблемы с загрузкой встречаются относительно редко, поэтому их скрытие по умолчанию помогает снизить перегрузку пользователя информацией. КакД. Шлахтер указал, эти сообщения можно просмотреть позже с помощью dmesgкоманды, и они обычно регистрируются в файлах, хранящихся в /var/log, на раннем этапе процесса запуска службы (в основном для содействия восстановлению в случае сбоя системы до того, как все будет запущено, предоставляя доступ к сведениям об инициализации ядра для системы из альтернативной среды, например, с живого или аварийного компакт-диска).

Примеры сообщений инициализации ядра:

  • Карта ОЗУ используемых/неиспользуемых/зарезервированных и т. д. областей памяти
  • Сведения о ЦП, MTRR, метрики калибровки цикла задержки («BogoMIPS»)
  • Инициализация оборудования (контроллеры для таких вещей, как ACPI, PCI, USB; результаты сканирования аппаратных шин, сканирования разделов диска, ...; ...)

Запуск сервиса

После инициализации ядра управление процессом загрузки передается пользовательскому процессу, называемому init. Обычно в Linux это /sbin/init, хотя можно передать ядру другой путь init с помощью параметра, init=...который будет выполнен вместо него. Этот процесс управляет запуском неядерных процессов; такие вещи, как сетевые подключения, регистрация системных событий, управление вентилятором, монтирование файловых систем (как локальных, так и удаленных), мониторинг жесткого диска, аудио, серверные процессы, мониторинг ИБП и батареи ноутбука, шаговое изменение частоты ЦП и т. д. запускаются через скрипты, выполняемые init. В какой-то момент init запустит некий процесс, который позволяет войти в систему; это может быть текстовый процесс входа на консоли, сервер SSH или менеджер отображения, который, в свою очередь, запускает X Window.

Это та часть запуска, где на текстовом загрузочном дисплее вы обычно видите множество запускаемых процессов, которые каким-то образом сообщают о том, что они запущены успешно, с более или менее (обычно менее) подробным диагностическим выводом между ними.

А потом...?

После запуска всех служб система готова к использованию. В этот момент вы входите в систему и начинаете работать.

Но что это значит?

Ваш вопрос также включает:

Что означает весь этот бегущий текст?

Ошибок нет, но мне просто интересно, что это значит.

К сожалению, его слишком много, и он слишком изменчив между системами, чтобы можно было дать хороший ответ на вопрос «что все это значит?». Если вы медленно просмотрите его сверху донизу, имея некоторые знания о компоновке оборудования системы, то обычно вполне возможно определить, к чему на самом деле относятся различные сообщения инициализации ядра и что они означают. Если есть какой-то конкретный вывод, который вы просто не можете понять, даже после попытки поиска в Интернете соответствующих ключевых слов или даже всей строки, вам лучше спросить конкретно об этом сообщении и предоставить контекст, в котором оно появляется (нетвесь вывод загрузки, если только кто-то специально не попросит об этом; около дюжины строк до и после обычно вполне достаточно, чтобы установить контекст любого сообщения инициализации ядра).

Помните, что Linux при загрузке делает в основном то же самое, что и любая другая операционная система: определяет базовую конфигурацию системы, сканирует оборудование, загружает все соответствующие драйверы (если только они не встроены в ядро, в этом случае они уже загружены), инициализирует оборудование и продолжает работу, в конечном итоге запуская процессы, которые обеспечивают осмысленный пользовательский интерфейс или позволяют системе выполнять свои обязанности. Windows делает в основном то же самое во время процесса загрузки, за исключением того, что она не сообщает вам, что она делает, поэтому, если что-то пойдет не так, у нее будет гораздо меньше информации, чтобы сообщить вамчтонеправильно.

Помните о различии между обязанностями ядра и обязанностями различных служб (включая init), и обычно достаточно ясно, какая часть за что отвечает.

решение2

То, что вы видите, обычно сильно зависит от вашего конкретного компьютера и дистрибутива Linux — вы можете прочитать весь текст на досуге с помощью команды dmesg (например, dmesg | lessзапущенной в терминале). Обычно его называют «экраном загрузки» или «экраном запуска».

Я не думаю, что есть какой-то один источник, чтобы все выяснить — лучше всего работает поиск в Google по ключевым словам из интересных записей.[1].

решение3

В некотором смысле это аналогично проверке автомобиля перед поездкой. Мы проверяем топливо, аккумулятор, шины и т. д. Аналогично Linux подготавливает компьютер к использованию, просматривая доступное оборудование и загружая необходимые модули при запуске или загрузке. Для многих это неинтересно. Тем не менее, Linux дает пользователю возможность увидеть, если что-то пошло не так при запуске... Пользователи Windows имеют возможность просмотреть эту процедуру при запуске, и отсюда странное чувство...

Связанный контент